herald.go/testdata/Y.csv
Jeffrey Picard 28a299efa8
rocksdb (#29)
* Initial rocksdb commit

Basic reading from rocksdb works

* Try github action thing

* try local dockerfile

* asdf

* qwer

* asdf

* Try adding test db with git-lfs

* update action

* cleanup

* Don't hardcode stop on read

* Progress of reading rocksdb

* fixes and arg test

* asdf

* Fix rocksdb iterator and tests

* update script

* asdf

* Better iterator. Need to implement a lot of keys next, and tests, maybe
tests needed.

* asdf

* asdf

* asdf

* Implementation, testing, and cleanup.

Implemented more prefixes. Figured out a good test that should work for
all prefixes. Removed binary databases so we can just store human
readable csv files.

* more tests, prefixes and small refactor

* Another prefix

* EffectiveAmount

* ActiveAmount

* ActivatedClaimAndSupport

* PendingActivation

* ClaimTakeover

* ClaimExpiration

* SupportToClaim

* ClaimToSupport

* Fix bug with variable length keys

* ChannelToClaim

* ClaimToChannel

* ClaimShortID

* TXOToClaim

* ClaimToTXO

* BlockHeader

* BlockHash

* Undo

* HashXHistory

* Tx and big refactor

* rest the the keys

* Refactor and starting to add resolve

* asdf

* Refactor tests and add column families

* changes

* more work on implementing resolve

* code cleanup, function tests

* small code refactoring

* start building pieces of the test data set for full resolve.

* Export constant, add test

* another test

* TestGetTxHash

* more tests

* more tests

* More tests

* Refactor db functions into three files

* added slice backed stack, need to fix tests

* fix some issues with test suite

* some cleanup and adding arguments and db load / refresh to server command

* fix some bugs, start using logrus for leveled logging, upgrade to go 1.17, run go mod tidy

* logrus, protobuf updates, resolve grpc endpoint

* don't run integration test with unit tests

* signal handling and cleanup functions

* signal handling code files

* Unit tests for db stack

* reorganize bisect function so we lock it properly

* fix txcounts loading

* cleanup some logic around iterators and fix a bug where I was running two detect changes threads

* add some metrics

* cleanup

* blocking and filtering implemented

* add params for blocking and filtering channels and streams

* updates and fixes for integration tests

* use newer version of lbry.go when possible

* Add height endpoint and move string functions internal

* remove gitattributes, unused

* some cleanup

* more cleanup / refactor. almost ready for another review

* More cleanup

* use chainhash.Hash types from lbcd where appropriate

* update github action to go-1.17.8

* update go version needed

* trying to fix these builds

* cleanup

* trying to fix memory leak

* fix memory leak (iterator never finished so cleanup didn't run)

* changes per code review

* remove lbry.go v2

* rename sort.go search.go

* fix test
2022-04-29 11:04:01 -04:00

56 KiB

1Y
25900105b240000005000000000045c39bf4b974ba7f8e0ba89a2f97fcfede52c3304982df810e29a5b98ae0a2682b2b7dae0439b200b3203e3e3faf234614c2b9f02f7a62085e5f1360bd1cc68479e4162e4f7a75f612b80464cc532920d15ebf5cbd1ee4325690e25dd78617bf231adda0eba8fd8f475961dae25f4bf4622d99840fc50c40edb1e3db421ee4bab23967ad315fd486b7b665e140e8d807b3e0c20dc0b14dd9998418fd55e7af515418521a53370709460367f10b6078a0e08d778155807de5cd10e826bf590c6e5c92908b9809ce519b207cb153855d0e0cbad28bc1761807ab3e7da1cf5b1b205f516b320a16a9531e57956ee62ceb21e24a3b31c69ab0a08f9c555712aaa3c644a41381e4b822cb2661234c2ab748e53569cb50c12c1331f70a98e6d088788ec49192bad900d0e71a6c32021d35c267df693a2ed279e940d0ff06b773c826027b4b746b04f17efa52a21ff423b20e0ec95b70d27fa77f790bf07a20f3afa00eec76eb6c0b76569295b98521384f67f7eef957ffc862dff5250c6852a29b83d04a58f8d2ea686dd02c6bc143991a036320e912788ff611a89a17dbea691b5a3478248a736ce76c911e8e62c417f841208d3d780efc80b4b3cb324329253131e13b99132dbbb6c5aa6c1f3273f275b49a434940c370e1e9b7f7ce5f79395c5e642b10877b9fec6293448fa271e37d998ab8047ab4e25e3bb75ae7600bdda7384353c5ff2f60d0d584e8d19116d309053c83f3317f83c12a9aa883a505511b3c58929cb222d718e2b5c6b7e0e70e706ae588ac3b44fa928470cd3621e7d4a1904cc7f27da5a075f4151d360bd3e67ccb2327387b7715bd7b95c3ae8555f9706bff568d28549b8d66ed05fd4905e304ede8cecd88c1193cacd33dd593345b140ef66284e43c529042d6e7afa70393c91cd4a59e13a6e6fd24d8065bad5bd6ce13b88cc74aba8ed1eff6f7fa70df4e1957e1c52d3841c5c78c7a53c404b770a68b7b4e8adfc9a0628f08e5014c67786ea74778fd3d417047900da637ac62ade82bfa80409b578733dfb9f5f116c288d20cec2d9167920c1ca3e7b0b002ce71ff9f9694e07650f10585ff59aefb97ed0c344b76abdc501711af0360cb4f16c4fe3fc7f0abaf080d0bcdd4fc88fb88ed09ef2bb8d1be185ddc9b0a7a9dd4b1be4235870ce47210d301e8a88d81a8bee89a0b109c3f342845924c60211df598a264ba216a3b0d65a7ddb6da14bc98f2ffaf9eb8bfceccb22e5ad44e1ed3213a9a1fbd4f6b6f18b8d0d9ba0e7a96c8370f38d8009180e0e8109eb7492c3c6302f29d84ceb26304b4f1f791962d2bb7d95bca1797f62730d2a5852cafe6546d45784132b9c4f2cda5c2135d90064fafb775fed7587404ae79d78317c7e204153564b1fe597ce3b4c395579f9a2a598dff0fdb18611a5d1471eaa831283db53d3a2f42b4874f8682a573192a9a20ac72ce1ab1b8ba57b78f99afdf756ee9808329114201b6b1c91ffa600be20ed039f8a759a6b8bdbd924d531cd19f2a79f56e40ae710dd62abfe60a9a62eaae46ff5afa8492d2a56ed3b2cba6a6377eb2f1b1679ec3fa4a9c34673a81a50ca75dff70be25a67295a0192e9aaac48f279e928d51ad5d09fe970299019956a0bae3fd524e08be44ca0b91ec95acc6ceb75167dddb41bf54a734413a3646f17c743fd8400ca445944b49318a28c9c30877d274bbb762b26c1f72973f3b4ce6a74ed0b7ca6f091c48c07a50e585ada3995bd80a28332cd28f2a095e8aafdb63057917ef127c0896e0d148894f0ce5c8e0cff0458135e391fbfc72f60df082119bf8e0564ed5174a285fd528386c74108354d051bb76433860bf1e2b504c9b26616c992d843991ed7dfeea144a8d0069000f50a8d8acdd6dfd70b2e7984744f71cb7e9451fbf8bdd263cea84540f7c9a8cd2ca1d0fc586af3a7a22d1d98cf12a5fe4874928625769dbe0b577f397a282842d7e718b1543f348301b0828d697bb061aa803f91db8b6fe6a328ac456c51cedaf9f56968f8791554dc6f2ee395b636b9761b583bb347a7168f03a8e8df092105a548ebc4abe184529250e6cf2208a621dffc1c87e5c7a0c69856571464dfda20e4418db7eddb03451ff947e1e4ee076afd8fcf003ecd9c57f2cf43b86b9d70175dc22dbb9ff7806241d90780f338b21d72528f3368828132f4d11b384a485498f7137c8bbc2028f667f0ab918718447c9610bd30f737faa0a721c337c630b5f498e6610ae8ddb618
35900105b250000004900000000007c6945073c55eab06f4fd75c92adcc2891dec70550790ed91caea4df5836485d8004b3592bc9d6084b06baa5b75bd3d6f23e259cc53e0e53b3c9b40aa4b63d98dc24b84bbe71804fccb20dd613a86a0e3f9b3cf684da9c1e9ed07ccfc88562caf9bc0d113c2b9a400945e623592fef9b7602ba2dcf9b271cecaf55fdb22cda9eee0634f0b0dde039532f2a1e24a3b31c69ab0a08f9c555712aaa3c644a41382748d32215199424fe7e59fd2b3fbabf0641449e2a2c0f3cbc3d0490d1d4b569ac70c3cac8fd7a542b4d3427475f2ae8e0a1e88df5aeedfe1b42af932c30c687b5c38e3b01b7340997306e7f5a3d19cc2d13305cc371cabddd8f80b2962204f3e525c7b32e1a264c0f1041dd6799a3a32f312096ff0ddcd22e3ab1dc4d933e69bfe402beff399aa34c7ab9372e76de1456d80c8fffbf4a0c8d5e67a1291bb5182ee223c564bbfa586684a3dcec513bca3e9abef9321cf662cc7f0cdff3c73baae38b65929490ee56346aa2462d81a7ac6093f8709d972cc6f81ee68b3800aea6f2b79cdcd480820e41fc010448c33238383e98d2993eb5231dba582fe78a0025ea9be1bb39e5a35f6655f0427b8e34a20792074dcfeff0623e23a4ad55db696a9b98494da894f83630b9b91f434f81a1c0206978ff33da2891bb336db3fd75965061ccedd907d84e3c2ecbfc2079e926ebdf335c528f07513d2d8cd61bc8b706826f9a4f158765cf52ac072c4230910d23eb2fd9497e3b0cae916074534ee5e7fccc7bcb155974eb0a0307eee91435af53a410bcc32ecbe0c5ee527f65a2600b7069e39e542076098dbb0b576b6f2192ba22d295676632b45499c784a960d96497151f5e0e8434b84ea5da24551e5684464704b425180fb9c744af7be272484c5618402413b8fae2c85050088fce77a73a90a0905963e56b5863199c31e4ad51cdb947a244cd6c63597320d01bbc7c733b44b25ac68d4a1475b440625c5b0d26497171f8d1af893e10aacd869b4d23ec5de9cc70d0bb68b940048091e50d69fc6399681e5eafd124148b2a29c87758785dca908414b0fbbc6b8a47bf88a2729e5b5b1d72838ead24ba83cadd6ecc5d182d15a5822a93629569f4132df5a87f88709800e5094c4d42cd60022ba323cbe97f0a51a475f479825bd2c2e93a2ffbb2c6cca9a3858cdb21790d6011767d8ae22503a0f2c0f3c4c20369d3317b09db979ba392d56ec9398d378c1cc3a8415b777c6bb5b291366d0215552a5dd0de09591477434486e6e9762ad3fe983b917a42b90d0ef36d2105ef898923e3a2ec0252eb8ee3bfd863a26af12887829547c5807c10fe9d2a6eba46d271a47247aa3596963eb60db339635937ff969f45d0d16eebaef01c964a058bd98d2bbe64bcc961e0a1fc98ebb3ac5d9c5014fd846a62b3c786c92dc9c006cada4b83f39cd04d6328072d1ec0dee001fd943768a4727c349ee86c8e4679cf9482a93171b3bdaccbc7a27953b4e8d595c5bd1d1a387f77f044ee945858138b61b5b8863cb6f41974ff97f116f529e93abb6bd8e6b82758e17261bdd5503add7968a414c9c255ec6dc641f4f34dff8d26eca04ca83b9e3c247f350e68c89604d3acc9910c27748e30947cf621a96651b1c8df6c63d4c1ef507f3d4e8707eee33f7230b5acd2312bf1c6cd4046e2ae8c1a70d045fe227fca5cd34376986bc857846993ff0aa750875bf7cf1b4ad4d66f09e0f71664ffdd8a768f7f42c27e9c12a0d57e6ddc34a55f950d34655a53ca4420e976370adbec69b7fdf2af21329b05f5856c4701a98c508ce5f500cc8c912ef37e6019b6a33facecb4ce4ab2eb33f6fbd788292f54a43dfe3c477b38553da119edac7b45f41fdc2abfc43fd685431e44783d277aedc413a322e414805772d81984a4d3b355923ce2f1ea0eaa714687122f7029f2af6215f99e40b9e2f2cf43b86b9d70175dc22dbb9ff7806241d90780f338b21d72528f3368828132f4d11b384a485498fa1c6164a8a45bdcbcc4f534e1ca901d732d41b0fc2b83a9c6c58299ba158d5c53f5e2502467ff04
45900105b260000003000000001045c39bf4b974ba7f8e0ba89a2f97fcfede52c3309f5642e9919faf4f88c7c951fc16c357db1bc400d8ab6a610b2e8b1b4997c4a98d1e3a76355c6120f02a62991546968baffaa7d77a61f9f9522658a13a3289f440bfec2d489a82bb0844d323f64755e1a9836cc778b8037af464468d60d7c4ad149e7411bea52994765c6f2390b133efb5bd04532c3928d1e8e8bac1d12fa684261fc0c44a1edbd7fed24b91eafbe5256092e09b66ee2ebcb34d14165d1995e238ae669103d049f4ce8b7df054f9183e2c8e8f2239fff78127c34579d143405aa985410aa93d0b029d78ae4065294dc47c1bd9e8892eaa068ef15b73237a30cef912e634cfef138c60b591d9394c2154953cb3dd3d7faecc80cc0333e420a24e3e857dc4974c6bfb157bb6c54a1cb695e32f1c289f6251153dc77332928ac423163c990597edeb594eef35f5a1554f79950df2586073af18fcf4e0f58fbf55a5b61f6a2ebe6dcf365d2c67879a0e8efc04be36068b3b6fc4655680ce3dafe5a4ccd099bf1973f68691fc6e3b5703fc790175fe6f40ab4399e8123876d635e920f3675e3c49243717a0b267f1cb23dd77139fff072addc5ea8815afa9d6cf0ffc338eec17c8db068c0200f58c23039f07f074b9e903acca182141cb806294735ea3a2ca0d94b12e992a6a540829713e7d5c77f3aa07519ac803d8babbc618d8082b7452236c28b23470679cd6c8ad9cc88ca690988a2445e9615cc35ca0f6f163ca4d6fdaf6d3639a1023b4995c5bf36291ded12103881c02b2b6b69a309e0041087498296b610ef66a961c6945f3537ae2890f66ef830bd50b687a1f43a45e88037685dc4ce37edad327a14a517899472957537499d2c07c6dfa83601bf3172d5fb5afe2dcdc61ea65c8913cc1959607b2533f3b25a4d98f0fcf0b3dd1ac387cd5c74432f4a024d38e5d8c19e344e8b5a1a3a48ce01e40cc1c9ed462bf4085a38339815448ff126cf9c1b3d64067fcca905a5ddfaf4b062dfe72f77d38ca541fb39b221a74e25ef485f6813b9560902d60fc3a368cda06eac483bb8b1bda5aceb97a6e8e5303af0dff20a6991eb12fa6bd5c7c39de67200e744bc5e11a5239ea6e02b3b59f6045885284e4fe7922c99696ca911036d6927af0260b910afe33de99c0ecc262375abfc2b9548d9bd0c0d11bb3a71eaecf021ac0468583411ee94875e3fbf8714b9a4f2cf43b86b9d70175dc22dbb9ff7806241d90780f338b21d72528f3368828132f4d11b384a485498f5aa7a2a82939be0b02a8548020e1af42c602683fa45f4e5319e49c9167dda925dd91de1cb526faafaae27de6be7746e88f2388dfa20ff68ad314732320e912788ff611a89a17dbea691b5a3478248a7
55900105b27000000da0000000101116ec75851dcd816bded591191b137ce9107f20133ada95bd53a5f59a8eb6fab8f14e8ec6a628802618822d0369abc1cb183472ed6912de1c3d99d02f04d45eac4893b1f4c0e7ae5ac5cf17a12b50602f6088ab79b20ad4d4d33c69d7ded4d0db58efb04552bb8bfa606aedcebe4c7aa001eaf5d1d0d4b04b1a8a0c0d1e55cee82a2692642ee5a9640569d088ddcf06637263b9ce6281a7afa22a93e5c5628089901be1958860add0db23348b43d6113a649540be9e378a16190a2dc5e883e55ee95fe41bbe0bc0bef6d6396bb79177ac238445bc3e4e3aa9b6d990bf5c83a13d8651e99638ca1d03de71c86f8c5550c652daf26887eeedb06d08464158daa4dbede5b0dc1ab107088703bac89649d2e71fe3ec15d1f660fe966da7fd159e74f319d60f27fa1d953a0ef0c140a59b7bf5f2dfd9cc8a2032a8d520ad1754b811535ab777479f8007b607d7f6977705da5546f2d15418521a53370709460367f10b6078a0e08d778156a0a7af086c4e5d7a0ce24249a8d16792316b916675184c630b36454fffe39b7e53f18cc6ba171167393777f4697aedcd506051944df7bc98b9d3b17a500f8f2277bf688d066181a72ce77ee9a64a118bccb046391537a703471e33f0eacdc34a212eb1a11fdf574daa586a692610eab22697d20372ab11cacc7b706b948740c68d2045a31b233e7584a1d22362d6bf39a2c83c442a43f6e2c3cbf68c687ab24a6ffb0d4b544fdb0cf2414a1d3b9132420c50124c61e3d526233575f3e9ec5d4263d8c4c10cfc2252ae32a01aee52c0fd6b622ee70c110c367ca1f25a244698ef8a860cc3b30aa41744caf69e21d0326cef75435dcd563d3241de75d198820ba726343274c5cfd1b363f471c3a694fdee77f68bd447b61293c58d0fdbd7a9ac5042d8fc2066d2b206b42ac2b73d7c737328698f2395f236fa98f79bbbe3d7e2b7a4ecfcd97170b7c6bfcd9f885f2a3eb3f49da2c4ad24967e26dce2ccd7cf79ab0cf019dd44e2c2c8ef1737a5f3fb35e1d4e591a1af549996dae192dae9c5963ca66141cb7c32d1556729657e06f412f713a2bfbb27347086803533fd0eee2f0ac7c5f2fdc9b143beb30a499688307226d821b7e996457313aeaeda2b4f64ce7caee623756c575983886d13263bd787b61189408d6cc5c2405dbbca4aa457333f208cb0e89c6ef9f71b94b2037d76df1aa1d0b34e5a6ada7b2e65e4ff60cdd1af2640ad9cb2718353e4b91bf10cf51a63131bacda98f30892107b837dd9f337e78408d7c60f3dd3d07594b4e94558637e418f7c63b037d477101fe933619a267cac4603852c145bbb010a8aa347c870de813bf99387c3c38ac22c7fc7f4a767ce831211b3960ca97e3870d390dc96be5a7f639a7f88316c09f9e1ac8bd657639189db21354261cbafd2991dd64a7a45b4fc0e4398e82d320fbaf0f5a43b71a235be04d1666d19a3a2c26c09acd9185cbb99a65f6e33996b740faf24654214371d04c56e1cc6b4677713ab455003f5d4731da3562739d23e5b16954c60ffafe621525ea479b44f41db79126955782974d08210919de55364a9e85dd11d9447b9eab65d68ccf54100d33ff2a4b1364f227a2f397a391e157f371af2e69f5af90505553731c528b3b0d032daa944c10881698a121523195c48fca31f1e3bffea52d7bb668afc62c0852b9f1aeeb9cb56d298084b275f0090b1b41883453a4ad01e1c70d804c91e82c22aae2ebcbb727e353fe2a58a7c835360d71a47a594e8cdea72d6fcc542076098dbb0b576b6f2192ba22d295676632b45577584245321b549e21fecf0f03771e96042a9a55bfec496d134fcd29dc7d8866c704b749b7cf2a55c2630ac5cb39974e15364d8ef23c95df2cf91b56e86eb938c0b93beccde0fbaaead65755139a1056f6ad1734761086639399774fb6f8d9cbbf84bd593e6721a52aa0e4b61b2374683eb8a65a66fe685982f21c0a4ba358a7d3a65ecae9d729766790e35a4d4344a30cc0f6e42856fde3c47a29716660315abb6f45e7b507de0aced89404577f96cd007dd45d4c1f88f3704d28f109577a5cd7715a6719d4735e91fc354de3685bbf37ed7a60217ee7462b16865f626df274a962c8a9c0ec248629f4b9bed0285a60991ff6f7ee0a39ac5d8cf736ede5ea9c94d0cb61870548692bed56e167d5aef7c7304d0641cbe1634195961cc852cbaf0512c154c7ec5c02e98d796373be20c6945c9fda36c35f930148a9682d6bff6407e11e00e7a717b4968cfb2c1e1288da1cbb48650a4b3c1a1d64cd34a5b3d304c316e8137c25f966a4c529006c1dbdd4f7b5792968f0594e1542d066b8fad289318a0837d4a66e3739aeb6a4ccf60567968da9a31b99880d04b44344bbe1495d5e9bc667d321007e0675932e1d60a32b75246926742cca67e312878ad816ca6933204ec785e7fbc1b97c20695df5b9752b027cc3f149d91c67fd9cbefe764c6dd7b20a7bca0c82f320239a84e5b0e7718cf0516e5592abde353efc9cc994310e011897dbcfdffa6ea70967318bb1fd6f9de2d43e487639138b931f6edd3cae2afc9085967c7d4f8c81c229d858890b6fff2918958599ec00222117cf163cb99eff4d127049dd1c955149db37a31e5ecaea198982f35c837215a175a6a1098ecef8c0a89de8f1ea4d21078e773fd5d66ffe1b729fb57d5c80400b60523ea92779f082fb5faf929a0eb90f88bcbf40f032003d907a0229326ef7c530b4755728f63b5f3a0e55a7ba7a51d44576eeded6b92e5bf54396d1931333688e7c3e36e25169bc6e4cd67938e9ed0336da3b692a7c9de5272f0bab3dbae7fa066c317b4ab2a800be7e72fdbabea950ec1d238759d38c3b04864311d97f9cc5434ed191bc621f8224bedbef7185f1ac41844302f1c9cde9967d54778f2d05757dbab325d2867a9438b7cce8f5e85523919d533485abf0720c888d421010e90a14805a68e7f0183b99f3ad534288de301f3e0eec91b70a548e83340189ed3f8fc7897efd6af5548a38fced47a4aaa9bcbf92b9c0488a44fa2335e20ebd4673742a2ac88d0691bf31b48abfa4b434e3a0842de637275c0f15e48f3605d98c17dcef959ec26956cd513dfb72a593b8d8f4678d77791e3029814f3c6020825122fe054aeb3d828dc32fba11a2a8d64df67e358a0fa530457c9c5d8fb29b8e645d0f61387242d148fd93b1f3c36ad290ddeadc0935d511498fefd08ead57a929dd5351915e2e85cd3a3084f94d487f4073fc9020f7926391763f30fbe41a7a2754af55c0723269d6f525da928c6c49f5e8eb990b8ab69b58c0a0d1d26e6443931adeab91f7bb03d3a691224328b2d0b340840e931b287b7350bb8b8f40f48d90e3f1c81b4d6cc093bafd3c2c04c5c83b54095eced5e103f95f7c80945b9562b3ffd4d7d1225c4f75889885420f7fcd961a0348cdb686f9000206eb0d27ccb0fa5aa8e9980da4d9651a48ea23a121c65560b87bb38ba6b79986b06dc6390e5b5a0f6fec1939e18567ba44199ae7ddd54f65f23d37617fccbde40aeba94a1de39dd151471ce7b30db7e72bd70673f61cd09d8e349eff759ff32aae087c0c497d05cf4056e1c957689f23e918fb03423c583a853eb2bf0d66ea3aaa57a11951a41cf6820c5562104de9c7d0cdf6d3c06aa206c39d821a2cc46d51e368fe08278b40aa648ba24d15301d59c49565a107710d3cb339257dfca7a278f502366f3412f11e8276e32cf792b96a2217a28136704f0f950eb1f0e0f18f94459f07fba9ffa2c9aa92c1847f70906792cbb3b4dab38717c195a3c4442dad91352ee05d660d2aa7a3ba535bd967a42b463f88bbe0d4c476927a3418e06195f48679a5518b615dd22d159628e3e4fa42a978ac12a793a73cb5a532062740a996e86ea0ad5ac2061bfb12a7ee5b464e736dbf88bf1b5337028a439ff77875a8f635c89fb517dafded8e0701f55c4272b1fe1fa9ff14ad515159e7586a9dc876fae6e4ccd3f6e3ac4f3b124b16a617075b93537b50cc4745989736adfa33fffa882e359a03a36d6124f932bf8bb941ae1028366f0d9168115334f2ae725b187883cfd3ae14b60b5e013bbd3cbf93c6453a19e6e38b6446ae3fd524e08be44ca0b91ec95acc6ceb75167dddae641984159818a615e3bd2da80f842fadb4a4d0aea6acc4b17f15e6c0747ca811969dce1dbe7126b2b7e62a4d0211f750647f4b94dbeb6e8ba1222eb337255670d244c9025bb202b8bf12ac78f15a59b54db68a9a17aa0e4d5ed82c5c8005271218ed10b5ab554899e6fbab9ba39e94e0d7f8603da34630b691aa187e14427e08a0004db4f7ff82a9413598b744c83b7f356368b65082e103f968518bb9c974b7a98fb8c1c480feb912bb40a8a89c0acd320590b842f060d23655cf3452f7c7ee70520744f1df93b9116aec17d623c22c52768c585d44f1139ac6a8b9162b2b31f2b150a98329836b63af74553b715bb9edede0b6bde0019cc48fbcc995156eedc3addcba27164faad494b1385d97657ca6ab3675fff15abb8ee3f11cb9b49160d68d64cf3fecbf3f558a58bbdae674e26d8d1eb85760e03bc0bf0e62b7289fbbdf369afc62bb1e249608991c125914167c554abd52816fe3b19d8725e96cb307a672be9e8f20eabd616d5ae6173871fb866c2e1988f08779045a69be73bddb81af6fda035d7d27eb78b0616241700bc03b2a02c290dd6e2b80e9295cea23469d2479c5c045d2d58cb78d4c0879d153f6c9fe7cd068a245c5a155ffa9208153df4297c1dd13e488c9a3b3e9cb1170034c25c68c40a0a7a7cfec411ce06aff3ccbfa739c7e9d333aac89d135e9b78eb1c470ed26d096394a234a484e154ce33a8d62cc4d7347ae22d0b5a7c53c56eebcdaa2f31b242226ec789f8c55d0ed14b3265fc5d62ecb9925b2e4484d81268c46d17c8891bb2b20b9b734d77ae20dfc07d65bcf60d1f8554d04be063eda2586d18d6e0b0ce76e4a36d495e2f483fed935d07af3d17a58110f9f65f1e2d4fc3e74e1aed1052e5cce2494fa44e0586f789bd6581c532ffc5e907957c8a89e9c84e96d5f96afd8857bb37e3f9cbb5c73508560f49909889230cad9732f9e3cc654f5d6275f88b8391eeeaeceec26da34da5fb3911a267839394013295fd33a664023dae571100c488f67eb2ab2a5946b520d0c659d0adaf0043c473bbb86d235e9a0149d305cc1188bc9db8b6fe6a328ac456c51cedaf9f56968f8791554db8bd8ff4cf881e1ac2310c972bdd240c1e1518ddd678e34ad6fca32a0190d4d91a7dfef0715c053dda15c31999b9fe5c71cc2fffadbca19e15105cbe0966aa01460347a88a1d505906441e65eaeb71fe0a18f5bfbe267b2e5837c6f0cd50fb6bcf12fd9e13e55f381fc97905f3117f2a63bbbfde1fca2b9e20dcf3395a7bea610e84a4fb501378610c62b5ae237f3b82eea58b7316ff6b7744076db088dc6a5e2563a836c9356f03bf227bd48d9b8aabe845680e591f5917318e78c971467c4caa2101581e14408e9b7e3f9eb53003bb4dd2eaac1a15dcd28f39ed5ea7a59dd5b1c595741bd7e05a9f7f2e9e9f29ef2eaead6190c4772b4f22a41ba37f84ffd3582b8ddeb690f31f94cdac02791b4d5aca6b76e30fb79c7ecd2403a9162466e0e3f98c511e6ef219a301d64eddb03451ff947e1e4ee076afd8fcf003ecd9c57ee9a3c9745f6ef613c39ff0fb04ed48370761383ef72d2036f2e892b0bd40182fc446042bc197f34f0c015659d88184e6b95f54342dccedf9c129f2ef2c60e02f5ac209c5b540eda1564fb8bbd3eb13ff2cf43b86b9d70175dc22dbb9ff7806241d90780f338b21d72528f3368828132f4d11b384a485498f4194a59f747d51b7b71e43297ff1ecbd4bf9750f66ecf1c67ecf6b6d539e13bda4a3cea2fb2df69f6f972af8543b1b713a5b56b426a256d0f87413bf794a2833ebedf6a817498450b3f4a618b587c2ef861e02d87a342eaf1cd2278e8695efe66245bbcf936311bb9db77cdb52752fcea0e42bc40d543edf990b10643cffab040670f45ba0de08c29823ec3fb39027c43f627f80702f8a105216c335c0d6d42fe520e02b067ede014b64bfdf037793da89ac778ff53fc75d340a75473c0aa186f17b8f48dfee857118f0dc30b70619a8adce4e2cdf9006cc84c8e02
65900105b28000000c1000000040068deb1a90ec29e47da126a7d4c32e7d4e6fa8b05c5d48d08df160d9fbd7013d81db174dbc2c04f0aa64e2dbecd7ce89899506bfc4a86a2bdf990e30cc154a834b27f9f4b251af371036281bf90bd1f0d5d8cf4d943436eb8793333ffb0b8dee896b67c0df3b7bbcb02ead897a3ab7c1e94823d22e3285d0e954b6d6109c969e7b6004bde4c6532af66b8cf0f4be354b1805a20c3f0644791d1ba90b7aa3c7e107aaaeb69e9859240b51acd07f7fddd9ed4a2a41089846a1e6aa39eddd5729335a061d3fd5d3d00122a43b096cd8985f72f34590a242ca7f37ca7c112627d4b5b800490a4f67f126e38d5b83ce74667126cf8f839c70669be01666f00959a9cf4aa110912c335ae81be3c7552e8f67b4ca3c8a210142e6917a500f8f2277bf688d066181a72ce77ee9a64a11a11fdf574daa586a692610eab22697d20372ab11a42ac7097a0f967481ca2c15f92001943b4d5be1a5ac0dbb99d7c3076e4a4513170013f40da70561b17375569f592bdfb52611639f147c6d44468b41ea5c994f040ca6e195988be2a01c6fb934fb9e11ed71ab3c6643f562c839909ac26effe571149de20d8f4cf2950c13f5189fcbe452d24ca78fb8f7c21aab81cf6b7f3eac2a5d934d35328560ba6fc9f2275133e920702de36e95e62c8fa3dbcb85697022419048439d11fa25454452a5a70aaf6815e7e6f260a5b18f18f69788c5a551cd145c9a5265e946d26906e37b3b75d33d1f877dd21d2dacf650e47c929a26b6fdc96b85354a550306a363e9f4a1eb6f229d63cc4b23073bb5143b15bfa7872bbce073a342c95548f1e42147e30158dd3e4d5e142055033392cf1966dc18f41619a621905eddc9996f906eaf42db0d89b01e4a68b53768fff75d777a6f644cd502dc571c7630588e4a63908349e4050e64730896c31b1e34c024b62e2389e649aeaed68f447eb81bb31b3f6f0a5b5618702e15e37b1fe634b8959b84031cd94109456737fa71a9394e6c280225b81b64732a7d0248026fa3df0e0d0330e2be002df88010e33f460de81b1e8ad3b8488b23927d15786741c52350496cf933f147a568fe5590232ea1eda420e5f37e9afb587219f8eef27435b58e2d02e53d19ae738a2375a31b6fe106238a5114018d701fc9371cd3a275c371c2201f4b2f2e827a22bb64973822efb3e30564a983d13666668d07e9fa69596f48a340c3efdfc76a31279952f1bd144a9498ad54fb6dfba3fe9a94b862c635228e4dd095ab78fcb43efe0d4457ec03421fe3362647a3a32db387615e3c70c8e4744ae843739e02bda1cd4843674e9e9c344ea1e4826cba3ab28e39cd7d81b4b7621bd3cdd336f64497651187567ded47c4818900c74f5757a7bba664983f1d4a86864b120c5d48492a320fc54c81afb4bb6861eb125bce2a98bc96d824e8a3532d182b04c60ade3c30d64c4561e19c5013f911782ba2b654cb1ffd14a038f24b9adeb593712fa7e6b078b1a4e9a99c49b0bbcfe0e5436438026eafdacec2ebe4eb466730888dfcd8202be2e11f4a070e6690c585138ed7834e986e684b47564c14a517af31df1ab528c824ad1a926d1fcfeea43455ca95e013b920d52ad42348cab0f581c62624e0ed21847d218b42557aa4c409d3d3606bdde2abe2c5840d1cb25a247580ce337df642b4bfb855d5c24df2ad0911cfc305d027c2f6cace753e6f8f9af0d32fe35fef5be245d862e2469af1da3c574bd7f8b917754d5ccc7a95e20384e6ca4f399c50be15b4b802961e87999285e69c51734a0c5b969a1d72ed117296cdf6303a7603d4dc583d8f08e569c1591b375b9bb661903926189508f3edb3dfae2dd8b439804baf0735c04826247d3bd36e296ac3d3f3ff8ad2c8ed68a6d12d56373be20c6945c9fda36c35f930148a9682d6bff63a784d997c80f89b3d8f46538c2599baa38e8ab656af8ebaead31b631e779ff2d86de03c2ac56096633d4e6b9ac083e36abe19287a6bb8999f733c8670b40322f39afb2e887ace1a489ff0e8790db806be289157d091a3f744bc78aaf56375e42b7c74670e69f147fe32859f44e4b01e317457bb335437672de6f73f5fff59c05efbcfe095229b4c376ab2a79a4662069bae7c2e9f74d76332bd00f59ef05327bafd26f8b0a3e74876617fdadd4812f53eb9f287c3e36e25169bc6e4cd67938e9ed0336da3b692a7c4a1000a2005dee79538975efce58f46d5662027ce2b7f00d6626d55f87efacdf8ef86f4678c6197cf9c7e61c0f11ee46e0f454de4ebab1774070b07f0abaf080d0bcdd4fc88fb88ed09ef2bb8d1be184477f16b2c52d7a4977250cccd6b590575754b0845f90aefceaf8d46390f6165633aff97b3e8ca48593c539ecebcf92b0998babd984183c843dd88085d32ad738114e86e1043ef4681f304c6c8bd1b2870eb13e2e1373145c851417b9ea41b469365cb58885dd0d72a414f948d3f466958eff395aa3646d897efd6af5548a38fced47a4aaa9bcbf92b9c04889a6f719502381ba96a10f064666d409b2fb07bb8ab25dac777e0366899b837499d975967fff4db48b4c2e51232ced8ddc6c1fcc948c5065c9c894558c5648604d38ce1f470050ab8f34f87c0be41c398d77791e3029814f3c6020825122fe054aeb3d828fec3a0e48bd4a997f701e3976df696d32f7eab1906a6aa56ceb37e3fee1c9d02ef63924a166cdca9125760940b76e9e1e22c0e81be48397abc192869132874be138fc1b0acfc3cd950f7a1016d7a74f9188df846569a1b5be9de84eea43f2b6f9263ef5929b7cf7c35bd140ecb049ea654bab4e1540a9eb931b287b7350bb8b8f40f48d90e3f1c81b4d6cc0936928aaf4ffedad5a7dc06037ff2e021924021b94148168e54aba292221d7efdaa0cdd633e22f7f96834edc0f5e9bae7f91e8d2de662ef632b68bd0977254679c44c713229c1205d2eba67f5d3c2d4297ba55d696fe8337380fd74992c168cd722431eb98dddc2ecbf4908bb2c84e57a152e0b71ed8a3f59b0ff48a0e7ed7af3501847022966fce75cf59659c3b989d76e4c835f89859b153547e41468c7e059cd04d6328072d1ec0dee001fd943768a4727c349cf11b527aa1da808904536c33b22b4c1b0cb8a89d8b69d6857969de69b6bfe9db666cae593399c79e1194f29edbd94fb461ff3cd1f941bbc4b295fe9f4d965c368c1c2673560e42c213844d63dbf40da0a34de207b6d108cdafda5ed2f8616e399343f4a526b6efd7912ab262abfff86314725325b372f9a7bd6be6e7f7c4920f20e605b4207f6b182b86b4a80426355672c2329f6ca03ef94645902f660f90a87ca3e8736113ad01c2e63e193850d91f27ab34a89c970321c8f31f56afbda1113a337b968e82e2a8a26fe00790b5d4f6959242b668ec4af5c66512a9f6f0c6c48806aaed8454f8b34a82d525fa7cf5ada53daedc389c713a43d0aa6be2f126045b912fada67eb7d957957d2b4ea3b54613f71963224b2aae0313d255dfba065d69847bc71e9d8ce51afef5af265e5c59203eff9dec22f3c5e4b7ffdacf946cb0ebf1e91e7c82cfe3c1b375853f58b220ea8534b1cccb5fa5831d4023fd4df3c6ed0b1082479de8b1ebe3f828d7e6a083866d116c41f820bdd3f752b34a76bd4dede7c2a9249065edfbbf3acf7dd9b2b4086fd722e187e6fd74fefa0e7314bc3d250d33b48d84e835b5eb5975317f3d811e82b4056f39b6b8655a413c683f7a5214eb19d4635f74a84e364bbce984eb2e435bc8ccfc62cb9cddd9d3f849be71bda660bfb0eba749779b473f6a0179b76102be9cbe1ff75df993506071f8099e02dcfb3144fefcc9bfca95c9d1eff560ef4a5b879d7cc82f410b4d5ec079d6601f24c6223701971539ff17bb9d3bec0ac23b6d4f0be57de8f876cb967077513aec4003c6c4408026755713b1def34b00fe71bce1d6d7623ac55a233d86b53ae4b47883656c5766e6c81fe33ec56eb3959136f34e8f99a700583261978586cf65c7578a1f19f7bf8480250603c247ae35f1fb3f08c82c871ac1ecf3994745ae33ea61a3e39286174ac89604d3acc9910c27748e30947cf621a96651b1c926cad3ac362c8be53740d3d11f7e0c53e2bfaacc969f82172986a69c3180771930d2b7e8e21ee8cce812a555db240ef180cb9217d5bbbed7bfe4aacd288c23d6274f475cb383fb08b5226cb7e79016cd62b633cdbeac3f1e44e437a83dd36d98619326cd7a3fc5f4b910b6c235f6573cff7cbaa878a70dcf5c50373b513968decb2153ce1af322547198e3d0519b87523b5ba69750f743be18f68606bb6826d16c65471b3941c57857624f4d6c446507b8118dd3c45c5c47127043e244248f0c7b38c1224f02f1da27bade3717e0971648a9fd710629cc523e197dda4417e6cb44abf4da804f9f5498110f8949e64cdb2fff1ed9f2999b136d82899eac64eaa3052a13db3a53dc8e1c0491c16d5371829e4eccb4e202e1dd07d3dccb0340b3b5ea2aeae570dd0de936f44cdd678e34ad6fca32a0190d4d91a7dfef0715c053de217801bb5f65174bc05bc39abdb7b71b37e71be14381a56b063fe821aec5e8b48f61c5a81ba0fde200ebd47a21e6aa3f4b9e8ac35ba1544631ad5fe308cbb1faa099ca791066faebb5974f3f2d0525e37ba09458d9b2736d338b3670777e55f38ddc4ee3962a9983dc73d1308f020e34e598d3427c34aae3bfd548f30188e18b82b79b4ab51d52c4ee1b3ce609f541e46c362cf8a69809ab61bb18c9c0a77ee6bc3346514caf474fc589b309c4bea9d31dc5dae6c37c94df3b5eb710702edb48ca0b5829f0df32e8a5a1afef202d124035191c214c3f15cc95303be9900f34ae626caeff2961db7e4e6fb6c79a24abeab3289e328a944c1dc92422d953edbb1ba5042cec56c066515e6209362e1aceef5e8c2015a09f7fedcd092103f0edff7c473d53de1586fc72dd11d1eddb03451ff947e1e4ee076afd8fcf003ecd9c57eef67368e785215e75c7aa79b76cf4400587faa6f2cf43b86b9d70175dc22dbb9ff7806241d90780f338b21d72528f3368828132f4d11b384a485498f359aa2d2340c5cf928384b3ea780e8cf161d2a0f3c237f90ea8e6ed7d46ece56357f27b6c1ebdc2f456ccbd893593cb10f55b5d1f8dbe1f7029a780f4e22c31a841b3857cefd27b7b7c9e6212fb33d1f5672d2d87902ffd20360891bdec6c844e9c505df5f61305203cc9763d5dca001b7685dfa5a8db3bf6f972af8543b1b713a5b56b426a256d0f87413bf74e265db8348e19026e954b37de3988a402a34bf822390ba89c999f466df7c1a2b26f707196ce2bf830f9789e247532e1ed552d2fd537daf784c150f97965c7f3534d22bbb23902a4f7f52306edea61fbda9e4f0ce9963531736f30b7b328bf9aaee9b5fc5ce538ac435e9ce14cd17874a683a421531fd62f3fc26a20db6fc461f6a6299c306617180d06686a2a4ec49375381fd029d75ce72e0425a1282b258b7bb61428b7a858bb35ceecda22603d3668490596aadf999d2a1117566bc1860d23086c75ef9927
75900105b290000006d000000000230c624c892b92191d74439a1068505da41a1080559e14bcb13d1d591a5b8705dff847b29aaaf83066343c522651f77583c8276793a3fa6b46180c007e69eaceadc56e2192732284b72cd50bce292950a6e56bb09927ccca5ac8bd74d33191346a8931c0b2cab3aa6fa21b595f143453ca8c516c10eaaee0b5c5b1b31d612ad03f7d55075d2e491cfb75cdf0da756f27461ed500c00e5f795d3026b6d12aaa00f4be354b1805a20c3f0644791d1ba90b7aa3c7e0fe175074f357a494d2b3be57d843b0670f8280612a50e3ac60c18371319fc890156d742517358da14312a28249c56ba1e2d5034dcbb8821fd5beb1d151f554906bf2c2a218a1bd6583ad0b38a2bc043152fd588277603e7eaeb25bc70c6912671ddb1e3159f61e3b6404b655f8a6385cb984eda8f8146d2161bb923b00b39c4f959e8b887be66ce00988398167b5af1a776e90610663af00e180ee800cceec018aa387ff6ea9b2412d7bcae0a22d3824688e61519098fd9b471de4611a3691dcb65bff240a0f8f31d014201a48b282e8fad9963e31109ee36f37c3925dbcaf72916da8240ae06193d38666d02b2e80d27902a4fa6cbd9a7f6d28b4fc093c713742413e4279f0c6f3d1e69c18d6602a128f3b066de4722a8282a6779216e122955ece7fc4886a0a9de35fa6c29e56203747730d3a8ea1139946f14d0e9d5f5de2c3d5066933f11149dd1038ab69740d5ab187f0c2c6af124c70aeaeb786ee7bd57ee480e0010d0c02e0a4c9749dc3f3274b6701edebc6f6dc51503b72f1572182020a256c74b754455539d02257b9f032f1bb3190a66422da2e67ceb99c84df08da91e4c36119f64bb9113f0537ca8d61a7afccd85894550378f8c02e89c45ddf67d7d759f6a54fdfb286bf737dd9f337e78408d7c60f3dd3d07594b4e94558638576e4c921494bb128e57c86fc43c4e887eb4953d756836b61a5de3afcc12d48050878a293a0f3c3f275b49a434940c370e1e9b7f7ce5f79395c5e64c42dfd6df46e9c4c336a2cc5aca94305fc9e1974c6e38447fb1f72e9db1a3b43d415b0f217eb0894cfe01c4295a747cbc468cc706bcc18fd26d99c14d35b287935676651898f380e8699fe5ee86a28952e4d81867146d241b0eded36ba60d53c5ddc25a531f78b34a65bc03f7050fe2c145d4adc6037a9c534ee5e7fccc7bcb155974eb0a0307eee91435af55abb79b2dbb06c54e02adcda36974cf8b5089fc55c1d07761985ead7e11b4b1990a58c54d5f9b7d57d046b4a8019331dc0fb2c096a570f542a8d4ee58b5db51672debf277d9f81f820952a7969ab40c5ba97cb7d73b4b54d51e1ba38e8df00499532df462285063f6e1b52a258ba3d0bfb1793f9eff2256634195961cc852cbaf0512c154c7ec5c02e98d796372d69ee37f8d3e80c3f677a27bbea8c81331bd6633d4e6b9ac083e36abe19287a6bb8999f733c8668b7095e58b13743743c80c52261ac9c0ea6140684333c1013c124c015113b8ba6383ce7251bd126b308dd4d9ac64a4771eae1670211bb9fd2806c16da6926804efc9dc88bfd6d5b5606b84f9bdf0716f2da52e573fe07d5978fe63bb4ed9987abaa13970049889fdf6764461662d9211815e4b0b17003d74625c8376707fdb295458580dacaf521d38ecb7788ec49cf13559b3063486f6d6c576d2ea7626e47f0abaf080d0bcdd4fc88fb88ed09ef2bb8d1be180ce051091774fec7b03ee1ce7d59c1eed82630684477f16b2c52d7a4977250cccd6b590575754b087c6aa91154ad91d57873192e6692141dc06078a87f6a706c93cdd08d2fb56436f2b582fa3cd715888a18c460ecf02050f05250509dcf50f07bb4bd78afeaf93d50d6506c74b895bc2662db6133522349089de9a9741a5d98538b8d0a8ed99743147246a941df751bf444b690d56f4fa14e39a28cb135c009627e3cfc3b3fa4eadeb759485a25bbd9f106c4698e58f7a4514aa1a8576709ff6296a8139ee408b9e96915350d54ddf9a4b1751efb5360201723be59edcbe48a6ec100fde84aa60985deecca0c6fa54a192734dd55f1876875b2aaa4107bc701ca18efca200dcde64725ba8e3924c0f9fba8c2d791cd575a230174d4208e3e99f21714e07a1274edf79c798a28136704f0f950eb1f0e0f18f94459f07fba9ffa834300f7df77d81f82b8b48c79c1d75711707b7aa247c28e949924f7f68b93662e93e86ed28005eac867bdd069761a986dd3ff2a8d71ae84faca464b2de1fd9e76b26ca6d541aaf1fcb3e80cc5ac228b3255073e9c6f9369b10141de4e20903f63bd2d5b6ddcb6264ca4a16e92c0b2d3850817d6c759073bf241d90e1c5c1005ac60317b278792bab5651d2bfbe0586a671ff717ccb4b9e15a077881fd502eec4e3749ce2c170f83d325f3fefb58dd692857b40c52e17bb8e03ac28e9f49ab721a4d2db5dc077e4c79fb16a12cd649d846c703809c504e9e57a12d0caf230589753d18a366f583bb818a4a7d8682559cd7a3fc5f4b910b6c235f6573cff7cbaa878a70dd0678b829478febd1992590562e61ffe40fe5751d5d2a894ea414d85c0171dcf1cb18248f9935612d7536709090be159c057cff79cebb75cd6561fa9d79cd640bf65eddfda044a6cc29212cd510b4eafe172b93d44d4bc0372489706139937351c340494e200ebd47a21e6aa3f4b9e8ac35ba1544631ad5fe239106fc9bb67c44d31c6fab31552bae093740ae42335a7487eade77c68ca194d30b3eb79285494e6a23661d73e00ae0660ae195e45f2a8b459e6cde6c37c94df3b5eb710702edb48ca0b5829f0df32e7f1b2c2bda16ee462617daa2a653e043a85fdf8e9a4a45e71a13336723c8d237192d1313a934f10e9be055d9a5fe4ff3bae2d5b4e2c6b7c7d7f1e59ea72171949fb1909c9614b006984f66b2becbb6feddb03451ff947e1e4ee076afd8fcf003ecd9c57f1abbf6342ef1914c3afb978a0a63ccdcf30eedef2cf43b86b9d70175dc22dbb9ff7806241d90780f338b21d72528f3368828132f4d11b384a485498fc0d6e4562fb6d1dc9ef17230cb55650e36bafd4
85900105b2a00000031000000000906a634d697f45ebc157f996fc722bb1ae763af12c454c84d41e45cb662cc3a25abedb4062de41315e6e57a5bcc6776ab787bf27a06973bd9dfae9c1a78f5f52a9fc5ac95d37ba14c0cc3b9880641501d0e4a63ee09a212e11238bdd3780d77679fc78f1ed71ab3c6643f562c839909ac26effe571149de20cc78d75278600e0d06fab67517962fc7430801213df91f570859904fa0829541eb5914a918c54f2634021b232a2ca3779bce0277a277a38386292526906e37b3b75d33d1f877dd21d2dacf650e47c9300af25adfc12509f1f7a59daf535867fcf65c1933075d58007f8e330ec5c12a5cae30dfa4240edf3592418a1a9582fdf7fd6039b5174c422a0b3ad936fc8576b4d02b47c99de8b63552d7706836164e3a8162665d683891482bbf304bd21319e6be516a490bbb0cc1110fe3effde09c952a7002b7a909ed4ce2e1df59563980050c4d6eaa74093b7f35ce7051bfb851ace16140c0e527b2f10f82aa59c9358853707746b61ffbc3d02c9b2844e9e66edce9351c540ecedc055a3b34af05d87bd674b9f45613647e54101f123299a9bb28e7a6f08b3d8f903610866a56215f258a6b80225edde8e3076aa6eefdffa7ba5da281a773ac81b98a24b58ec6b985510481884261c5fc4ef69b7c5021f437d3745fee28e9acadb1674600e3a01beb2fbffc827f76dcc8344e378f837fb54489f5542977043ba8e8b26e79d940e192db80ba6af710c6aa7a4ff0255ae497f670db3d289e813e09b6be2d1cb3a17ff6e620f4f9af4f5f304681f1ae5d862e427bd6fef959f045c383a64e333384477f16b2c52d7a4977250cccd6b590575754b093b5f39869e98098c7bbc4e02b3fb7cc37927c70aaa024e972f0863ff5e2f0b15c093e341e5d12e1ac1a62a447655e05ed754198ca6a261b171ffd10b2de1fd9e76b26ca6d541aaf1fcb3e80cc5ac228b34a9c70969aaa8acea942029d7484ca2e12f79ec145a475a806c7ccce0a81d22e81a88af6ff5c42c1f48a5e5db3b6f73ce13ef9d44df84b0b4d28fec8214be854ee1f74d96f0a648483f7d592987244d20ee977126b1a66e50f41950eb480dca0a4128ad50668e4dfb39d8b0cc3967c653a7578db2562b8d8ab1265f4e8043e88f201409707c576e6abead3da3863222d15080a303cf47a1295536d4094a8dae862b495f3ee642df838e23d09f754f79d63efc4eb3a327d89e6ffdd4c4df7af9b3ad27212ad6309f01915a0b8b524300d745900216c3d23f6678951f2cf43b86b9d70175dc22dbb9ff7806241d90780f338b21d72528f3368828132f4d11b384a485498f637f17492162807da8bff368c3046f31982102efbd43d1143ef5bbe7944b9ff7ec7111353b41b08
95900105b2b0000004400000000015f4f25b5670f6672cea88a196909cb9d69101a01e4d045b7991b522129f4f827ad8ad2dab3c32d0330bfb2cbbeed990160859f024e8b42b0dd8dc308ca7224c29b0be9ca1cca9ad13c14861c57af000c9def209dcf38ff955e01d3f79305fd9e504d4d0d03def93910e77eb5b35d55aaec330fcff282510d6d7218cf9bce366c84ec5d46a1fd0890d40fa00eb1bea355cef16d09d28bc3da479e0733c82e7f0ee97d2db075e8e264a011fcf70575152233c7d2100898c12012b836fe844792054bdaef81b76810159f61e3b6404b655f8a6385cb984eda8f8146d21b1b288dda0c09635265325b4dddbf8600a19373200d1fa1228d6f6fc9ad4358419b9300694bfd2e20c223666644ef7b0a8ff23273426261428af70f21b781801d36d729f89522ee2faf9cf22c2825fa29e56203747730d3a8ea1139946f14d0e9d5f5de2a71b6c91ec56d2414c356a8672d980a4501ff1831dc320164e847806de9c816e91c7b11501a96b1325e63573d836d05f93f8f1a45244d33ec89dba133ec1b04a304e6619b620aeea5c5ac81029ca2103425cf906906dc50b1120d3d373207f80523a0e736654ce82d514939e5ad813c2f66ce7b97329bd93949121c4736604cae1f24956abd464bd21fd1aa39b87baf05ddea41daa0d979327f0466d0a3af9f3bf90a8510c55b32f473da0f2599c328adce90e2423dd5376e8653397067512344ce7d0f57b2cd9d454348325a977895e2624f156e8f0cfa41ee610a4ceb204e50afefdfec20b4aab377df770a1c2caf50ec908faec8a1982ac0c3b62fe036ae8902c56d5909997706cf987728754be98d13cf0fe403db5159d917396820918dd72124dd088ed42f42bde8796744a1645b8ee452045d234cc47c1b9f65a6d8906ab507b36161c0d21fbc5f306c6cf7429ef892126cd5b17ffdaca7a8e0f1f3f97ff03b6f29d886db730c50c00b0ec2d86c14d46c1bf70a87db052ae57b35237aff4a55d6830337063cf07f3c1480fbb57cce3b41e2f9351d222819cb7d0fd0a0168f2c017f3aa451e6b4d5f549d9627819dc33669ad92b1282b5695880b635f3032d55d5289c43bcb25cf5a284456481f92c710435504a17c95d5a24fc5f4d04848b88ce673d72acf12b69cdb4b0e47b3c5bcd15872a1c84f2f6c241d825e85c6832f12b48d5243193642a9dd7adbe1e6db39c05c1830c0d85468bd893fcfa924125ad3764f054fc313dbd5b769fbed196a484e6771350288eb49e0b7dba0babaf46cf069eb10be705e3557854724ddc474ed96057d808b9b2de1fd9e76b26ca6d541aaf1fcb3e80cc5ac228b4a0526199b7b8858b96eca3da06eb6d8d8696dbb7f270dbbf5e99ad17f59e71ec6c57167a822d79c3035fdce048a908ecbc87f53110c0da3b70c170c55036828f339386d813ba58df57bc052f8f287cc634eb6f9aa1e23a26b10bdb06b3479d44b7ca92c653d2d02ca6cd4cf2cc4be231ff569973876236cb33d4c257e1df8bc90d4d6d6a418a8c2d899cfdd1983fd3145a74876c1e8c503f3f617504f4a10cd3d539125ce9f3feedb4d1dbf91bfd928c12eabbd59604e077c6b023a0737fcac78c9f3bbcb9fd3dd7b98a99be2440ba3b5124270b7fa227eb6b853ad941746782dafa48457ca4a3c25785fba5587c54ddbb77fbe4268d3db11e4e2860dd890f6fe33940e1e8880cf737ea8c9f32a55563d7bba8a863409fe371c0cf96a872a562f6111386e4bf726003d769e4aa1d3abe022e6208f0b3bf7b068d9044c1e9eae9630bcc1bf14fcb3f98c12c2909245b9af985c0ecd2403a9162466e0e3f98c511e6ef219a301d64ef440f89f2d170e349c80be057512c25077c3e99f2cf43b86b9d70175dc22dbb9ff7806241d90780fe4538870cfa0366f688958ed5e47601023a1643
105900105b2c000000f200000002001704615e60ebae9c399bf3d1d0a07b54c069cc00a2c18034566ce59eb4ab9da853c128e1ebef4607f359c841269617802a1108ab19f68c4d8a855c08391c0810709335d60d57a466c769a30637dcf308524b3024957e76dcae1749016ae5e77b0062de0d03def93910e77eb5b35d55aaec330fcff282510d320f13bacc312a49b75fb0ce1d3a2404918eb20d7aab5db0419b0cba0b17d41dca4c7a5d4814560eb67106bee7fd1c81db51e915a29ffd9d801dda0f5d93c1320b01b1ebad3b1256ee50377901fe95104eb83b048de66fa51063faf03dd1bcb347e54512864ddffda2df19878aaafce10c6c767212d18e133008c1a24da6c5c21b35b7628f1817513895d31534f66d8f82ea09d7dfc6c39451302703a0dc8618398d6d942730144b61fcf61e4a884d93f8871f198ad02c7d572593f780a4c797081ed7ee6c32a11a461353e7c89063ac9c5cc6d74642b7dfd631dd1ad5c1c45b808581d051cba28dcf298a1bb7e53d1b3f430ed88651256a7c5a541f1b58cbc38664451b637411de9a893ffc6aa0791192103f8a1db5701d023fa01453898877e8480248620e186c4401981d68e063773add8017a6ac85f204efa64ceb6efe1d7c4034cf03ee5d90c58c82b8356b55149d1b801ec9e0246b51956176544e8e3cca83df08b4e02a1ff42a441058c0461d221aec9ce62a052f01fd8321475479a2bd602d73a1ac7dec642de512b8c82a21809edae5b3a18d5419f21804c3a6f102a8f72b21c0ce061fc95c5d5ec5273e52f29e66eb002f0f220d84d1bcef1b8e00d71024ade872e8c9856f85226a5a625871fc9d530c255e1db43c0399054e0524874e90a0994646fbe62a5bdc5b1efec575b04724f258a68ab2793bc4279d1b53a268683e2678b229351d0aee0f6d51046e77035e38fc363c369fa629d762e41f3a2d957d63273d90e97e9710fdfaa22b9738a666b9c5dca0155099e0c93dbac6fc80332d13305cc371cabddd8f80b2962204f3e525c7b32ebc13d12beb1cf9046706dbe5e9d6fb8a2f68fe2ff8ce20c761a00d5c4801fe12abdc2b76bf35e930a76e2bd428a7a027dee43d87a1ac048504e2ab31a43f0de6849ac46cbb88b270e2032c52ee31133312be916a52f9fe500c9f15e4861f2cda4ef76a336781e2424c684159750a700679897091ef5760342b51f305645afbdcfa119646fd3fec0d85ed6a366b73e566dfc49a7bd84d63e3ca85959750c3f4371ec61214d13a4ebfdc03dcd378ea19930b719238161d31f1b7ec3d925ba2741f2edec2196c7b8d38967f0686425d1b97a7dc8e1fa2f20be431c68c3a62c9166ae829b7a712caddba3ba8136bd6cac73d8c44fc321420de2e2516bccb51a47bbeb3de8b3f1d34f11a23847d56da0bf2fa38144f701f5151423a52218180679bfeeb1c07a6d63c45ba2dbb9e427b9354f2c54db4e89cff6cb1508470cdb135064323578d256e0cb08f6d0e35a86ad4b0bc98b9284496cc6931dae3da8c5ee52e8f77b81bafd8567344e9bbac943060f0c8f9f9f25925bf9761c30a65451495eeb1bc6665806e9f9fd77fa53dbff9075345a10750395509d445ef966c42edf897f5f01bf746db881fdab57ac526a2d9961216531f01f259384a71ad118681971b373f2e8a443144cd4d5acc254ad25f5009b693d21a9f19c6c7b19d6db5caa3814c7b301415ecd309c283ab0bd595c962438c869b4d377203601912bd76245fdec379f31888193cde4df43ae1e925ffacf986335e5bbf65fcb9e809764e356651d83f401f64d1df1d7c30dc02adf0e8b14e7bc0b0d4a04878eac73d5136436dfab49900724eacf18cd1b2595ac5023179e6f96b6de52a236f504991fbd88150c0025035d30205b9bde8817d0b513b24c2c53f1c8b288fc4cf0699e67eb47d3c7b52ca4e05ade57529e736e7a138dc6f10c847ef5d53eb14a43eb737c2729dd4c7665e25bde3da36c2543f5b9d7de512681eaba0c379e71903e88d7b6355897da18d8f86bbc928dcaf9fcf190dd29cba9255c8e3281ce7d15a6225709e01c81a4b5ac656175602a382e604f64d143a3581c02b8fa6bee7b1945684f5457e0452502add82c950d06440c8e17c5b570dea8e1bcf0eda77461b85bcc07c74e844ab5b57b701b51a56cfe17601ade8461b8ed78c441f9057ca38acd63aabae04894bf80f0d845a93ce1d085915359dc31419208e64ebcb2f2e1b8bc41d1ef75980081043058b2d6821930289af9297c841fbc45b87436ae63eabdd4d6226578a8e135b924ba3095bf2f59912f3e06d72bf24fa3aca3cc510977b1b5d8776c47ad544f31715fd3eaa85ec478678fd0a5e1b09fb5f9347edf612a37e12fb4c7b27e2a64c5e5b65b8be735b946d0e4645b92da169847521f25e6f2e914967796cdad6deddd3530f22c0911bb65f853accc24176681b0e15b0329032c3800008085fd5fc266d1d713cd9ee7e0d9f217bb094af84426026484607a046090729518baaacbe439b26c26a610e1afc5250f2facd077b5923814def0dea6b8e61b8429fb1879eba018da9d13c046f3c4f30dde564b244d8786d5fc8d0825986f4d95098638c883b662adaa7fb861c4bb110a062280c172c467a9bce669c3f25057a129b0f2b68804151c7b303472acf67aca4976300005a67bd0a0dde2a263d7451345367c181d0fd6a2cf5c71f955011146c7e69dec7456818af03b9f7729d7fbb28c3c353c720ee3b25ea6869a7834bb02ba20d95209b52dddcb42a91efae6b308dd4d9ac64a4771eae1670211bb9fd2806c16d7089c8fafac88b34516b1556429e2f015e9d426e31a2cff6dfb6e16fad324830da796b91f790ee6eaf3edb9f4a6a1e2ff0c4fbc375e5c4b6e5de2d71b9ccaade1b4e0e7ff6a60b6921616c57343f3c71e0ade23541ad8f169dc87f89e56de6462f12ce7289570d3ddb4ac955e4964e75f58bc216053cad729b9ce1a5aa3d399d5eef189f8220d4d9c0b50b76b3ce91666858a6619437d980ff769d15a9ca6a76c64f75c1186005998ff69e4ab6d7c9200ad15a77f1501da7bc14ba7f84ead89de87fc1ba8730007872f7517d9b02ae35aa99c9b22bb4c148a0ebfe798a814c2f96cd180d9069c348cd1d9ae948459f7e8aa120bcc5d10e94eba60a68452d20ea72181f7ea57a55fde3f6338d429bddea608b15a12bedf17f0abaf080d0bcdd4fc88fb88ed09ef2bb8d1be17f7b736947744187addacab7b8352fdce8b34b2b81b24c1374f8fe468b104bb0c7db8198e5febd068565eb591b5a1e20464883c10fe272a45a62c50b86fabed93823a19c7b1d1a2f01bca0df928c2cb4877dc61720bd731cbac487c6683e49558f67144188a626de31715cd0f98408b4939ddc65586048ca8aaf179074d6c17efb1b5eabd96baa35bbb01d588dc1f2efb37dcd0f321b13decc34028735c7cea68f7d97628199886478bac73efe3e772cb542a19d8fbfa7470d0b3b8fe13f15a9fd39df6eec62c89f8ff8f34e1b4eca34f06aba7b88df780c407201c49018244de18bf7a9b7d58d51c7dab10389453dcf904e174883334a1c937e7381b06de24a1f121e15908efef889df01667e6eecca88ceb4f1b51bb1fd90fffce974e212b2e0429548f7925a188bda5c4a918c93599e6655b9c48a032fc1c87fd08f71531792698fd8f9b2ce54ba4d3a0fb5664f4b57a6e59f92de806d529f6ea57e48eca7c3b4ba44dddb8ce2946c18e648c6b1a61a1b692a795d0fb975b4e42f95d23cd0aae98d19560931c9616867a0ce227a5795dae5f4a2c99304506601368b213e68380bfa74967e517d9981fc4d00ef540874aaf7b5035705f896984b8c69b57b7a15e1a1bcb522a70a3ad00304977c9fdcf58a35cb8fbb6310631764e801b6c61897a12c558843bdb96ec9339d85c485a83570621a97fd11d4d024de8d16edf7ef339b97b71e85db809a6c8daaaf8e0f749ee75f9d7ae1c53fd71f2be99ae71d693dd07555ec4e759eacfa2c298f7ea7ab9b3e4df8f650b4b2e9ef96cd86263151571b200ba04de144109e47a08bd7bc508909248fbe078164a0c99e87b3eba9978dca98fcea58ce14b924e5b4a17a528241ff51fa55ddb35be0568b4b598a69b9a26cecb2b09848d71e19b1ead445d84c1aa7abfca36eda7c90fc170261c9cddc33cb90df3beda5b3a43e00f376f9493b6e9babe00c4545d42f15e4f2a48f9b5e19ccac9568f7ffabba198641a884c528a616962bf534fb11ce5f406a3092f4e62c6d5868a732841479990d076d4b4661c027dbd33b9ac4f8a8b26cc03a146d6650d3ee65292150b8bd75f2aca904c4a2763494d4d651675a11c0ddaa1e600ff7a9bb093fcadbbd6e535f712f5374929d0f965b73aa3754f3d34608a187ebc5f982de9b800fdadb25aaa3ac995efb6c4fdaf767eda57a9678321caa5bad6e81b7d20cae6c94be30dc489609cd9fccd493adee1f9fa7054ad51aa8663f377c2ebae0c2cb63ae7383e4e0d0b581233afff320b29110f88e4dfbaeec9ced187dd6a5feec2bcf38f2d40e7c516fd6af47023ec89fab8c58f61f36f25ee9d84ea88e55b04fb53c8ecb3a6329b724614e553c11ac4a390cb09764cc8ab6eca25669734cf4842655f3869c5fb0c2bcce3ec2fb1883af854f1897137976088ac9b0e06373fc107831574f5909a51463273398d301b1c36baf335d0b40a3cd8f96413c080f95e40de9b2890394f2cc578fb8c8ff782ac6898d3823b94db305d470726e758528e367b184abbd3a0889557fb539b257d82f3fec26fcb6f169ba2379fe92da59b5ec62dbf7be43f50d38b468504b418653287b6bb6561883cb2d6a438b3bb32f300a8f02cb732ed7b6feb0c1cd00af4f672828e7b4a1e9cf21ec0661b7f270dbbf5e99ad17f59e71ec6c57167a822d79b9bff5bc4066576545f58e261faf9d7a3bae20aebaab6f5f0454a502d8b54f8de3524ea84e6b0d8fbaf6192bba62b03b2ec9ac2a49bbdba5a51b7a02bb9a6fa8e6e37c1446a0ed23ab1dd5085fe1a4a9bc1aa3ff20d399eec3dcc660e8446346403d7034bce5fdccf7572615e28cb792014bdb44d45a689abdb28a5de035eb2af4f61e6f119acc7d21b9cbb1be9b913c4675f6183c45dd7532c4f3bd45fe95febffd1446f63c190553101561e8ab4fdc761d3153c04b7bc9aa4b3d8e6e9cdc98cfd1be490562dc52c057cebfc8f164ddf0027fe2edf9e85c5083055fc1d29316a2076426a06855e8c8678a7089caf2ddc20d48df491b40a2618902dc08c2daa327a8b0b0c29f22bbaaf26de7f3c412ea78e1967178948dcfc2e65a89befe04dbc5ff04feccd3b7b42931f7afc3035fdce048a908ecbc87f53110c0da3b70c170c39d4b6221bf349d5de0c3f0d73dde0bb3262d90c652ebbf26b343232bd99a18a7e72bc2a151b6c3c8128d04422b3b90b9b0899b8f9f23b9283b17d5c82ff8ee4b1a9288767e310e48d22df7400472c8ca3bc1d738f6e94bd7492a37ebdc19d8de7f0918cb347d8111b6934240aefc6ac05b6eceb44916b5cb9e679ddab6aeffec6f3cd721c152602fe0bb43ce2b8ddc25aa51db413b1fb87c8ca4d0cf224008d0168f89e92986cf1c6ff5eed6b80bf707f90095d040624251ce2ee11b28db9bbd92aed0d1268badd298366a9a09793c58323f65d9e63e627db398c9d305196eb1d3026c394b95c3bf7107554591185bd3821ec2dd376cf5fdd86fb8e8e6cbdcc2768989d39dd24907273b0ffc8e5d6122eb02bcb33b1e94d606e869d1e35d111d2c2ca90c1007e230125de8d7d12f3f6c5d8cd99e160b81219e2bf41f3bb787da632f7ce6f2484cf370607a269bf3e9dc716f93de02fff16d1d183b1a9108bf38d9b174d8ebe9e8de63ab61112fb0dcfa7037206f4b1a9ced279695deb7fbe533ba0dcb9afc6abed615828ba8ae0a99e07cd691e12a1d57adc4479df0e8dc1dc71822bfe1b07d0635ad0ae3a340c4563348c199ace71333e289dcd66f11e43f75e9ba435ef48781c3fdfec5e3864f60849894f812053b0fecd66090068124c5e3bd329dd376399f9c0341f483250f96aa9b4cfce3cd7a02e048ea3a7e4193bb1ed0ea24413aab30e50b1716f1058311b049514f1c21f4955196d4d5e752deea8f5e0fd2e85acdebca3007b246c1b9c9e784ebc2a0509b8b0376bdc65d233a9bb6c8e39ee7b17d63ce3ee10568791552d08d3587d400fefbe8b9142fceaf2c0fd1863abe48f6f74767fada87e9405bfab6ce45b02e57527623496201a3dbfd79e9be055d9a5fe4ff3bae2d5b4e2c6b7c7d7f1e59e9cde3c8e62d6ade73767ea8a6bc6213fcd685fdeac5acea4a309d5a195cdd24398abcc1639b30e5ed2d673861a67bfd8a75a662c5565eeaea4708b9ed59c01b467ee2e800dcf611b70882a7a7f33ff7ee633cbd547f9cd26967eac3d4be563833a3370ceed784f3ed90935e234097dd7408cc6ec54802fbeedb6747cdd8fa3d9d850dbcf1a54cac1daccf1cefa8a409fd67ddc23ea4d19e4385cfe61559db18f185605c0ec93ce0b14d354a1e6f9a046925cadbf2cf43b86b9d70175dc22dbb9ff7806241d90780f2dae010600d9154943d2c3b1d6da2d24ee40bc2f338b21d72528f3368828132f4d11b384a485498f5802e06f207162b0b6906f6840f1620cfb57122f940a60fe0deca315817d3426f97a7b24879a1d0fb2ca4a4f6359ae3745f7575edac3b2354689757fbaab585b8a1c2c9ff6cc01865fdf884fcd72e0efe3a4751ab503e1918192ae86e3d5c9bf449ec5aff21c711d3129c6ff79e7eed0384c450261c9667ffa9ffe9116c8d0ac003267a4af371622f2363c11ccc98c7f04bed7e9439db5e1d6915cae0e1133b4c42dfd6df46e9c4c336a2cc5aca94305fc9e197
115900105b2d0000015b00000002007c6945073c55eab06f4fd75c92adcc2891dec7011fd1b13b1b8f06ed0b69c5164294c458d34f050131359496344bf946baab10846475d1e19c6815018e8c1a9772bf2d9f0f63659f191b7cd55d81ba031b6822aee425b8d1de6c39db2e2f5f50b217b10494cfddf16b22d58d575ed7d304173e795eca0b04a5f55325c8b7dd2f127e6a3ef9db022ac0368904fe97f8e076b2ba7116148819df0c19dae2d95b0536184865b2daa70979bbbbdc68b6431785504706f1ea77964cac1c24872a39fad278cf1e581acd07231d232a4db9889741cc6a083ad7f217c0c8b407f8b73a5971cf2cc83d6cde9e1b874744ab9ce90821efcd7c72e20ef9c56c9a911d431ecb5c8ae10b360d34cbf3bd4cb0e7a6671725cf2c38abee560bdd7335213ed4ff83dc3cf0b914e466af6f062e0c733c4627dd058206cac8c2334fee6c8ee37cc10ceb8b4291396de26e3b5967ed0af19ab1bf5be80d47b5ba820f935f87bd584073fee2e852e812d90d73fb03377d56fae9215e0e4b0a7772d58b48ee0db21228b8a836e710c3ef96465c024907d7749710c988bb48dd2bc4b1e05acdda95745c6ad63317111cf2a5917838f37fd22c3cde09bd2c270484a61171899923ddee59eff70a2109cbe36eaae87a521228abd18bb9a0ef0fc5421aa609a58489ca9993133008c1a24da6c5c21b35b7628f1817513895d313b951ee9fde736f732e5b27d8e16fc3bb5f876b14cc16e238e420530c802ebbb806e81e3704df2514cfa0802d560174ec229ce0b5fcb0b163b44f8f15418521a53370709460367f10b6078a0e08d778156af0bb74b5c51b6025ce012d951de442798d8e177fdd10b00f0d360f6f24d259f13799ff3365d91782acdb82f78300ccf77f48f9219cf59768d12f17a500f8f2277bf688d066181a72ce77ee9a64a1187a5af8008dbaebe041a3d54966ad7beb77e799190ecdd15395df98665a2f3e3e6d109d14b7ffc51a3e74c8d2ae782f1c169b4b6964cd7d7ba83c0e1ac29b917ce581a21be5254a00bed0e45265f01a1d68e063773add8017a6ac85f204efa64ceb6efe1da84d9643128113a8fe992739e5b6dc382734a71ed4cf1cd55dddb35c3c18e3f9d262510661bd151f6b57066668e9b575e0d645304a5907bf195fb920d856effc3eb7b4d34a9cc85aa3402bdd335fbc21cd7a907ecf8f419d8bd44539ae05b3035b489e223a5a1ead92c89e93fa4abeef06770607b70ceb230d111c169273826117ae0e0d02f5b43bcaeb8d27070de1afa66a5a7f9879bfdab7381aa271e8322740aa834c390e716b35976cdefe810ae042c8f027513c3860e8a7f76476aeba231e4a4f2ccdabe8293b0d408c75ed02a9bda264ce2fc8501eeda69a294ee6673e7070649f3c67395ebf164ad0979cf129978419b8e391705ce898df27ce770978c20fc72a5924d2520f8ffe50c386271ded4b9a8b0fb3ea2d5c1cd56d1e14a1ebf6ab4b20e9066ab38aef362d894a1133031e81be5e3e08b02be291ef1f39d22dc16164d8a718c6e4b2b73edd48452a3b7a46b52dd6f01c3ef754ee2e2d6ce79a5a3965b4d6ddac2e3ab1dc4d933e69bfe402beff399aa34c7ab9372e9436691ad46e3069a139fec3f3ddc6c9e67e442ea89d141dd4b9b3ba7922e587db2b0366625b872ecf50eebbde2f3eda62eb635d9de55d24e3fcbb302cc6b5bd5f193cf3355957aab10eb27e564fd130b56e2690ec3636501a6c856bee95ab82065e9631bf50ebfeec16604b53c87b10952fea9f4719753260955acc3bc787591e873bdea9d117842a60ab3264777dacecd86cb6b5b2f67b7e52b7b3b9f06a33676f526bc7737149298d0fa70f4e5d5348526833ad55574f58352d038578ea0d6354d2ddff5674345c20d98d68d63f740bdca3593a65887029c277357345af5951be662e1a21ff4705cb13fc4592bd36a2c569d6b989532918b78386618ec949022ff437cce523da78bc8ab11a94cbc9c1bff1f7f11b1039e7abdb6934b29a99cfc7da941b54d1b8d903d03bcbe6318124a62da01f150fc08982b46644575f3bed8bdcb530ae89695497dba34cf0a156621e613c3eabd0db7f47accb5fee2635c6ad25917e826b3c4b996d7ae9dbce915ef2f9aada9c03237d1c803cb255b92a6290e959f44b2cd47821c32afddda73d08f3929e025ab6f86cf685cb4b0233f1dc589f3eebdad5db2630326a5eb03c57f4b6185cb5fd5c3efdfc76a31279952f1bd144a9498ad54fb6dfba3f4b0c0e8772492297b8583519680571bcb727943fd5fb6b17c66f1b8c765e00b5e164f2e4032883408981d3ce05e9b523a1266fac70ae104fa8177f41c0501876d291cb0f9fb85ed3ba9c046322c00d4213cd7ff5aff196a4e4c3d547020eb0435be11842d9c947ed9f677aaba504845b1951f62873f2c243054de086339dcc4009894706c98c181ab1c61643839cb0dcdf2933d2032ccddfd28611963e695545bfb13eacbd6acf0f27e813a2e265c3aa47409946cbd8dbcc3a58ca72f8d5ba3cc4be238fd29ee14709f8a0aa3d242b8dbcf4aceef0b54cd2991a5a470ed2f193b00dc16bb68a24e50c751016f1276647577dae7936b352146c39a3a3f7963d4025748f4833954663b372ccf570aa2d9559b72ef21b5421492b5ded6b4a3a714cef3885ad420fc10c1f381a4957a9d64299045a3fd7cfde21a99bbe2a0e7a56498988ce6f0c7bb9f7f514113eac1f0db87e66864a01b7503c7844e266e928c0edd0c47bcc229e9c4b574cc7895b6857c91d94c3e0de7321762d0b234b8586afebb6d43252a3b9fbd956679b2c63b4fb4cea77c61a68d3e80ddb236c6fdb991266f09dab4d0abbe31b02ef9668e66c67d1738b87523473f34d25eac0c8f037d8c215a6a97611a1579e396fe24d740fd36850892253c44fb6604c91019b7abf344da6ad6eab4bdf4edcbd026b161150e9baa429334dfc8bc79e295f0a4ef489aa2e06c8920cfcb8894e0b750a469aeca265fcdabde2a3a070b2992ae15014b76695990945a00a9bb1671c052c000eaa6050597662b67815d37a236e641fa15ce8814e4eda537a2dee9800a21936589207465aed1293d6413753802d78a397869ea5dcc5c4ee0caa55ef3ad6dd53a15125275970d6454fb5f2971ae06b1d4d67ac5501e1e8b692b365903ebbb63930c1b53007d68b5518f7c01d74c41c08a2e2dc78ded37c59d72381556c572bf02013506fd4c62a234dbaf63690a02355897da18d8f86bbc928dcaf9fcf190dd29cba9255ec9411e64979b77b4e7e01bf81aed292ea28c6573fb2a90b0a41a0ec4ec72d87f4dabcc0e3fee15840bd2a8648cf81f3b8fd147a02b943ac3014355851e24557b9c6cb0cdc4ca8b62801a3cee7eb5059c1fd5064c4cd098eebb9203c75c3e86bed38fd5ac0d0a8d14613c43da95151789afa894c6cfe355b46e1c851fe3d41629d96fcd566a3c0f35912c75e8241f3fa4a1478dec97fa6dd3b34c9ae18fd2d5eb79e94178a4b2268f5f96250efb14460ef9d445f530277e6f309072f0b77793d2b7af542a204015f64f55a6857bb4f52534be89a202cd24570b160600be23b9e538bfc9620ca9efc7743e2c6517959602f8fd2749da9249fe2590c383489b90137024c62b49ea2f000051bc076c652d34ff629fbcb838d62c1bebb5ee1aac5c439fdb120aa196a7c62b08b63a8b78968a12e1f57fe4339ad74ed6f00d294ff63b668f52c121110048eb1914efa187127faf21c653d76bda18be838192a07af897a3d20739134f96598eb7c5c8deda573bcde4806c8215c981eb9a565ce2320032ebeede5ed34ee5f7c69eb1723753b6855944a7e041c6d358f1b799c58de3640aecdd66b308dd4d9ac64a4771eae1670211bb9fd2806c16b4ec88a03dead83084f4dca0886d37189fa49646b4eea4acc97b32ec28ec682242e7fd0b1e8aab96c05270ab2edd4597d0c8f6afc9e6050b96db9356d9abb678da011e1131fedac4e30a4209f1874786dfc26c8d9b3da3f6663ebe34d55cf3ce62c18756e10a2b15e20dac04f148b982cd273617258502c6e1541eaed01e1c6bedbc9dab8b646999706d7d26e4ecb23e9d32bb21b7fbf5138825d39f2faff646e988dcabf17dd97a6010f635e4f0367afdb95766f91010a0ffc713e427fd908842e228cc9b8177c70d3430c87a52d7d95485605f55ef730fa94ae3470f4254871018c76fe434d78cf7d96949353af65719b2effe18214389ee4b19fdc4c91dde058d47e7387e5cdb7ed9f3a8897b18b1c371801dbb8cf3773cb774a9010fe5780cb197e1f0f937fc43424177754c7439b5a35889609fed478ee65d69bb4218578024be5f829db71a2040dcc76315fbb35d96ee478cf60a9f76683d86ea873817432705ba60d4a8b78e83aa8fdae8d1a81ff642f36dafc457e9a4e9679531b8ab53601994c5b13d5ad7f437c7b1ab4ed796573404a00023dda6994126b47333dd9e4bac1799fbd94b5783bf83d2af58c46e9dd2e6d922ed67bdad4d682971b1ee09e82c60e22d536a98adfc87bf3f6e939f7dab686583c643029cc6d9e31893b7d0543d8eae74a137e8413f3f74b80b6e00ddac77ddfde6201f6359e3c1e04a73c198cb64772ca3c7f0abaf080d0bcdd4fc88fb88ed09ef2bb8d1be17fd28643f101f1a207f9b1c809921d5ea509ee9d807fcc623cbbc322d35a8c402985483ba3a2c0a280d3bb64c27716a6b5c8db952a270d9cc64c659481995aa4563e675f6091f0b95da11ba599565aff8305a8ce5aa218f02f02dd9d0401c5aa4b0f1519831f2da4a7fb4ef86ab5cf0e927678acc32eb38a838ea8fbda3766620c321ea7b5b96c14db8984cb847fb8ee166d68b632003321d7c7de979d2a96b084cbadc1b2f42b3669fe876fa4fbbc64e28260508722528f2d015d1ec5fd3c4696db8d51d331fb5f883eb3913a3770f4b1a70938ab3a439c496844e188f00e3435730f77b355916b6a8aac9241e4cc1d8964eae4adbefa35a42c5b5c48b61e39a4630d3c896c47960201e280486b62b5a9c0644bbc511c2b8a7f3cfeef09d4a8f32f30afa026f04cacd473a58aa84186c180ceed0a9bb49abc00bbff675377d68aefbd036cf42d0eae63f417177a490a405990658afeaf93d50d6506c74b895bc2662db6133522348bd4bec998cc24eb935448bad43c406bd73663b88bee138c943b3dbe386c991234c42d8f89cc07ed8cd8ae0eadb35ebb07563096e01b9c205aeb36548d36e0c28ef1a4b97355afa00ef62df55cdb5a2b8d77791e3029814f3c6020825122fe054aeb3d828df704581d411f8fb564ca3b2da1eb86d651e4568e07cc7b0f794df638baec20b54b063d67fa05908e613fbf44a40380ac9a4d90aea21a9f61e4134a8ed716ed282ae3f3017e54941dbcbe1be6797cf28f0aaf4d69e263cf31985b3a9fa3cd930e8b0fe58f9b6fb42889603c0fc3dc3e77c2f63835a84b819090bdc19142e5a8255b117c246aa48c658227b991d13efa021a14390c6e8a55a8c3f07bd63b823291d9e2cc036e5c2f0fff94dfe8a0369a014e98ee933a295ea0edb0b8ccfec07c0dd8511dc2dbf5ca94763ea6c2452327ed13b413ed7d1283dcb33b3796834edc0f5e9bae7f91e8d2de662ef632b68bd0983fcce3a12a80d7a0b4cc8d52ee59d31d748d8198c07887a15adfa530cc75662afe460d3de2fd78995828fcc2d94ccf637123426212c7468ff3cc4c9ae71d693dd07555ec4e759eacfa2c298f7ea7ab9c5ae020dd98317132cda406d8af0cc370b766bb9cf1c9c8aa083b723ca2a96c1a34c174205d31c69d1df10c659b3d665b0b3e649db7631dca716ebf9f749b8da1f1db7c525696cc3cd9d0a9ae28e473a01299a7ab128c638601eefd80d4ea3d9a6187d7a03ae94fc00996305553832791d14d6895403148a166a71f8a220fdbce7b804cd834614e1306054fa2cea9eafc1e5cb50307b647d400aec60d878495a363fc94386b00db8e3ea4ebd5a29af645b756dca3fb99d251e9a498bf23661cf0c437aafd0fc827a4f736f18a9de032e4499d145d1fd11e6a767feaa67e5bf3d153e6fa57bbfa76461908c8ea146c5ba69b3e6d2d421573684121d50ec1cfa2b5cb4439a8124f15425f67f4dfbf6e6f5bd07ded015d868ba83b35e976ada4888f2c3111c00bfb410d87e7f0a83e0b20e94bdc2c01c46c444504f9368149d136a88b4ed9afe2b1f2706d0cf29b6c6def1725d01fa9eb497dea36a107f476659c4fe97b60870eee9caa4824a2e398edc8f3bd7974ed6cdd859c9b2c79aba1e00bf20496b3643c2a51d9d34466356c6694abb5715f45f2f4bd4ba8b40f7fd8f13cc1aad6f0ac25a4a8fcf6812aa32a476fd781fabc8ad06a31acedd7e79ea5351bfd6c79741aa2592566cd7a20ad76213cd4243395cb17e550d548a6f0b2fa8203af20c1fd3d077e167d5f520e0ba9ca6f50005ae9af3e18ff9283139bd885f779d931cf1c8ff9bcecaf4e80406d982e8cf4e7470ffbc63c59fd5476a8afc336097a2261de75fbee833e04bc0def34b8d3afc900b844c7a17a8841070b2babc111093acf63afca982445515a8004f1bc852cb0e48ea67914f8b04bd5e53b5d72e912d68e09d7f326f5c14fce28b13086b339e6370c93cf44f074e163f890af5f4bb14e5dc6b21afb10a9e2b65111c7789655d11d55b1aa28429bb3558be1997a066e9eb2b548566a68b226c622f08f5b47056b45185f512dafd7ef5180b274cc0bbb9d6db2191f45ec231e9c5e2538dc98b2ff7151bb31029a57e6dd2ab52aa5b7e431ef4ab3c971e982c9db91f4c706ca1a6a515312f5851eb42ae3ae174f045613d5d3302067fde42dbd6a48b46e65725fd34f8323c832853103a614b7c6aec5b530319765af68b78817a8d02cc204a82c0a97eab53c03741bde7b5acf6da9aa8935ab1cf33d9630b54a932a77618d0b8059660e7dbe6efe083a8d40b574c7ddbfedc6a12de35fccaf75a02b3a588bd7b5b1b91f9ea1ab18efbf470f3dda1ffd9d1e09b6b5febf5acc0dc93c3470e66f11082d74837fd74db73b4c2ddf4379b27d94b070d90c092b0ababdb9b8cc2d2e058f4d2df8154c36ac6c5643ac9d3bd6b9310cd63a8b69e898890654373fb35c97d14239bacd6c24f64933dc530aea2ded84045f9d41881ebb83d16dc6b2c00ad4c9f54f1ccf6d702fb1fceabb949b00ec529aff03e73f480e6a7737fb855c3abc092a1ce0e40ec860402f7297ac62086f117adfbe155bc262e6ab68956b319f82585e5eebcb6e28be4e0e62e7ee717df1d3ab5df740bcdde8b12b46be9245b77adbcae439024fc1f16337f40a8b10e3bfec37f0742677861909b3f695c4451f39dad3d0c0968704d867250739fc9c9045832e85127957c3c09e10798616efffb8604c08f0193a766a99a4dec123c77c216d9c9144affce43daa5a2a61cc900dc1739b10a74545202d2fe93b1b0e7e4db44e0caec1e3768aa6ac75ebb67dcc891c61795a47180babc2280a08e209552c2bb006e92d69e2f7b78ff980c231d8cce78d718ca33dc37b3f8badae99222e44c33d16321b15d2bb2207d78bf3886a04b954a2bac411a706aac99f82529114e3ccfc642640974a49c4b5093ac925588be904e529719ba939f0134b6fc50689221fd0c495a49adca1e63d13e9d9704cbcc5349893c76ac1192ed8b28c76bbf96d5e99e615c5ff254bdcd2c84a24615c3611b712c82a3c9fcbc72533f6bb7ec020fccecdbbd127ada0f34ddd99c89604d3acc9910c27748e30947cf621a96651b1c9fdc60258f70d6d281c7c2f8bbe1214e33a4e40cb4d202852d1fd8ab79c8f8c008b497eaadd9ed5cb800d088af5338c58703beba55962394a98c867cc2562243fcd291960aa44e940f27c88582fe8f6ccb87722e199505c347ec2df59b4328c339618fecccea0c87100c17c829f303196e8fefdcc53a67fcd459df947e6ded41780d7bb723d1cb4eab073c8cd9bbcdae18e7fd308abd89770b61a5628d1bc1ecdaad16a0f733541334b530c1a500e9f27426198ce3db7f51c4df8fff7b6c1f2dda4f453a0c1c2a5d096394a234a484e154ce33a8d62cc4d7347ae22d23d1713008d50864fb11694a44346fa370ad378d3817631ca7a981dde284dc9066c2a6c823507aad4c6a7da51af6e616d0c0ee1dbe71bb321335c8fd4e3842e99b26c9040ab6f458eeff96bcbf88aded51c581682c184eb2abf15eea971529da6ed58ded58500495e04df161584af93c636db5b4f77568bd6bd27299e7d86e33d2d3be54abf1e8ffb33fc0fd6f0f2c3b2a717a022958fa02aaa9e2e699be6dad70460ba3bfd077b8553cc286e9d8300ab8b5bf9d731cd7e4c4d058bccf35f565af931e214c203e2d7d06c4964f92c0e383da4ac9ff19037def77387d81976c9bd2d9d438f60bd2c3be756d06667af0ad84f68454eacb8eccd7e95ed02defe097ecbf41cdbca45589d22a562620c73e4148753d264235511dbd425f360fc4827fb01c1b7e7851c2457ace841de1f4162749d2cdfe6f97d7ad0e5422ecbc87bd3dec2b4f73ba4f02a67119330afd09e802da89098df1be32a7b9c53993ccc3ee3a4632690b4a893e9dff34c3cafd0ee8c06057f3425c6c70cacb86119e05afd54b959adfabdb1d3e045450e84535d19e0e07e09a2b0daea65ef2548c72179b66713a09da7e193195e900160bb94c0e5bae797d59352850afce24197d5d652de5610ad88a2c151af6f53bbc925e2456ba9641b9ba1e649002e03f277fa067db834e26591776afcb7727416bd1d5fdbd369abb30b76e2b755450ca5ddf3ee672a02c38fe6ac47f3c26de3378f58d557c4a92838dfb8ad201e1307096a40e3bd329dd376399f9c0341f483250f96aa9b4cfce3d4f6722eb0257a92d9898050f802b71a89304fe3e27b50f65f1bbb201c83bff131320a2cfd7ea8e4a0970f513ed39f890e0dfe2d3c142dd41d194ee521ee16d0e5fcbdd7751532e4a3d29b679b55a6e533bde2ccaa58bf12b759997533119d07a79a3ae652bb379e8b037568e9e20d156a4febb4b3a045e7ac2c49710f5657760bcb34abf65802f8c8e13ce83764b7e92bbc80f65af1944ed41554c9b65ebee893721a8fc0789a494e3d8ae644df9fb4550c0fe904532df9ed9d033714b31e2365017ed525be9be93d17a8b9f3ad2a1a16e1e051060f02b1f48f34ea5453dd7649bc864957da6b8aaecaca8a28084aebf10e835e01f9d2336d4930c71e7f991b423ef5ecee9f2e086352401b083f4df0dd91eff59ada33ed92ec9f8a017190e8c41c8e8723e57fb955e7daeddb03451ff947e1e4ee076afd8fcf003ecd9c57ee7962db2863140ed83914f82ba84391743b706ceedef1eccc899f1d978d4bca88a5c11118ada978ef4c3d8b5a519e5b345893a6cd8323d7c72f76b3ef951c29b08e90f00d37216819b2451895821443f2cf43b86b9d70175dc22dbb9ff7806241d90780f37d4c3197f38553b520dcac9ed4b8e81700f088f3896c76ea048deeedd510b93101b0bcdf6f9c22f3b80f1ea92701509565daa0b76f7ddc255a7f69f4c0943120111acd9eee0f175f5730df46f86888f52fb1cc329f986336e39ea0fc404fee964aef37f58f4a8732b4db186c0210bd96aad687708475c4f6a46c5b2bf54d8ace556b3fcb3ae3cc7f5b1819f714108462c4b468b61c1c1ba935ae396b744916fd1ae776eeecef697b1d403f27f9d29c2d593a06fe2c4d3bdccc3984f0154cbfe4e441f1de74e830fe879a6d4076ab01da0113690023622414091aa02c0a8452a01dc0cbc635d6ec58c4235460677ab59f18adef0b4be358fb3852eb2cda2a3b0668ebf0