Bump buildroot to 2019.02

This commit is contained in:
2019-03-28 22:49:48 +01:00
parent 5598b1b762
commit 920d307141
5121 changed files with 78550 additions and 46132 deletions

View File

@@ -40,7 +40,7 @@ class TestATFAllwinner(infra.basetest.BRTest):
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m64"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
@@ -63,7 +63,7 @@ class TestATFMarvell(infra.basetest.BRTest):
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/MarvellEmbeddedProcessors/atf-marvell.git"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="43965481990fd92e9666cf9371a8cf478055ec7c"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="711ecd32afe465b38052b5ba374c825b158eea18"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="a80x0_mcbin"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
@@ -74,7 +74,7 @@ class TestATFMarvell(infra.basetest.BRTest):
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="mvebu_mcbin-88f8040"
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.09"
BR2_TARGET_UBOOT_NEEDS_DTC=y
"""

View File

@@ -0,0 +1,110 @@
import os
import subprocess
import json
import infra.basetest
class TestHardeningBase(infra.basetest.BRTest):
config = \
"""
BR2_powerpc64=y
BR2_powerpc_e5500=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--stable-2018.02-2.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_6=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_PACKAGE_LIGHTTPD=y
BR2_PACKAGE_HOST_CHECKSEC=y
# BR2_TARGET_ROOTFS_TAR is not set
"""
checksec_files = ["usr/sbin/lighttpd", "bin/busybox"]
def checksec_run(self, target_file):
filepath = os.path.join(self.builddir, "target", target_file)
cmd = ["host/bin/checksec", "--output", "json", "--file", filepath]
# Checksec is being used for elf file analysis only. There are no
# assumptions of target/run-time checks as part of this testing.
ret = subprocess.check_output(cmd,
stderr=open(os.devnull, "w"),
cwd=self.builddir,
env={"LANG": "C"})
return json.loads(ret)
class TestRelro(TestHardeningBase):
config = TestHardeningBase.config + \
"""
BR2_RELRO_FULL=y
"""
def test_run(self):
for f in self.checksec_files:
out = self.checksec_run(f)
self.assertEqual(out["file"]["relro"], "full")
self.assertEqual(out["file"]["pie"], "yes")
class TestRelroPartial(TestHardeningBase):
config = TestHardeningBase.config + \
"""
BR2_RELRO_PARTIAL=y
"""
def test_run(self):
for f in self.checksec_files:
out = self.checksec_run(f)
self.assertEqual(out["file"]["relro"], "partial")
self.assertEqual(out["file"]["pie"], "no")
class TestSspNone(TestHardeningBase):
config = TestHardeningBase.config + \
"""
BR2_SSP_NONE=y
"""
def test_run(self):
for f in self.checksec_files:
out = self.checksec_run(f)
self.assertEqual(out["file"]["canary"], "no")
class TestSspStrong(TestHardeningBase):
config = TestHardeningBase.config + \
"""
BR2_SSP_STRONG=y
"""
def test_run(self):
for f in self.checksec_files:
out = self.checksec_run(f)
self.assertEqual(out["file"]["canary"], "yes")
class TestFortifyNone(TestHardeningBase):
config = TestHardeningBase.config + \
"""
BR2_FORTIFY_SOURCE_NONE=y
"""
def test_run(self):
for f in self.checksec_files:
out = self.checksec_run(f)
self.assertEqual(out["file"]["fortified"], "0")
class TestFortifyConserv(TestHardeningBase):
config = TestHardeningBase.config + \
"""
BR2_FORTIFY_SOURCE_1=y
"""
def test_run(self):
for f in self.checksec_files:
out = self.checksec_run(f)
self.assertNotEqual(out["file"]["fortified"], "0")

View File

@@ -18,17 +18,17 @@ class TestPostScripts(infra.basetest.BRTest):
infra.filepath("tests/core/post-fakeroot.sh"),
infra.filepath("tests/core/post-image.sh"))
def check_post_log_file(self, path, what):
def check_post_log_file(self, f, what, target_dir):
lines = {}
with open(path, 'rb') as csvfile:
with open(os.path.join(self.builddir, "build", f), 'rb') as csvfile:
r = csv.reader(csvfile, delimiter=',')
for row in r:
lines[row[0]] = row[1]
self.assertEqual(lines["arg1"], os.path.join(self.builddir, what))
self.assertEqual(lines["arg1"], what)
self.assertEqual(lines["arg2"], "foobar")
self.assertEqual(lines["arg3"], "baz")
self.assertEqual(lines["TARGET_DIR"], os.path.join(self.builddir, "target"))
self.assertEqual(lines["TARGET_DIR"], target_dir)
self.assertEqual(lines["BUILD_DIR"], os.path.join(self.builddir, "build"))
self.assertEqual(lines["HOST_DIR"], os.path.join(self.builddir, "host"))
staging = os.readlink(os.path.join(self.builddir, "staging"))
@@ -37,9 +37,12 @@ class TestPostScripts(infra.basetest.BRTest):
self.assertEqual(lines["BR2_CONFIG"], os.path.join(self.builddir, ".config"))
def test_run(self):
f = os.path.join(self.builddir, "build", "post-build.log")
self.check_post_log_file(f, "target")
f = os.path.join(self.builddir, "build", "post-fakeroot.log")
self.check_post_log_file(f, "target")
f = os.path.join(self.builddir, "build", "post-image.log")
self.check_post_log_file(f, "images")
self.check_post_log_file("post-build.log",
os.path.join(self.builddir, "target"),
os.path.join(self.builddir, "target"))
self.check_post_log_file("post-fakeroot.log",
os.path.join(self.builddir, "build/buildroot-fs/tar/target"),
os.path.join(self.builddir, "build/buildroot-fs/tar/target"))
self.check_post_log_file("post-image.log",
os.path.join(self.builddir, "images"),
os.path.join(self.builddir, "target"))

View File

@@ -0,0 +1 @@
name: GIT_HASH

View File

@@ -0,0 +1,4 @@
include $(sort $(wildcard $(BR2_EXTERNAL_GIT_HASH_PATH)/package/*/*.mk))
# Get the git server port number from the test infra
GITREMOTE_PORT_NUMBER ?= 9418

View File

@@ -0,0 +1 @@
sha256 0000000000000000000000000000000000000000000000000000000000000000 bad-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz

View File

@@ -0,0 +1,10 @@
################################################################################
#
# bad
#
################################################################################
BAD_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d
BAD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
$(eval $(generic-package))

View File

@@ -0,0 +1 @@
sha256 d00ae598e9e770d607621a86766030b42eaa58156cb8d482b043969da7963c23 good-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz

View File

@@ -0,0 +1,10 @@
################################################################################
#
# good
#
################################################################################
GOOD_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d
GOOD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
$(eval $(generic-package))

View File

@@ -0,0 +1,10 @@
################################################################################
#
# nohash
#
################################################################################
NOHASH_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d
NOHASH_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
$(eval $(generic-package))

View File

@@ -0,0 +1 @@
name: GIT_REFS

View File

@@ -0,0 +1,4 @@
include $(sort $(wildcard $(BR2_EXTERNAL_GIT_REFS_PATH)/package/*/*.mk))
# Get the git server port number from the test infra
GITREMOTE_PORT_NUMBER ?= 9418

View File

@@ -0,0 +1,2 @@
sha256 70b76187369e47db69dac02c5696e63b35199cd20490fa473d289dd377774613 git-partial-sha1-branch-head-68c197d0879d485f4f6c.tar.gz
sha256 2c1126513651b0d346a4e6d1bb75ac1c9999217e18026302d27bea47b06c7fb2 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-partial-sha1-branch-head
#
################################################################################
GIT_PARTIAL_SHA1_BRANCH_HEAD_VERSION = 68c197d0879d485f4f6c
GIT_PARTIAL_SHA1_BRANCH_HEAD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_PARTIAL_SHA1_BRANCH_HEAD_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 9db079b9e215799d59975db7b2b26671eff1932ee6cf1075296f2ace3e2cb746 git-partial-sha1-reachable-by-branch-317406308d9259e2231b.tar.gz
sha256 fabbc65c442bacb5e69b7adfea6d14fbbfc1327134322efd12771dc84387d507 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-partial-sha1-reachable-by-branch
#
################################################################################
GIT_PARTIAL_SHA1_REACHABLE_BY_BRANCH_VERSION = 317406308d9259e2231b
GIT_PARTIAL_SHA1_REACHABLE_BY_BRANCH_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_PARTIAL_SHA1_REACHABLE_BY_BRANCH_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 f2ef9772f13a9ef9a2c7cde0795e179defb12320d1747fc8d2408748ef5844c2 git-partial-sha1-reachable-by-tag-46bae5b639e5a18e2cc4.tar.gz
sha256 2de87d77a2f226813f2d9bda906e970e4195605cdba6680443c0c04d89c532b6 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-partial-sha1-reachable-by-tag
#
################################################################################
GIT_PARTIAL_SHA1_REACHABLE_BY_TAG_VERSION = 46bae5b639e5a18e2cc4
GIT_PARTIAL_SHA1_REACHABLE_BY_TAG_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_PARTIAL_SHA1_REACHABLE_BY_TAG_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 721143b41b8e56cfd9025833f1602e900a490627db2504e5b4907baa23e0019e git-partial-sha1-tag-itself-2b0e0d98a49c97da6a61.tar.gz
sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-partial-sha1-tag-itself
#
################################################################################
GIT_PARTIAL_SHA1_TAG_ITSELF_VERSION = 2b0e0d98a49c97da6a61
GIT_PARTIAL_SHA1_TAG_ITSELF_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_PARTIAL_SHA1_TAG_ITSELF_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 0fbf7fe935f962ceaafcf8e0ffd25dd2a83752c3f0fd055a942a53f8c9235fa7 git-partial-sha1-tag-points-to-516c9c5f64ec66534d4d.tar.gz
sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-partial-sha1-tag-points-to
#
################################################################################
GIT_PARTIAL_SHA1_TAG_POINTS_TO_VERSION = 516c9c5f64ec66534d4d
GIT_PARTIAL_SHA1_TAG_POINTS_TO_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_PARTIAL_SHA1_TAG_POINTS_TO_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 a21a2507b6d94ad484e49e3a9ae698f672a57469aab8e1779da77df7c9d4d337 git-sha1-branch-head-68c197d0879d485f4f6cee85544722b79e68e59f.tar.gz
sha256 2c1126513651b0d346a4e6d1bb75ac1c9999217e18026302d27bea47b06c7fb2 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-sha1-branch-head
#
################################################################################
GIT_SHA1_BRANCH_HEAD_VERSION = 68c197d0879d485f4f6cee85544722b79e68e59f
GIT_SHA1_BRANCH_HEAD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_SHA1_BRANCH_HEAD_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 8909e76d898e651af0bc23fae4103b87888bfe77448d71aaf1fbec3da97a3ce2 git-sha1-reachable-by-branch-317406308d9259e2231bd0d6ddad3de3832bce08.tar.gz
sha256 fabbc65c442bacb5e69b7adfea6d14fbbfc1327134322efd12771dc84387d507 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-sha1-reachable-by-branch
#
################################################################################
GIT_SHA1_REACHABLE_BY_BRANCH_VERSION = 317406308d9259e2231bd0d6ddad3de3832bce08
GIT_SHA1_REACHABLE_BY_BRANCH_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_SHA1_REACHABLE_BY_BRANCH_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 9b20256a3058221a8e91031f11700d9945ea84e8f328fa8e42e1cb9f7a30e3b2 git-sha1-reachable-by-tag-46bae5b639e5a18e2cc4dc508f080d566baeff59.tar.gz
sha256 2de87d77a2f226813f2d9bda906e970e4195605cdba6680443c0c04d89c532b6 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-sha1-reachable-by-tag
#
################################################################################
GIT_SHA1_REACHABLE_BY_TAG_VERSION = 46bae5b639e5a18e2cc4dc508f080d566baeff59
GIT_SHA1_REACHABLE_BY_TAG_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_SHA1_REACHABLE_BY_TAG_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 7d301c1a1054d6aee49193ca9e938f4da561ff73fb01719662865aa38bdc4361 git-sha1-tag-itself-2b0e0d98a49c97da6a618ab36337e2058eb733a2.tar.gz
sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-sha1-tag-itself
#
################################################################################
GIT_SHA1_TAG_ITSELF_VERSION = 2b0e0d98a49c97da6a618ab36337e2058eb733a2
GIT_SHA1_TAG_ITSELF_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_SHA1_TAG_ITSELF_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 c1f9f5734529a31140a71c031534460811f001b4db37d26833f386358150ab47 git-sha1-tag-points-to-516c9c5f64ec66534d4d069c2e408d9ae4dce023.tar.gz
sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-sha1-tag-points-to
#
################################################################################
GIT_SHA1_TAG_POINTS_TO_VERSION = 516c9c5f64ec66534d4d069c2e408d9ae4dce023
GIT_SHA1_TAG_POINTS_TO_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_SHA1_TAG_POINTS_TO_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 f9d46ff8a1a344c6c31fa4211220f3085c446abd31626232540703158276f22c git-submodule-disabled-a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f.tar.gz
sha256 ba8b6ddc4726bfb6a05045ebfd8c43263c968ad1bc601bd46a25bc055008eddc file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-submodule-disabled
#
################################################################################
GIT_SUBMODULE_DISABLED_VERSION = a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f
GIT_SUBMODULE_DISABLED_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_SUBMODULE_DISABLED_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1 @@
sha256 139a34c3c844c844dee74b6746418cfa75fbcc4205794ac8c0b3cd7d55a76792 git-submodule-enabled-a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f.tar.gz

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-submodule-enabled
#
################################################################################
GIT_SUBMODULE_ENABLED_VERSION = a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f
GIT_SUBMODULE_ENABLED_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_SUBMODULE_ENABLED_GIT_SUBMODULES = YES
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 85dcb5bcf9bed496688d0eb01c7a3ce05c5b46b984cc1e9e76a6dbefd976e6b3 git-tag-mytag.tar.gz
sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-tag
#
################################################################################
GIT_TAG_VERSION = mytag
GIT_TAG_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_TAG_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,2 @@
sha256 04715901977503d1df650e0959f4d31d8e7b105e2ac99a2182e0652b8f13baa1 git-wrong-content-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz
sha256 0000000000000000000000000000000000000000000000000000000000000000 file

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-wrong-content
#
################################################################################
GIT_WRONG_CONTENT_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d
GIT_WRONG_CONTENT_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_WRONG_CONTENT_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1,11 @@
################################################################################
#
# git-wrong-sha1
#
################################################################################
GIT_WRONG_SHA1_VERSION = 0000000000000000000000000000000000000000
GIT_WRONG_SHA1_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git
GIT_WRONG_SHA1_LICENSE_FILES = file
$(eval $(generic-package))

View File

@@ -0,0 +1 @@
objects/*/* binary

View File

@@ -0,0 +1 @@
cb545facf77bbc5f24f95b6d503c338d10b7b717

View File

@@ -0,0 +1,4 @@
[core]
repositoryformatversion = 0
filemode = true
bare = true

View File

@@ -0,0 +1 @@
x­Î˝ Â0@ajOq $:;˛#„X€&8˙…q,S°=íW<=_rćjśv­ĆÖ&‡(˝“:Y§U"e“1a<31>0B#<23>•#9AĎv+.쩆gŞŤW_w†Cý`źżxš3ńŇűŹ 5N¨Ť4*D±é6ŃâźrWnL׺Rç^ű_fĹW`

View File

@@ -0,0 +1 @@
1df823cb8a6d1866148ae50a8009762a9c4c777f

View File

@@ -0,0 +1 @@
objects/*/* binary

View File

@@ -0,0 +1 @@
32d61bae693af7879da63b89a60d3ae67f851e56

View File

@@ -0,0 +1,4 @@
[core]
repositoryformatversion = 0
filemode = true
bare = true

View File

@@ -0,0 +1 @@
x­Î½ Â0@ajOq $:;²#„X€&8ÿ…q,S°=íW<=_ræjœv­ÆÖ&‡(½“:Y§U"e“1a˜0B#ƒ•#9AÏv+.쩆<67>W_w†Cý`Ÿ¿xš3ñÒû<C3BB> 5N¨<4E>-t¨ŦÛDÊ ^¹1-B\y^cèJJ<4A>{í™o`Ì`+

View File

@@ -0,0 +1,2 @@
x­Î=n!†aל ¬5,? i Ã`#‡ÅbqÛg£飴<C2A3>ô}z©ÕZ†Ô³=ŒÎ,5‡hUðä 1È~£µQŠu4É)ì¼~“SÙ<05>yñKHètô$½ó½Ul<55>À縵.ß
aOM¾be¥¶Ý<Ö_¼\+<>#µzÊëLXä3€Øu<C398>üOwb{ÆyRB¼—ëÊij9Oñóå/­â ãxl)

View File

@@ -0,0 +1 @@
e83f6f805bd016b90acafc8702c52d778eb57310

View File

@@ -0,0 +1 @@
objects/*/* binary

View File

@@ -0,0 +1 @@
ref: refs/heads/master

View File

@@ -0,0 +1,4 @@
[core]
repositoryformatversion = 0
filemode = true
bare = true

View File

@@ -0,0 +1 @@
xEŽK!]s~BbŒpã °i *ƒA6s{1³póR©Eåõ<C3A5>`6jWo¦f¶äÉÜ­f²Ö(uDëI²F}`‰Q*Ñ×7ÕRr}4Ê:öG‰\3…+\Bëy¡úyf8¶MNå/Ï©„üšFæ4NàÁ'ÑÁ¢ L3

View File

@@ -0,0 +1 @@
x╜н;N1@Qj╞бхъ▄█P■ п░<©Ob▐▒ЦЛ·H)ХМ)╝.ЖжЙтчМ_Ф`жЛPьЛ⌠╛bОDь╨` ╒┤┌°RfУ┐╥╘аЫT, Rr▒б▐я9Л┼)XKы░┌Ш╪Т║?*б═╝ъaл╨a©]╚~Oэ╣_<·тоЖvп6 5гДcж▀Яф╗┤>╕'ЪSN∙^╛R╖zч≤√.╡■Ов©л╙1nS

View File

@@ -0,0 +1 @@
x­Î1n!@Qל ¬Å0àa£(òÒÄ'˜e`<60>“··¥î-·¯øú±ÕZ†F»ÑSÒ1ìrðB )![±~™çƒ‡À<E280A1>(±1 ~¹§mh¶<16>%X/Ž$ ãŒÑ[( ³Åãܺþ*»4ýÉ}”-¶ËwÑïý÷õ<C3B7>ǵrùÙÇV?4xC³pðz2hŒºë}z¤åÔà”:•uK2µœ§åúöÌ©ºÍFkb

View File

@@ -0,0 +1,2 @@
x­ÎKN1EQÆ^…7ÐåBQ6À„¬ º\n¬à6rœ»'æˆéyÒÓ¥ÞZ<C39E>Òû4³dc|ZK
¾pÖœÅV“ÂâˆO¼OéüŠ «·‰udCä2<C3A4>ŠEE•Á?æR ¼Í÷>ä[%¹ËW³îÔ¯—*_ÆÚ/ž¶†õã@½¥D¬\”UJÜõ=ùŸîÄÄÍq®ÛÎyé¥,ë×ó_JÅ7Êle

View File

@@ -0,0 +1 @@
x­Î=N1†ajŸÂØÈ;³ë !'ÏL+x<>Œ)¸=+¥HÑ>Ò÷éåVkÁ?<3F>®j3,cð°¨pˆâ ÍxA&I™R`æºnûp‹óè¢$X“àœÅ‰!AQŒ™ÕEC?ãÒºý(L]š}§>ÊÆíûZìK¿á¡Þñí\©|¸ÕW;¯.¤5¢G;9tÎìºGý§;“;m|cŽå¼©Lítšòïó#±æ$bl·

View File

@@ -0,0 +1 @@
x­ÎM @aלb.Ш”bŒñÃ_<C383>´@¸ðö6qáÞ¸ý/Ï•”¨<E2809D>ÔÓ®ÕÀ˜(ijBEc•Œ(MG?LÜ{ä£ðFh´ Ÿí^*\Éaõ.XeW Á±~°O_<Ï ií]I'Šk£ô´×Ðñ<C390>s¶é6ÑŸrŒ25•±Í9ø®ÄØÙ×á—YölÚ`C

View File

@@ -0,0 +1 @@
a238b1dfcd825d47d834af3c5223417c8411d90d

View File

@@ -0,0 +1 @@
68c197d0879d485f4f6cee85544722b79e68e59f

View File

@@ -0,0 +1 @@
2fa37f6885d7eb746df75eccaddbacf3ac82799d

Some files were not shown because too many files have changed in this diff Show More