From ed1e0af6be85cd25d135a6c123f8526d1fcf3b30 Mon Sep 17 00:00:00 2001 From: Antony Denyer Date: Fri, 22 Nov 2019 14:21:38 +0000 Subject: [PATCH] test: only check after the class declaration the version changes with each releast --- .../web3j/aion/codegen/AionGeneratorTest.kt | 4 +-- .../src/test/resources/erc20/ERC20Token.java | 30 ------------------- 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/codegen/src/test/kotlin/org/web3j/aion/codegen/AionGeneratorTest.kt b/codegen/src/test/kotlin/org/web3j/aion/codegen/AionGeneratorTest.kt index 7727013..c26cd4c 100644 --- a/codegen/src/test/kotlin/org/web3j/aion/codegen/AionGeneratorTest.kt +++ b/codegen/src/test/kotlin/org/web3j/aion/codegen/AionGeneratorTest.kt @@ -13,8 +13,8 @@ package org.web3j.aion.codegen import assertk.assertThat +import assertk.assertions.endsWith import assertk.assertions.exists -import assertk.assertions.isEqualTo import org.junit.jupiter.api.Test import org.junit.jupiter.api.io.TempDir import java.nio.file.Files @@ -41,7 +41,7 @@ class AionGeneratorTest { val actualCode = Paths.get(tmpFolder.toString(), "erc20", "ERC20Token.java") assertThat(actualCode.toFile()).exists() - assertThat(Files.readString(actualCode)).isEqualTo( + assertThat(Files.readString(actualCode)).endsWith( Files.readString(Paths.get(expectedCode?.file ?: "")) ) } diff --git a/codegen/src/test/resources/erc20/ERC20Token.java b/codegen/src/test/resources/erc20/ERC20Token.java index 415072a..461f26a 100644 --- a/codegen/src/test/resources/erc20/ERC20Token.java +++ b/codegen/src/test/resources/erc20/ERC20Token.java @@ -1,33 +1,3 @@ -package erc20; - -import java.math.BigInteger; -import java.util.Arrays; -import java.util.Collections; -import org.web3j.abi.FunctionEncoder; -import org.web3j.abi.TypeReference; -import org.web3j.abi.datatypes.Bool; -import org.web3j.abi.datatypes.Function; -import org.web3j.abi.datatypes.Type; -import org.web3j.abi.datatypes.Utf8String; -import org.web3j.abi.datatypes.primitive.Int; -import org.web3j.aion.tx.AvmAionContract; -import org.web3j.crypto.Credentials; -import org.web3j.protocol.Web3j; -import org.web3j.protocol.core.RemoteCall; -import org.web3j.protocol.core.RemoteFunctionCall; -import org.web3j.protocol.core.methods.response.TransactionReceipt; -import org.web3j.tx.TransactionManager; -import org.web3j.tx.gas.ContractGasProvider; - -/** - *

Auto generated code. - *

Do not modify! - *

Please use the web3j command line tools, - * or the org.web3j.codegen.SolidityFunctionWrapperGenerator in the - * codegen module to update. - * - *

Generated with web3j version 4.6.0-SNAPSHOT. - */ @SuppressWarnings("rawtypes") public class ERC20Token extends AvmAionContract { private static final String BINARY = "00005876504b0304140008080800d66bd34e000000000000000000000000140004004d4554412d494e462f4d414e49464553542e4d46feca0000f34dcccb4c4b2d2ed10d4b2d2acecccfb35230d433e0e5f24dccccd375ce492c2eb65248cecfd54bad48cc2dc849d54b492c28d0730d72363208c9cf4ecde3e5e2e50200504b07089a44432d4400000042000000504b0304140008080800d66bd34e00000000000000000000000021000000636f6d2f6578616d706c652f646170702f4552433230546f6b656e2e636c617373a555f97713e715bd83479e913c04e380c262b01d1a2adbc5224b31711c5a2fd0d8d8b8c4aca669329606233c9a51e49188d325ddf7bda40da44d9b746fa125766bd4902624f9a1e7f45f6ab3dc37331aa448879e9cd8c7fee67d6fbbefbe376ffef3ce2baf01d887b7146ccfb8f9b4f594992fd8563a6b160ae9838f8eddb7f798bb68391a1405ede7cdb299b64d67213d337fdeca781a5a146cb8653520060a54c7cc5b0a3aa66ed9cf7ac59cb3f09082d6a5e5fcbc6b2bd0b356269737ed2505ca04eff339c7b38a0ad64f99e57c7a249b2d5a4b4be2605bd90551ec9c728b0b6933e73a69b1282d59453b379f1ee1c5b459a0e5c3b73518ae8b5b036dca25b003f48f9bb6ed5e309d0cb19fff20b13e4c5a49dce6b99e69cf960a057b996c4cb2e8e19c93f30e286849f59e30b0099b13509154b029d5dbc8aa81566871acc356037af0b4dd779d30104742e49dbe3c69a003778adcc372e74d5b8a9d39cbcea6ea608ae17adc2186f728b8a31eb4868f2ad0caa65df25def4c4df6bebf2c03bde84b20857e059db76347c31e05c682e5cd14c7adb366c9f614ec4f4dbd7fce1e6abce96dbc3290c6de0406702f8bb389e3846034703fba05cb030a76d497d950737b50f3205b92711dcfcc394b872db664731348bd73061ec490e4630b5b588382ddcdec9a017d1807c4f1137c0dbca2e92c9d9501df588f6eb2778edccbcda8ed661633e70847c3186b63ae31ceaaf86ce03cd43a19388843098ce353c45428790626024e3854fab130958ea9ba973918230d4768c3d8a3cb9ec5b7524df59e1935f0691c4d60068f92939a441a8ef9732bb623c5a2b96ce084181ec749a9c90d420a73934d07f634e6a4276788d27669d7963a331afccabc3f86cf4a0d8f73ceb8868a6ed9921238fefa882f9ab68e0c07a7cadda1a29be782b84d7727a55dedd897607b994e956d63a00d86f4fb3c5f38ebc9127791015b5a7a1c0ca74ed346874bc253b5d09e1468a45e1fced8e15bbaabe98c9bf3b9f4c8e8c4b89571b356514389e590de71d3330d5c10b6c6f19482582a88bc094f2750c6e7d8d4acef32e358015f06be802da2fb22db16e926b82fb9180d7c093b44f9e55a6558b781afca3894f135a9990314d94c5bde39377b848bdac03783e8dfd2d12aadcecb3ed9224c7defff9476d0094bfb01415b4e1d6805c95463e7fd91fa117e9cc00ff1131dba2c2c3fd5b33ae2b2ad7688f01c6146e1c23a85a809dffd329e17f75fe8e8907dd62d1ebfe28723f2901d24e693bef98b7849cc7fa36397815df88898ff5e47bb8e113a458c8993813f4bb832fe626004a36279b516caa8ebda96e948ec393ff6df704d62bfac832d35038fbfeb20a716ce8a705d47ce402ed0bcc2392b5a65abc8d17b5556fa38fec5e99acd2d38a6572af2b3a38e311151cd7a666691fbf198396f534eccbaa562c63a94b32df43090ca4fb6866db2f6f9b44d96be7f72d9fb27e79a6742763814bccee775d840b9bd46de48991f033eafe71dbf30fc7f93d2469e0acf58df75dcf532e4272ef310aadb7d25a0ae60dbb550ab37d37656b5ec69a3b6eb4aa865ff22edbaaaf6eeaba196ed0ab53b59b47877ac60775fbc828fade1be9b48ade1e3555bbedda1ed106d25d63d2bd8dfb786e1cb88c5af06cf9fbc8981fe0677056ff07f0b149940363e8cf32cebd6792e57f0c811e6dd53e738a83640196c4daa5d179fc74457fce20b184bb67699f23024bed458beede193e227ba50ec985ec3ec9e359c22be535d157c8662054fa8575aae44d81250dec1050dc7559510cd08e20262fc05a60388fbf7f8e5266f60e0f475cc0fa972b555f5b3649b66097c8496beae108f7a2bad0ee57fe8615a26e5448749df242f6d3c2f33e950131662bcaa277950ebdbaa56706e309e8c759311331997632ea975fb0c1df5391064fdfcebae4147a662ddb788abf670abca08357cf64ba4087f0d714928efe23968ac41d8f31954fd79c9452416588f90789af5ac60710dce251c69286bd46feabe9ea0a7031d851071c4e592b8f4446de5187799abb8bb0e4e0cca7f7192bc7ad10bf7880c1ecfe11b2813c1f2757cfe30e33eb38a6dc1d1c9e32babe8e2f1f5552c86bd5dc5eee8697ff53dfd068e065195bd5c097c0794787dd46f4ff5ff1b5acbabfab5fe8eeface1bb9790a8e0fb15fc94f2c5aafcb340fe7955be54c12f29bf50957f5dc16f29ffce9737f69d26aec74f56f087e0fa8ffe7532b8aeeace05ba3ff9babb22dd95c74e51f9d70a56a85c6daafc47a05cf3959d3551238b4a60f1cfa6ee374459c16bcab5a8079bd1f636b668286b98d9c09fe4f6cece9e4e2adff41763ec3d504b070825f7f63390060000140d0000504b0304140008080800d66bd34e0000000000000000000000002f0000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d6170456e7472792e636c6173738d54db6ed340103d9bab135c48d3002d94424b5a6c278dc3a5059a28085545aad28a8756967874c32a71310eb29d08fe89079008483cf0017c1462d6768b4b4cc443762e7b66e6f88c363f7f7dff01601b3b0cead0edeba635747473fc561f79dcb5ad13fd39250ecd77d5c8ee39befb210fc6f0aadddd393835c7a66e9b4e5f7f7972ca7b7ecb48c875a6536166e45bb62e9a075ddbc7ddd6b1d1eab4184a7f17e49161584828ca23c72047e41a02c0b03ceb43f228fc29085a30cc5d689c87cc908daed26f389de5e92fa02be24bc0b1698fb8880c8a320e7fef33d40efe5b4b2a6acd449fc9d28857c5b4caf903cbab36195666b611c8b6e5587e87614f990dfdd7bee219d5602828210dd590711d8b05a4b04c4a28225ec24a1159dc9671052571b32aa31c7a776554705578eb44aacffdaed0b8a2a8492a671535d059229c114a2d52426cc93b4f6d28090c93da498ae01b960f4c6fb03b7ccd03cafb32743405e5fb0c45b3d7e31ea9da245d9fcd56ebe23613879eb5db12ed0a4756df31fd914b7333e17879df71b8bb6b9b9ec73d821f0d476e8fbfb06c8e5552290b067a00e49194e46fd38b4d619e7ee558bc401ec97a1e5f2b95c452c8a7e74aebb841b9c714ad93cd905dd26a13dcd2bee18e569f604ddb9ca0aab109363e03c15f826872934aef41894ae7296264b3da17ac7d8ac1544a6b89b06a1c56a3741d9b116c916c9aac2c6087824db51e4737084d2ba153a02b515349ccfe8a071f05b024e1211e4588e9b174bd95781d914fe3099d659a954211970299e77039578818a4f134b0d26f504b070807b2fcd14702000027050000504b0304140008080800d66bd34e0000000000000000000000002b0000006f72672f61696f6e2f61766d2f757365726c69622f6162692f414249457863657074696f6e2e636c6173734d8e3d4b03411086df399353ce4413c1269d85e007b89d8d12d0a810b13278fd242ec7c86657f6f6827fcb4ab0f007f8a3c48929cc14f3f1ce3b0ff3fdf3f905e01c7dc26188956109def0626e9ada462753c3533157d7e3dbb7997d4dbadc0411062fbc60e3d857e6b1f149e6766dbf41e8af5f9c2dcd849e02855d6963ade2d3f88640f76dac4299f9a5784943c2fed1c33f7e92a2f8eae2b8eca0c07681163a84ee28f83ab14f25bbc6125aa3f0aca5988426ceec9d388b0364ea553006c8a14f6347a70c5bdad112a57957953dd532adf9c9e907baefab67d0fbf3b67f01504b07080969797ee00000001e010000504b0304140008080800d66bd34e000000000000000000000000350000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d61704b65794974657261746f722e636c6173738d52cb4ec250103d833ca4564145f1fd44057c5417baa9c118a38951c302c2fe8a3758535bd35e8cfe952e7cc4851fe04719a788313ed2d045cf9db96766ce9cdcb7f79757005b582218aed73084e53a86b8be349abef46cebd4d8e5c489b8cab5f148de1e2ae909e57a0910a17c1c56b55d3d32ab35b3b4d68ebf4acde30b712d8ca6b26ce32b17704b2661a51319df1aa28481bfcd128813f436792db8274c84354e20c98dfe2e4948fd1a492874a270df51de6d02bddf325a19425c9d5b7e6e9d30156a1d3b11dfb61c4b9508b3f9706aa1a6238dfe2422c8e818c0a0861886095147de2842265ff8f4db164ec3289f5ec8bae2f6b17c812d272403565bdc2a533bdeced4318e098da74e123451af4bdfcf6daef36a3be1827f76f9479c8e69cc68e8c32c2fb1e79e495659b11a8e504d8fcffaa1e3486fcf16be2f7d1e5d719b5e5d1e58b6c406ab8981c08f339d0e4ce1d71de1984de1ff3c47598e238c3dc5e5070c15979f90bd47f0114630ca570129c3113176171f31f58cb9bb1623d76a36862e2cf029c00834f4f09018a3ce4fb18f31c5959fcc2e2cb6b0fb03504b07083f52a2229f01000067030000504b0304140008080800d66bd34e000000000000000000000000320000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d61704974657261746f722e636c6173739555df53d45614feee6e20ee1a15b4da1f5a045c65378b046cadda451110dad5056b9762b52f0de9156297842659c6f61fe85fd197ce30bcf4a1ceb0e8d899ea73dffaff74da7e37896829dda53b9b39f79e7b7e7ce7bbe724bffdf9ec57001fe07381613f58b66cd7f72c7b7dd56a863268b84bd6241573f65a2195d5480676e4073a8440cf437bddb61ab6b76cdd5e7a289d484756c0484d47d4a9c0b9b661a76ad27e30ef7f2575740b9c6a67abe380406ec741a0b41fc0335e147cabe3e02b5cb146e0c8ae8a0406db234d501e11e89a4af2eb4e335068048ab5fd15591138b016c81441b9bdd7eb709523b3a58e2a71bde14702a22ad01dadb8616154a0af6d3c86e81e773d37ba2630d01e70a5b468e06dbc934306ef0a648b6a7f12a7f3d0d04fe6966554930fa2393f8c92facd6269bf0c1818c4993c722818388a632ac539036fe22db52ab236c91a5d19b21fbff81ffc183051ce41c7b0811338ae828d18782359911b7dc50ee7e5a328aee63efbc8e326a5f37c27f4bb6ee26a07fbf1855b9585c5cab591d7fd5e2ae9afa9dc062e2970062ef36a3d325377bf93063e5444e8a055a103a3299b97705539f052fbe3696c466ec39af7eb4d6765a62157c9e6cc2347ae4574d3713d8f497583dd815cf5d7d9c279db716418162e8e92a3890e6dfc0f1a4ab5ddc34f303730936749b39cfae2bfcff77499c6c7aa1baaafb05c5158ee77e8d0bda2efbb036fa1a672ce091c0da51d382bb37e325ac9501ddf0b7bd5c06d7c9227d5777883d3f10be0503db29daf197dc15e6a709fabbbcb9e1d3503ae8daae7c960ba6187a16ae67cdd6f068e9c751b521b604b6a7ceb76f1e10840fdd8a9b13c914a0e04d0d3a3a6903b657d12a72050e7ea32b28c000c9be516facc271830cbdb38dbc290996da1649a5b18dac2798ad285162c53b430f6388e2a7001efa551ce3286a03c2c68686d40d736a1657f8aad16627419e33adf30781f1769aa5c7e4f13ff206aa9d3f74a249b2d5cd940af992e997713df2808da97099ef11fd16fde8b157b80dcc40d91a82636764e275e40ffafaa36714c154679f0174cde7b82a9e78a8eb1f2cf3b150ca2eb0f147518c3a37ff1de32fc93f2974bea69f3199f0cbf7f828d783a65e60ecb54cc8c33571f9fb1a7f8681b37efa6350f99a9dea2fe29e65b896628d56ce353c27dbc8382b12a4cb11803d2983c873c7a993c874334c9501ed6f82da5eca5bc1b03eafa1b504b0708b06c44ef7b03000099070000504b0304140008080800d66bd34e000000000000000000000000290000006f72672f61696f6e2f61766d2f757365726c69622f6162692f414249456e636f6465722e636c6173739598df771b4715c7ef4a2bed5a7192956c494e223b92d31fb27e4489da2885d4054b8a8b1c3b2948a44d5ca8d7f6da96ab48aeb44ee31692425d28014a43e92f28a4fc38f8151ea02e04c1034fbcf3c039bc7178e13fe09c52716776a59ddd952a350ff6ceccbd773edfb9777e387ffbf80f4d00c8c0cf393851abafa7e472ad9a92af5f4b6d37947aa5bc9c9297cba9996ce17c75a5b6aad405e0389036e5eb72aa2257d753979637951555002707870dab93c48083a1ec95d2f96716668a1738e00a4e9ca7c581fbd172b5ac3ec681333a75791886c0e3011e0e707050a1ce97aa4a764755387045b3538b599ccde8afd52a8a5c254357e99063312b8097035fc724b721d7e51555a913a31c353ad4192c6ed4ea2a19285a0217aaaab2aef914e890c1325fabae93fe39ec7781f6afc5069dadd4641a74967a1e36d6868e08701cadd7c867a986f364cb6a83031ead0bc31081490f84e104ba75e2e56bdbcb152a3faf511a01b521011ec4de55fa5daa11be76ccfcd4dc304c41cc035188b3ab421674a65e977770f9a38bdab2deff89d9beb1a26ca93828408a8330f50d5794eababa11beb6dd50c36b65355cae86d3e1650cdd10e13407fee8bc815a54ebe5eafa392dc30f79e0143c6c9252dc69a8ca35013258253289be52db42ba181b43abad73852e5d0512f811f88c07cec267716a6b891862db85725500acb9a0bd500c53ad5c46cce5620c6b45e3b7168d61a0958ecf543ac6e89c253aad0e6358ab9e514b1918e35a311865a22d3007816eab6ea91bad5b808b1c88eb8a4aaa81d60bda0dc313f0450f5c822fb1fb616675b5ae34d0c61b9d27d5a1b7b5c007981e012e63875aeb14d8303c45e23d095748d96846e1e7e546b8b616deae2a37b6307dcaaa5e4a222cb292d379a64e85e8222dd46148c2490f38e019a459abc8aaaa54d3797ace50fd43c4aea059cab04c2c57f06c59242783c2261ca39b6a834c7095ba3d0ad3c4ad4cddb04e9ee5e008e366ad14e298a38e9f8719e258a38e39019e63cb239d67eb873815a9531672c4699b3a150578de0c69ae2ae256a06e79384fdc5ea46e0501be6e9e8bad26e2344b9dbe0005e2f40dea342bc0cbe6e5660a94f8cc519f59789cf87c9bfacc09f01dac31c6c75497c42b4fbde6e002f1fa3ef5ca0bf0037626adfe749f6074b16bc50ec33c2c90186fe02ee96222c09bac64bdb6f4a03e0c6a29d46128c19749bc77f1fc358f0af0133ce273b56a4395abea65b9b28d95c2e7303076175579e5d90579ab24d363d853ac6dd75794d9724581d3188dc7f39f83a3e006bc0ae1a7d872800813f8136f32ecf919f678f13787bf5db10f60f8b7f4ca18828370481f3e0a4e340738e4ba27cec79d7c29ce1f2dc57fa3db1d0649b79bd3ed829a9d8bd8bd0b02bf07bcf38ee6c0c15dfc1901470b7ce0e004f2137f702dc2459b4ed2c46d022330aac78da30812f7b89bc67593b892f882175a3731aceba8fed106f243a0bba3d0c7310863ba634e773c2b5247913a8e198e92d4fe763301056bc023b8745ac09770fdc97b429586ee890b09a7e42e25f809e9911747e1d8ad57ef9412ae09e954a7e19e90a29d863021853b0d71421aeb3424b4938c161a8a464b9c687fb669c631eb1a4d01e5119a69226f721fee9b8e3b25b23a2146648811196244862c22ef8707f4b0afa048f2e4d8a1221fd8874416958aa834c22a8db04a23acd208ab3462521a31298d989446ac4af104d691540422897c8a8bfd1a46b5ba94d2a854f296f620176b7a6fb57e0507ff08a7aef8d21fc0993fc79aae257e49b3f3a25dacc9140c9ad3af9833ee8e35f7e11c53d31e7006bc1f4192d4f01039a275820f71adc91e7cce46e04382a73f99c0d78bc039ed7e2c146bfe028ec5c763a1878c5db6ebe0769ddc5eebdf0c5a06dc01efc710a53bab85bb9d17e073da36eb6c3ea34bdb80ff454143e4c2d065bcafcbb8659331823236bbcad830848cf415f22011f2b06131ce2f615b6b50518ebdd63f1851878127a2623aed14d2e24dd597767410dad1c168cf5868cf7c2a5abc2075dabfe8b4776db47ea4bddd8d566068fd7d691f27b4278dbd4d694f1afb7bdc45db861a3769336af8bdd687bdd514500ddec29a1aee009e0244cd7f6c6a02a8e6efddd448222327d057ce1d2227651c299a9e9471ac688252c6d1a2294a19c74b7c5ca01d634687483b24a343d27c44a6873ae94dba30e25eab665f98b8be306fe0c2e093464ff35f7159c8f1f84bdbc20471615eeb97e660df75b9100b9dc2c33cc3c7c7fdbc29dbd864938d4d36d77ede9ceadff54ef5022ac2a713936a77d7548f0d94eab1fea98e854ee33d721625057873c6b16d4a38b64df9c6b629ddd836651bdbe664638739d701fed3a51adf837aaad730d1e482bd605b98082e4c26f67b282e2498733e824309762112fa4224f0a649586e9a2170043e82b476d1e09b519f73539f73c636e724ce99c039af2e48e144f3ae9e90a74942a48866374966e2ad3305f14efb1fbea770aa96f6527b92cc4a10be025fd5e77d592feb27c8bc47dcccbca75108bd6733c274acf927f05d7466783f4ff21a4ae26f3f9fde87a522f94e3797a67779bcb7fe950c49de7d589d373d17f9632dbc8f5c022e2c3e12d7f0ad7abc855408b4d6065a878dc1807c7d8036ed40bede40152b50a50d740daa83018df401dab2038df406aa5b81ea6da006be8606021aed0374dd0e34da1be88615e8461b68075e180cc8df07e86b76207f6fa09b56a09b6da05bf84e1f0828d807e89b76a0606fa05d2bd06e1be815f8d66040813e40afda8102bd816e5b816eb781be0bdf1b0c68ac0fd06b76a0b1de40af5b815e6f03dd811f0e0614e903f4233b50a437d05b56a0b7da406fc33b83014df601fab11d68b237d07b56a0f734200ff94f261d684bbfae8bc7ee8917934ec448f2a152d2c55cc14977fb0a1632bc33e3f2bb08d48998df95765232579adc11fad75286df7521db3f9306d30170b49f0be4efc2f7c91ff6e0fa3f504b070831a65f2973080000b7170000504b0304140008080800d66bd34e000000000000000000000000300000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702442496e7465726e616c4e6f64652e636c617373b5575d731365147edeeca669c2168a502cd010c152dadd3429058ad212e5c36a493f94d42205916db2248174b7b3d9a278e5456ffd01dc08220c37ce0833043a8e3ace38e30cfe139df10f085acfd9dd24adad691d354ddeef73dee779ced993f4a73fbefe0ec0002c01d5b2f349bd689949fdfa6c72be6cd8a5e24cf2042d8ce9739d27474cc7b04dbd346ee58c1084c0a5a1f4b1d1abfa753d59d2cd7c7262e6aa917506a7d6584b8d36723d34991e9c9c1a4c254eb2ebea6c50605f63401e105940f197127cb1404723b310420241d756a065052981906dcdd3bc2c10b83022d09c2d144b39db3005f65f6848c10343908f343ef7b7549b9c42b1dcd927b0a7a13d9f1c2a9a452725b0b7bbf1d19e2905add81a4600db15bc806d1104b14320a267b346b9dcd9dfd7b70127230adab1338266ec52b0090abbeb50d082cd3cda431a164db271c62d7378be541238d0bd3afeab577aa604c2dd1e7f1e379ba447a6f8310541d0952fa393ddef1768fdab690807e878412f174eb93193ba19630fd408baa18589e3fe3ac743cc717c1d8eeb4476798a0c8eb0aa092459903e052f612fabda4f61c91925c3213c5d6bf0ef59bd441c987e0ff157701847d8cd51814db691d5e97a5b773c6ed30a5ec5b10889412661db98d1c94bd6db2328c791e2bdd7560895b951768cd9104e90856edbfa8dac3577839eef35908dacb1e4723c85d3119cc41b029b672cdbb63e1cb6add951e38a4337cfd9747fe7461e08056f6184237986a0e40de784992d58b6c099c621f1ad7b3676c528c65883f17ad80f73d8effd8761ffbfce72eabe8d77389bce520ecde9546c1c05932c5a10ef523ecc1a76de98b43ce565d3f888b6dff3343dcf6748d82df5009d2de60b744ef1addc299f3a4f6b59ab54d2e7cac659cb72ea521deca3e42dfc3ba9fe49b02e4367b633cb1150b04eaf578736e63d0783bd5fa97b3fcadefbd64bb79541e1da1fce14f3a6eecc73aacb5ea569c9387af61a9d9fd4674a3457464cd3b04f95f472d9a0af8c48c69ab7b3c670b164e020852748dfab12f55434c12f2a9910b84aa300b6b4b6726da671843e549b69e71a8dfa5d0ba04bd52a6853b52778510d6a8bd85d9073df442a88fab36f11ac20f610de8baa1059b1bd0399fe8069f511bae45c2afa19dab5c788d3341a9573893b082f484bf7977ea18558b4ff117a83346a6397b7d1c14335ba88833593c4e7685a9084775a8b3fc621be53a0446d33a4e7f465dadeeb73da472d15321f49d1479212631bc3425baf8cc57fc466f509866e22a43ec6ebf107b5db7642fa1de1a0685fa2a11c4220846e7a0bdaf2ae1fa00f554a5fc8a768222981bbd290c4fe25e67a1b87792cbb0b8c6a11c3dc05ef6207a3e28da8e4c1a52d79e83ecec9c75996ae3b1873fd74787e8eb963f9b2dbf17e47aeeeab9ddd74b88d9cab6db2b7f04240dc5f7ab8fb265ad4f3ee351574edfeb246721b42cfa9cecbcfe9e7d53332f90dc1165a7e13299fd657448bf3ea0b729bfe1e81518fdb984aea4dd07c9c43d8aba98bc80cd4d8b8bc3c4a55e6ae063efda8d44b4d9b9c98f07a8d5a8d99e41213ee799ac434d7437fc6bb4fad60aabe2a321e99cb4446abd1aa26e7b91af8a73ef85b35f03e6ace90b6b88b3a250dc86db2a7f876beac4deea747616a4126e17e76d156f1ad245585e3f3aa1e927371378f275c60bcc92855891aceeae97bd8c41d5d7141e34105d3f50c6f87b48418826eb6f19b7ef462e7335ca4bd8b355a377d5a9fb23dd3d2d68a89aa5563126314f14c9c4564421e8fd531900834074ff34953403c623159f319fbfc1ba8ff7e0de6af3ecc1faa3057aaefe26bac7e15888b585ba6beb75a7f70aaf062d583cb83242d8b90ba7e84d25e84d204e31247285d417afd087d427b1fd4a8775129e042b1cb2d706e7416913de755bebc2082ae5cadcd2850ddf26cb652cf365c1fa30f5c2d25ccbac59a4b7b33c2f48f4780fa081df52a9004d3ed9bfe04504b0708c4fd64239c050000550d0000504b0304140008080800d66bd34e000000000000000000000000320000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d6170456e7472795365742e636c6173738d54db4e1351145da72d1d3a9d4ab1a520220a56ec0d86bb2855c10ada00fa5042a26fa775520787199d9992e827f8077c80f1c5074db478498ccf7e931af799b6844b53e865f69cbdd7de6b9db377ceef7fdf7f0298c743869c655755ae5ba6ca7777d49aa3d9865e5697c9b1c15f269b76c574edd725cd95c018deae774ac96fae2d6e6e2dde9910ebe5b2e3dabce2162cc3d02a2e79f2ebdb7c97ab3557375441e0556ee5d0f75098f84e4333cc9c2affa406090186c81122094106a5993621420c439d4a4b0831f41c3b1e86581bbd129423745ef639862e2fca9068af9261eaccad29ba9acd5dcb96709e21de2ec210749feb4e729261b863ffe84c8379ddd4dd3b0c23a9ced0f496823e2442f0e182827e0cc8e8c2458680a3bfd118fca9749141e6958ae638c985c9c933542c2ab88c2b32648c3074eb07ea13a9f4a15968ed8ac4ceb50d9c36383262426857c5d0b8ed29a5ad5c474a10a789b862992ed74d87a12fd5286570b3aa3e2e6f537316d34fe990aa9abba651fbe22d0187110ac6311146042a1523e416376a9a82a986739a21dc62a01a0a669113cc73a4a42ac668ac1d693b961b5810893719a2c7a312442bb557356e380a6e0b863ca8a9415bdbb17649cc52237799fa55b09e51bf4225bd6a72b766d37ba4e4f2ca0b3aba4d5e3668ad144d53b30b06771c8d4e452e5935bba2adea86469bf251db19e8728846c53cd0d512a435cd033d0bb4ea27848f6c3893fd82c14c761f439f203ebdb884e126284e9691edce7cc6e0578c7e6822ae2249c9023100bf87507e20f644a0f631f6d143dda7bf0fd7084d3d6c57af8e4c8b318b5c1351a29c00d9d9ec2f44be81c673a3f136c3f0486465eb98df4342bce6eab8355ec7dd3d4881f708f8853a86157a46e0fb8b690979fa2d3122583a205820c17eb243a2ec06f3ea783c75dc7b77a2900cdf1f0c4a8850153f56c9334af27ce40f53d5087a100d86e8a465f4d2fd15231b277f63eb7e3cf06cf77f504b0708d824604ad3020000db050000504b0304140008080800d66bd34e000000000000000000000000300000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d61704b65795365742e636c6173738d535d6b1341143d93af4d369b9ac626ad6dad56639b0fcd462b22a4044b4008adf89010d0b7c93ac4addb5dd99d04f4ff882f3e28682b0afe007f947827d9144b42ecc2eedd7be7dc33e79e617efff9f10bc0233c64a878fec0e4b6e79a7c74620e03e13b76df3ca0c233feb618c643f1ae23a406c6d03b5ad4b0df3d6c747b8d664de507fd40fadc922dcf718425a9a2969b8da3633ee2e650da8e49ac931ac3de7f85ccf2698831642ed069483018615b4d2d316c2ea2d690228e0b833214e6efc7605ed2aeb6143e979eaf21c3909bad3324e46b3b28d619b6163a4ace24f66dd7964d86edd26268b967208be51422583190c3551d7114186281fd5e30444be53683ce2d4b0441f171bd7e09c6b681756ce8d0b1c990b4cfd5174ae57f8e713a1589dd98bb3039641d4b4a4edc7204f7c77a48f02ddc56f445a2b73c5772db0d18f2a50989c3dd81f9bc7f4cf637ca2f19d253085969a0845dd55a268b7c71e28d68c69d798db3250355dc55bdf7c89d96f78a3a531d7be07239f4e93fd391dc7a43067479dfa1dc68bbaef05b0e0f0241eaf48e37f42df1d47604ee93d97130d0e5c86695fb74b1129493fbf435295b25448462ba52fd867ca57a86d52f50cf32d6702d04ad5064149395afc87fc7f54f21620b37a85921d6101d238c9f587aa15067d8fe3c46d5e98de026a1c9cb797ca7b833dd7107bb21221fca4a2944f51495e996d5734899b654901c0b31b50fd0621f118b2a2ca3d941b347b24fe82cf18092f571838e34d1c4291a743d97285ea17ca2328abd714cfe05504b07082e1140dc3d02000084040000504b0304140008080800d66bd34e000000000000000000000000370000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d6170456e7472794974657261746f722e636c6173738d534d4fdb40107d93c471134c094980d2523ed20049f870b9f4921409a15642a5e200e2bea4abb0c8d895bd89e05fc18156e2c00fe047a18e8da324805c6c79c733f366deeccceefdc3ed1d802f6810b63cbf630be5b9b6e89ddbdd40fa8e3ab177d8f053fcaec6f29babfdcb3d2d7da13ddf0411d47e525cebe847f3e8b8b9bd19ebfdd0e6fe99e809bbab9563f76dad215b481971f513f04b587f4d8983ea3284e2731a135982158337433f612e29b1891ca1fc520308f55737cd8435a08d2c84892725134a2fb4c04481303ee2305124187196ac3e5541f533613e7114dcbf6c4bb94a6f13966ac9d0fab185294ce790c2ac8519bccbc3c00742c695179ab051ab27c68f6c9c79bffe07fff4948c4e9e900b6923a38545cce7b9ac251e09678dbae208b7631f9c9cc9b66e5af8f808a872b5bbde2fc9d187aae30addf5f9dfda735de9ef3a22086440c81f7a5dbf2dbf2b47628b830c10f854170ae1eef962a459e7ddf3bac2da0c23522cc71a6b3778df58fb8bb96b840f85a4ec0a4193ac114ba3f10795abc8bdca5f0a0b851d867d8a730dc3961f6169d478ad20c3e03cc61832cef22dc30c96137c9a275142399b8b13a6518fe49b7f504b0708154e217cba010000c6030000504b0304140008080800d66bd34e0000000000000000000000002c0000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d617024424c6561664e6f64652e636c61737395565b53535714fe76720e092120deaa51c0aa54939c4022de5a2e51b162a35c5a43f1424b398423898673f024787be853ff443bd3cb386379f14167449976daf1a90ffd1bed4c673afd051d2c5d6b9f9384080680645fd7e5fbd6da6beffcfedf4fbf023885fb02472c7b26aee72c33aedf9d8dcf170c3b9f9b8a9fa385217daebd7fd0d06f0e5bd3860f4260a2f772f7e02dfdae1ecfebe64c7c64ea969129f68cadb3961cac65b677f472cfe8584fb2b39f4d97663d02876a83718028024177a9931d0b446aaab9fd05b3683ff0c127d0524bdc87fa8a7da923505f0e8340b436c49459346c53cf3b501b051aab9604d47ea7f719643b67140462e3358355859f62d45b5bbc1cdbd56aab425c57cce60aed0981b69a6658b23767e68a498183e1daa291b1207661773d3cd81bc43bd813808a7d02013d93310a85f6ae446213465241b4a0358000da82d88e1d6cee5d811d0543b733d901cb964cd279ab28b03bbcf6c8455204394c4479e03729c8e9dc430ab420c3efe1089b3b2ad0fca69e0f1112cfea85ec7999176f9891688805104547007e7408ecaa0691321d1867d781918a6c299bc718f116754a713dc9713d533baed5ba91b57883388e134cf32485cfb833afe70b6f89ef8d204ee37d0ecb07028a69dca708685b701e440f7aebc9539f40537540258db51eb7149584ccfd96541a73260914872d73603e9f1738ba0e8875608dd18d10762a8ac7ab8e54fa41a168ccfa70812474dbd61f64ac3922175def9cacb394e24aba888f0218001de20b1b94cce6c072455ee6040f5282a78dbc51a4537e64dd70af59a2ca905125a6411cc2e10015d127950398482482483bc7679428dbc6944eea19a78cc8f318aeb2ca354af89465dbd6bd01db9a1d346ed2c9f1ced924d65e3b5ff2ae24d7e3f88cebf773f2316314cf9999ac650b5cdae0e83bda1b1c89928b2f30c950f50abb535c5edf6e9483cd3f071bc996de984dcbf14595c1345f994605f669869dd8283455c022e3646906d9009a9013689835ec1963d4e24471d1cad8e7ebe952a7046cab24f24a6e264b990cbae272ca525449c18c95cfeb7305e38ac517657d3a3763eac5794eb9e2dcb38de9a29eb94d5846f5a93ccd8329d334ecf379bd50e0473190b6e6ed8c3190cb1b3846ee55fabde2a12f3d0c1028c8d9cee6667e7768dc405f7a7768a748a37678a5ecdea8b68850547b89fd51555bc281ec2ff02fe2e033f09fe0034d72ac719534bcd4f779fb5aa2cf117e847dda0b74d2f0604bd70bc4bf47a04599ec5b58f9d3ddde5db5fd03d496279e27d2e83cb57e7897e1116d2117683bad27240d7696a45ea1fe90a33fdcf11bf6762ce11499ecfe1a6ac7d38ee7480e2facfc2d9e962d06d8a2cf077fb3cfb5d9453b6770d6b5f925c1679be39b2570fc0d0287b700663b54496f196d8ce85f94309da3b61fe75d4cb3b4ce9846d963b2f53bec2ff96c55a6d9eb23d47fe55d5958f94bae391b932cdc3abd844b72fe33fcd76910d2622f31948e5ea74d657211e16765303e7896a18afd2e840fa91dc6880be11fd4d13ff04c0c45c9f995a4a79572157b2a6d77752b2185d875ab21a5cc780f8f3f1d92027237bd40cf5d487d8cd690ca22df60574875b5b8531656fe90fb3b438adc584432a4b20de178f911272ad4244de2a79418f25499162eb569a2167d81ebb14ab023505f639b2a5ea393824d9f032b74e4eb88b60f51fa086715e87623f031b537e8443bb5f0902a87936092a38957f00c721ca65ea1892986625a740937930cc4cb8dc2705c645e8d1a4da2ea4a57c6625516b432e8d8126ec90c7a39b1234e8501b7cb3874c2c13579b18c63b50bd7adb4c763361ef552c3319c7d8c06eea8984d8d078b98ade4df0fb18ca44f1ab7caee4c4a3bd39e62f9b5b4a35a89367bd3246ec951d15c586127436fa3aaada13a57f66dbb54af957c976c969c5545d85b93fb84c37d82b8df61ee138b987883fb88c3dd2efb6f94fbf475a07971972f1b0a879fae9106daf250cf3fb19ba8dfc6d54c7db352ba55bdb827fbbaff01504b0708bce96ac9be050000260e0000504b0304140008080800d66bd34e000000000000000000000000370000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d617056616c75654974657261746f722e636c6173738d52db2e0351145dbb7ad131284addaf452f7478f1320d112111a40fa4ef479dd4c898919933c25ff1e0120f3ec047893d5511974c3a0fb3cede67edbdd75e396fef2faf0036b04c5877bda6212cd731c4f5a511f8d2b3ad53639b1347e22adfc6bab003b9afa42794eba54084da61545df5e4c03ca99b9b9576fc556a1e5e886b6104cab28daf5c35249a84954e847c6b881306ff364b2149d0dbe44a784f988c6a9c429a90fd6f4d42ffafa18462271a771de5dda6d0fb2da4952124d5b9e5e7d708d391e6b117c9aae5586a93305788a616eb3a3218482386ac8e410c694860841077e48de2c50ac54fc76de1348ddae9856c286e9f2814d974423a64b5c5ad32b5e3ed4c1d1398d478ea1441138d86f479b1355e6d2b5af0cf2eff88d33183590d7d98e32576dc33c92a8fada62354e0f159df771ce9edd8c2f7a5cfa38fddc06bc83dcb965867350910f8796632a129fcc2631cb329fc5fe028c7718cb1a7547ec070a9fc84dc3dc28f308a31be0a49598e88b1bbf488e967ccdfb518f956b3717461914f21c6a0a187872418757e8c7d8cfd5cf9c9ecc2520bbb3f00504b0708f6e762d59f0100006b030000504b0304140008080800d66bd34e000000000000000000000000290000006f72672f61696f6e2f61766d2f757365726c69622f6162692f4142494465636f6465722e636c617373ad9a0b7c1c451dc7ff93bbcb6e2edbf6f26cda24ed252d36495b425b0a96b69034d7684a9a02498b092adde6b6c995cb6dbd6c4aab88a01451f1d5aa8020d4021690a71652a1147c2be25b514114df8a5a8ae203acc4ffccceeecdec6ddae54c3f4d2f3b3bf3ffffbef3f8cdcc7dfac4ab0f1f018033c83c02f3ccec50ab9e3233adfa8e91d6b151239b4e6d69d5b7a45adbd774258c4133696415200462dbf41d7a6b5acf0cb56ed8b2cd18b41408119891ab752aad40a0644d7fdfda8bd7b7f79e4b80748530cf8453d8db35b09616a804c249ddc2ca4517ad21a06e374753164a2050bc2a954959671388345db4a67913815053f3260da6432c0a6128d3a014b41228820a0da681427fab4265492660bd610d9bc91e7dc42050d9d4dc9dd3db6b655399a195a8d6aeb92163d8451acc829a2846992df1d92f15a8436d4386d53b6c662d26a51715624157c67eec22a0e063b7991962cfeb10943e1b99216b18199bba6895534ed4c36b770e1adb29bb02af23b02a81bd12df9a32d2c978d23446e319d38a0feb3b8cb89131c78686e35b7659589a36b65a71cb8c670d3d19d733713d9bd5779daa421381aaa67c6ebb075ba2b000166a3007e652e2c504ce2e209b359c1a75f3b51298e6f6e81aaccc7a0147b47c70d818bca4672c9d5e3bb2ddda45f368b08c0e62119c4ee0ac42305921263d8340738fb1d38a1b6963c4c858f154269eccc54bd9d1dceaaf77e707d5689a6943cf309903045617a6c30e82b157115814488adb026776b9aba66358cfea839691657a3a08ac2c48cf289d9e181bfbbd25881aa77e82c0f4dc7ab0e778aeab708e1b43545a21b304e764ca6e8f79de486071005d6293751ac4a181ce966e718ad90badb0d993c6b6187943c0d9c3ab9faf4123cca3427ac5deea4c9bba6d019d858eda561a02335c1870d49cfafde862b915ce842870118ac3de5b93b246fb4c2e8eba4fa7066f81b746e1cd70b1687e09736c4bda5eac89024d076bd218286890c0c220006e0343f25a5b8b0238b031dae93683a330dcb4ae39a1410ab64561182e11570ff59b766a44b45633dd476632d7599fcad806dc6966ed8d4a03d3b69eed045a835a876b72590de6c329b4b9256f12bb462d6344811d68faaceea0b91db5b488066ce75fd9e553d4455d7927ec8ac2a5f0760534b46eaf4d09740374ab1c50e05d4899ef1f42457491d383200e3a6d5dcef7d0141d0aec265021db82101e57c169813dc60dfd3e1aba57810f8890dc6084e0b8572e7b2d46e1c6ff308ddfa5c047c5f941cd4208be2ee0d8d339e806fe380dbc4e81ebc43e61eb4b88dc19b04fd80a7643df4843772af0293cac7816a6101b97e792e08bcb0dfe691a3ca1c0ad01d7e6283b2860c3db0bb50337c20102e7147aae7083dc490f2c33a2500f9f15f7a4f664326b8c8ea295e1f18e1ea678c1caa03b8c6ed7c70cf715bcb1e5623c40a05450a1c0e7a370902ace0de8d2846053111c50ea537593f814aba6c121dbacbe40606990b15b9a90fdea110d462043233c4a20de618e61655ad3d6e46da0c263b80fa02c05be287a0b0a974c886947175a1e5492ddda55f5550dde099753555fc73bc724aac4362a7c930943d3fb1681598230afed3169e87b670694966f7ddfd5e04a783715f77d3caefb8bf3b452e1874c1e1ae68f45575b9a102d9349eb0d666b34896c9b3fd3e0bd700d95f50c81067f59420b159e6592d0687f290fa56cb54c5457f0a1f4baed6f34f8207c88cafadda44329b551e10f4c183af49fe4c521783453b52ef89c977cfaaf1aec858f51492f4c3ae7730d547891e94163ffbb3c76a2b533419dc1c74eb6f77f6970037c922a7a79d2b1135aa8f01f26093784ff12a81624495b02d39408b8c56306795b2044835b601f8a2221962da190883820f67d91e7aac25c7e77e840fb91ede46ee21202737dfa40aca59252dc647d322a649a3848dc6cb9c8181529ef04c18e10dcc55d85651adc03f7d2aea9f01d2f4f0b9554e1915b4ead90997812e8cba68c24dd2f78cbad597304513378178e9bd9b841efc382244c3dabc08b68266eb26d0343d412e8f87f42b8dd508fd7ad0e33336ae9196b939e1ea347f00ec4c0e25e4bc74d4bdfdea7b39379b4d71ccb0e1a9da9b4010d38cdc300f8331b8a817e5b34179f8a40c5e712e1992e8752d0d8efd3b01ce0142074a7c71a717caac5f222fc9cd1320ee52d0b1f84ca96d08350fd00d03f686950c32baee015eb49cb41a8bc1db410fd3cb20f54d27d00d49687a0b67be1fdb41169c07fa3102a0b1f87b082078a22fa05881b26ccc22ca6adf1a77a594cddb97755adf318debcac0c262ebf62efaa967e7c8c6c4631b577333545f482cac3e83ccc46314c7e14a930e25758cc0bed748a940eafa13cdde31001fa2dda4131ddeeb6b99e7cbbaf8ca9bb72a511dfd262df52c5b754f52d8df98788b931da184c4ca53473efe134f3e9c8339a0b9085d2ac6023489b2623fb61da23b0a0bfbc791c163d8673e1d4d5b99775b5c3ceebd3e8ebbabbdd6156a0a8e638cc21385596c052777022f80c702ec659ee93e34c9683aaa63207c254e6b2f02dfced0abfb7b98c38ee75f518fe2c58c9d3a579bade49d2adf60b1871d29de3f7f60650c207201c1241c375f5d56d14b40dda79e64d3c739b9cb9d8c9dce117bbd8c9bcd6e9ea3df9749dee82d9c8739cf35a72287939f253bcc15d4c93a4509d145d7e295427c5b93cc5fafc143dee02ba90a7689753c44a9c1ce7f9e588b97d75014fd2778f98a47e0e06dd88c36027e9e7493a26e178936f0eb7af061c9043b0f95e8985a6d1610b4f33c0d324266349fae6713b6cabc37208d2f7e5e1e04582e7b9999bce4e96671cde46ba73f6b3741fc405f78995ed8358ce310fa0386ffe3227ff28cb1f1e87b1d575875537e6c250dd2178076b52475b08665e09a1e3b03c3267826e3b0afd7b19db1df07ac1b53e4d17087e5e13446bb9476b5f9ed6725fade1eed0d9f575fb61fec2fac9166cdf55217260e259417b1b1473eda5743742ed57101cbd09dc97728fec63828e825b14621f2fe3e64ae84d8573eec331a19c6341382b3c9ced799c150ee7558c3362734638671972527bd8c8a08e0950b320ec81ba9a42bd0ce5a8162f305ced2d5cad15446da5476d5b9eda4a47edfb45b5255c6dcc56bb89897df18462afb5c596a158bcd61422b6eaa462ab1cb11f6162155b6c5412bb7e4300b17b7262f1c253c83ca83ee93ca876c47e82898da9b6da52496ddf792750ab71b5d7e7d4e26588abddcfd55e1a44ed4c8fda8e3cb5331db537895d5bccc556d85d8b267a3ed37bf484bd7bb3adb712f5e23d89ebbd95eb0de47c352775be1a47ef7ea97715493075e30b4e20d8e9e0db728267b987e367b8e0fb83086ef008be2c4f708323f833ce4ee239d2dce1774a735edec5ce6887d51e27e9628fb33f02f5fd8bc7e1ee6e0934c240671e873a74c2f9dce7eb99cfe3358d831ee47bd2750ea884d9286236eec30b858b492f098379a08d0ee8fd32682ceec07c8ebe88c50fabeb9dd88b42b1b883138bdb3c07fb178dc383220fceafe573f068ba4041cd041e82714e70940fd51d9ce061cf509d26322c11862e22eeb2c5f6d025f388b045cde45bef61c1381f85cb84e5fd101ce9b597f70198dec32a3f4e2b231281abe07ab8111670b445a01c87b591e692dca4fc129d94651378ca0ff167200a2c7805af6104be0c5f990af6f2c2d8ddadfc6b12fb1512fb37bcec4f04677fd2c3fea4c8fe6df8ce54b05714c6ee6eefdf93d8af96d87fe065ff5170f6a73cec4f89ec3f819f4e057b6561ecee61e16989fd5a89fde75ef65f04677fcec3fe9cc8fe2bf8f554b05715c6ee9e3d7e2bb1ef91d87fef65ff6370f6e73deccf8bec7f86bf4c057b7561ecee51e6a8c47ebdc47ecccbfeb7e0ec2f79d85f12d9ff01ff9c0af69985b1bb07a37f4bec374becaf78d98f07677fd5c3feaac83e4180b3bfc0d9ef2c84bdc6c36e0463c743d6748a53418a24f8db4478129e7cc1efc603eb4d79f051179e14cbf0f89c83270a5139fc310e7f5721f00d1ef8adc1e01b5cf8a8045f2f8d7cad0b3fa3c7aead05a79feea19feed097629b19243615f48d85d137baf4e512fd4169e82bf3e8ab83d3d778e86b72f445f47fb971fa657838a55fcde47d49cdf5cda6191f10bf7329a35f909b6e80561e60b674e8e6adebe4d6587316363e74a2c6c56ee3393e8d096904fad56ce47f504b0708f119f71edb0b00001e2a0000504b0304140008080800d66bd34e000000000000000000000000280000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d617024424e6f64652e636c6173738d54db521341103d133609840502028a200206c80508a0209288dc8c72b70079f06d1386b0b8ec52bb0b58fc093e5956615e7cd02a45cb073fc0bff103bcf4ec2ea14a6220954c4f9fe9d3dd7366263f7e7ffb0e6014cf18ba0c339f5454434f2a07bbc97d8b9b9a9a4d4e11b0a4ec45a6978d4d1e046348a717c61777940325a9297a3eb992dde1393bb551029bb8083184ffc582901864afce805865682bd74b104106bfd31043604f31b96e3344162fef9fca4b3a7f45d1157b26912b7502d7d4239ab239ca656fab566490a1bd6c2eca1248abba6a4f307446cb87c6366484515f051f1aa96a54f80d680ec18feb0c35aa4ef1f6b2a167f6358da1377a51b18b486c83a12ababe905adf70e6814dae719bf6d053821e2b750695821d233a25327956a1d51cf1ab55ebb9bec9cd2dcd38749a7d21a3039d216abe8b21a4e472dcb2224383a4d0ec65fbbeca69c888a03b844af4c8a841b510294a1da9d612a9bbab6832e26ef504436dd6304de330631abb8b7ccb96d12f54f46180dadee5669eaf1b2e3ee8e243326437e55d86ba73f2aa9adfa6a811376a946e9ec7f616c6dc8507b4a073be3963689ab267711929b795342de43c70d5308831e1321ec9a8459d283875aed5b0d0ead23b32276306b34288c7b4fd3cb7a7f4dcb66132cc97677a325e51eb902b07dd7369c6793a556b6a5e57ec7df1126ad66c25f792c2d795ac46be3ca7ebdc9cd114cbe216ed67cdd837733ca36a5ceaa4247efad3103fca09f1913d5be35952020887c5d577504697fe1a8d0be43513df27b8f1c46734c5bfe0c64741918016dca49845727c6825bf0db78a7e3b8db789ebe63822849155e2a7b8738c4cfc139abea2377e8214a379ec04adc29ca2ef35d53945b2803132c3050c117eaf88df2fa083cc78012d6729dea1969087c708929914ad312cd118843f1108079a684a6fc2eb23e1f5d148ec693743e62d82520152c5fb22d50f5fc3a4088b9725bef93f315524767bc45a41944a526487f2044f3d4a9a28a426da8932bf94a061b9afff04e13ee1f60bb7f0e767df87620a19be5f0805e1a36f3d11e9a539c733e8d911cf8e797642585460d9b9108caa55a24a3a3bb80aac3836f017504b0708b3491bc8240300006c060000504b0304140008080800d66bd34e000000000000000000000000390000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4162737472616374436f6c6c656374696f6e2e636c61737395554d53db56143dcf9611b6454a0c015c4c808412d9c2713edad08271e3ba4ee316c802b79d268b8e301aa25448ae243349ff09fc01366cb22819da99769999fe8a2e3a5d349345b71d52f73e7d18a776996661ddf7ee3bf79c7befbb927ff9fb879f00dcc21ac34dcbde2ea8ba6516d4dd9d42cbd16c43df2c94c9b1a636e7b82d6f3aaead36dc8a65185ac3258f08c650295697561fa9bb6ac150cdedc2bdcd4774b85cea75f99e96ab1b85538a62bdba5c5a6618fe375c84c030da2f44c400831464769523183267652f22ce30d6bf048601f7a1eecc5d63b8b87a1609e53850d44ddd2d31ccca6743b35f489030144704c30c5199efcf2195400c230c83baabd9aa6bd994949cedea4a2df093d464df83b05982a37fa779c435065177aa3b4df789b7bf2f6102e904096748a86199aeaa9b0ec305b9f73e38f802c638788621d52b27e212d13f549d75edb12b610e93495cc63ba46f92836e274cb29b55c215c81c97a58669dfb654c391a0609a17bf4074ae55b66df5094f29fba0379ce1caa9ef73d369359b96ed6a5bf79a3c27ea6ff571436bfa63702d81ebbca1b2dc87a83ff94cb1de6f58e507f53a45d083baa86e6d51ea32f53a7b9f16b6b663ed6a121691e265bdcf900cfb5a360c86b4dc77b0bde04cffb362ae44c7498898917091f726021aab0152f628a7ff234cf1ee9fdfdb7b7ed0470c713f3f8ae37c25cfc193f388620d435369ce848ab5450313dfd0b74dd56dd9b41eda70d5c63734ad7575d3a0bd54334dcdae18aae3683430890dab6537b43bbaa109b3a41403dd1dd8f0301f6cfa669c8340bfb7c87b9776638488904de494ef713ef70ca34f69c7df601a30c2d46813c138ed693a69cdf0362683d839b28cec50ee0853fb10850308d1430ff4293d6388246f7304f52988d820ae28d9458a985d539e637ce118f30c7b98a7458ee179fb4fe130f4a514df7984fc5efba570d8c59d40f40471119747c6c973158540609404784a833fe2fa57cf70e3675e8c87b849272122d283f0cb7c9790743fff03798b908b9db2be0ecaaa84654d8525dce894458b0fe83a3bc54dbc565c78daafc4f4147996b01ca455232b909d578eb1c2b016128efb7cebb9fc113edc472c7a78d0fe5d38e53bcff944e23b415a44ec2fa2f16b2912e076877edd1b1920175df105d6f381403aef092c09b9b47084ca1e62c2ca41fbb7cca9440ad157f4c5f634265fd32813e2e38ec6dda08485e80aef5847614af1258e518d60affd22ef7785547ecd743726f20a2257b9d455c19d3763df7f33f64fa836ffae97c8f2a998e6dcab4ac03da278d45f2a1ee741fb8fa71d42fa2f39418cf82668463ef31438430249217cbda258f5ece03f504b070800b6dfb1d6030000d7070000504b0304140008080800d66bd34e000000000000000000000000220000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702e636c617373bd590b7c53d519ff9fe626b769531ec5140205815108494aa1b08ab4ab40295a29855904816d92b6171a080926298a7bb8079b7bbbf7064ee79cd83dd8261ba53c26eadce6744ff7706e734fa732b7c9dce63605a9ffefde9ba4a191a6ea46db7bcefdce77fedffb3be7fe78e0ccd1e300ead46885ca78624b4d38128fd584776eafe9491a8968a4a36609092bc33b742885f686158b5ab78677866ba2e1d8969a551d5b8dce54fdda3cb4c6a1248bd2938a446b88d7b06645fd9ab5f58df50a63ce66d5a12994e5b0eb7029786c5de6c892c2bc73e93bc31ed786a33d464bca488453f1840eb7c279f956146a0a415b61ecca627914ca87d20bd4ab39964a0cc21a9dd52b67452154085a16a85c61f459c402314cb9ed06bdefcd62a4890a8182bd9dd43181f1cb2115b89f7e34359894dd6f9114e60fbb7f494732950877a69ae2d128b388141d53142af2af29cc2ed82b3aa665b3cfa428cc3ce7eea5ad4678735bbccbd03143c19d791dce0f4b5b628c5a2c1cb5f6cea21f72480ad3cfbddfda1750702eb5f8c7e5d4d10cdb9e6a32d886942d6b5ebee4f2d63557aeba6c59f3650aaac5c18ec00ad492916b09e08c27ba0c26919688c7198719adc32bc0a2763544629154a382c33f7bad07176061099cb8d0830598e74611ea3d986fcd5ea330cd7f4ed07a0be1a2125461b107af469dec5b4a95fc2db3d79a225a14f448b279fb8ed42ef37d834269673c960a476249669082d73fb4230997679bb1abad271a6dea363ab7bd081ba55f8a152594d94a77258d70a2b37b793c21315568c8b763181fa5b3814e68c32a015ead302a036c07e6a291230f4e51825f8676f1d91a6a9d7686598e0ccf4ebb2c27f8670f6accd9f2e0ee75b842545bcfd6948f43c74685e248a6c954e420a59b0f715e8f3794e275b892ed72e8ba0e7672bd3b9c6c33ae4979d0898b4bd1812ec636460245a751077bc183cdd8227cddb4c4b8aa271c4d7ab0152d92620ca2638b348c9979dd3784a4303e1f23cf2685927067a7914cce983b77ae198ec27d9f57e91db8aa04d3415f3976f450c385790417a873a9df3a3f2d3dcb7353a73d2a859a37955b3cb81ad7485230c1f48e96188d20efacc2346121bc116f92a4783323932bb42566895d9c07aa6564697b1dde2a1abe8de9c5489a19ebc13bb0459cb79bc46486f82ec48478bd42f3302da450fb2ec07b04f1bdf48e4175225223a18d2352fffdf8809bea7f502138a27d9bf12137457f98399d30b6c7774a997619512345433f268606f17192983a4ba25106dd9f7ba3aa9756587916b121c83c099a172d592e3632e7f9d89c7225891aecc58da5d0f1e99cdb977920df5c8acf4805bb1810f6530f3e2b053807b7ca63b70729f4485aece371d119655e90739b7d70579c2d48ae7e8df525a8c46285c92fd27f1a4c9d4be013a6b943205af39c6a992ba5ecab907d1e6abb2ab1ccd81cee895293897952d3ae210f2e91f65184031e6c175f17e1ebbc05717fabb139b5329e4c59dd3ee02fb8b7d3db9ddd916857c2e05da36a98145a6a1f07fd38ec861f4714aaa5c247222cc6b19d27b607df9083d58f3b496463ed6ee2820777a159dae3ddd9ae768174b5b9c374b59cdb47fdec8d6c20dfc4bd2584ff96c294ac3be50c5d1d8f0873f3359dc60eeb84f80ecf761b696a57dc484e8dc55353c3d168fceaa9869cd5539924738af1ddb3ba553b0b2fb6c5aec7074a701fbec74b54bae5ad75b312ee1415164b3984e9609e1c3f965b41100fb23776b4ef8846524de2fc911ad822327f8a9f4902fc9c6510311b645b3cb69cf679f00be97e7e3c2cb5f830f3c392b4266118a6340f7e6d6d7d24b32611b2d77e6badfd2ee78ba77d5732656cd7f1071a184e24c2bb3ae33b76499ee5e9a27948a6be8fe24f25f8231e93165227917f424e980483fe67cb294f0ad17c3c289de94e793c218f27e5f1a0343ce645f1e648accb6ae2d78dc869852669a17c729bbbfe95d4e025f38a26e9729927e5b26cb89b6a61b7e33466ad600e7bfb1da4c47cd9d036dc5937b284cfa22f10f47daf20faff2e2e1efc13cf48399d191ca15a85ee97a7be053fb228d689db6efaffb9ed251494b8eb5f7497d2b26a2f14b5d32f17cacb86115fa24670409535c563c9543896b23f41b426f3fbb4ac3d15eedc46e635e18e28dfdded912db170aa27c1b9a7251633124dd1703229f7b092f6784fa2d3581e891a98c6d03bc15b1a344cc05ccc83526e7eb716a1967ffcb4e4bc5c3e364d1a3f19394e253f3f44c959c2b759dca9384e0af4635140ef4343c0d187c6c03154ad2769491f9a0e40fec9a66583361565364d3ad7a6f968b6378de59b4872060ea271bfbdbc1c17dbcb33ece53259de0b5deb85e61036a54a65178a4a170b076f28f68e3aea201fe91303c17eac94c76b838770f94a15da37643b837e1a13744c3731d666305a89a1719c1d38840d47b0496165e808e8f43d18cf49846da69aa0d13d706afb7b071e1f0439168ed328d1d1711a3e1dcee788a4e4d6c4f412e47a5bbbc943b4bb1dbaea851e3a8ce41d19344f5ac12662298f19af380179a5b401fbe983628e6f3101559b09b948f36984bdb6ce59e475de828a4030d44f8ef5f4a1b68921e9c56a32789d87f0f6452ee573edc3389feb10ded9e673850ee1ddeb7a31f718a6af37b7bd6f91eed37dda41dce075d6f6e123f6d4a7b767f1aab31acf82e30c6a9c3aaad4699c4fcd0710824b47110d48ff5631a2b6313b69cc4733deb990be11ef9c6f79e7209a68c527ccd09559d2ba282d9495560c4a999ceb9b4fe25336dc2a82491817048fe0268523b8655020a75981bc1b73da02d547f039de2a8fe0368543b87d5defc023073232dc12030f233ad316b287427a33a532c52e95f2174df6cfe3465ba1f154482aa4f4182a85eb8badc13b4c1e0bf80b645e872b6c662f9905d87d0c3e61de3f98f54b5cda9bc11dc45a21ac5f19ccfa652e7d35932f413b01cb0374edd7f6a054c6832c8b415e65b4c62cce3a5516fae81765c7a8c8b4618a84a735780faaf6624cf06ef80fe2a8a3b6b577e0245faaeec8751f831e1cc76d6d8c89a547846e73725c26302b43264c5d88306dd507715cebaad3bcdacdf051b97baa0fe3db5e4deb9a732bdcbbb581de81136439ead56a57f60edc1fca11360e9a25ec798cd3e157139f45896dc531fe5d8a15b615557624c6a8e0ed283b86fbd697dfdf8fefdf950d3b3d3a9a2cfca6cf68ec30356e138d45cb1f4acf6ae8be050b8fc12f6effd1222de0d318799fc6e771a994a38eeaf66aa1fd842b8e7e3cc4ba6389fdb217ee6a99fceaac3cbb98baa7fdfe03fef1ba6d6b5c6bd7466590a895b5f7c0bf079e40b0b21fbf219839f97d168c9dd8cbe628776e6bbf6a848b3f503e6bbf783aabb64f1353a8b3f85aa63e8d1387ccb4aec3785c1c6e91c5249991e8a8737a4d17dc8a0a73810dc23475b753f50e3c517d16240358e7ccbe385609a8e542ad4bb5fb34be9fe8c30925e33e786410b8bf70a50f7f35bd78a23ad887bfd1877c06254f6e434d909095e643db24b4ca2e5365d34cf39126a789da269fd66e6ef03a5705d70b0c9bd8f10383b3e80c5a993f9242934ee19253cc9c22f946b163f1283d29a9706fda97556de9bacffaf2291a7043da6937a49d667be529d3dc937d3829e69eb4cc3d9935f7efa6b927c5dca74d739f161b6e7e59d65a7ad41ec23ff25a3d0a45cf630dbb337f4ff1282c926b916df046a69ecef1a21021f8f794d625387562840559e774d4b9bc9a08f2ba58a9a3bdceccdcbddbc58478cceb1a7cf2f29898a2941aef34053d630b5a6d0b5a1092fc9b4301d6f812d0c799e8638af16ffc27cf65a3c9ec915cfe2f9ecdb3dcb0df5e7e0ea7ece5717605ea66b13d74c066388de76d86f3587672de14f3e0aceec7800da1e4bf07b3104516c486be8c0aaa4839f24228671ac29557c9c6f4b2ae8aede572bb3dbbcc8b8029000e55c6e75694c98507a58428e3388ae3188e63f923bdf93c5e7f2b388ee7bb8fe3448e951c27733c9fe354ae4fe7f82a8aafe23893743fc7d91ce55409717d0e8357e372db0dcca1469963f10b504b07081ad050ef700b00004a1d0000504b0304140008080800d66bd34e000000000000000000000000300000006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d617056616c7565732e636c6173738d536d6bd350147e6ebb366d96d54edb6e6e733aad2e49b5e9104468198c82509cf861a3a0e087db78a977c444f2b20ffe263f28e8260afe007f94786e9a8a2fa12e907b72ee79ce39cf7d4eeef71f5fbe01780087c10ec2a9c365e03bfcf4b5934422f4e4c439a08d27fc4d3bb363ee2522d2c0185e1c2e4a181c3fee1f8ffbfb5de51f4ca238e46e3c0c3c4fb831ed0c54ac7f78c24fb993c4d273fe0e31dcff2f9f7fcb6a586268e455d5506630b2ecae42306c2deaa0a1cab0f2c7b1195af96d19f62e2cde2816218f8350c30a51cd8b3094e357326af718b6176a4c229507d297f13ec38eb9186a8d0dd4b15a45010d0397714547092d86a548be150c45d31a31e8dc754514b51ff67a17a83832b0814d1d3ab6182af217fb9669fd36d8f9a988ec666e60366f1d3545a7e47a8287291f227c13b754f9369577033fe6d2a71934cd59118ffb53e7e9e48446d0b79ed3ace690544c03267655b245671c062fe98cd52339f5799c84f46d8c7c5f84438f47919aab7e1424a12b1e494f608f242a81817ef27a5d69461744f9a419ad1df2d6085120bb6c773ea16977ceb1f601ea59c53aae66a0065946b6627f44f333aebdcb10dbb84ec90ab18e628a30bea2f64ca1ceb1f33e45dda5b7801b842605f2ea9de1f6bce31dec66886646abaa109d33d8b39645dca375836c81e458a6941259832e4a8dec25f267ed8ae8a6b6f213504b0708825d1d2b0202000015040000504b01021400140008080800d66bd34e9a44432d44000000420000001400040000000000000000000000000000004d4554412d494e462f4d414e49464553542e4d46feca0000504b01021400140008080800d66bd34e25f7f63390060000140d000021000000000000000000000000008a000000636f6d2f6578616d706c652f646170702f4552433230546f6b656e2e636c617373504b01021400140008080800d66bd34e07b2fcd147020000270500002f00000000000000000000000000690700006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d6170456e7472792e636c617373504b01021400140008080800d66bd34e0969797ee00000001e0100002b000000000000000000000000000d0a00006f72672f61696f6e2f61766d2f757365726c69622f6162692f414249457863657074696f6e2e636c617373504b01021400140008080800d66bd34e3f52a2229f010000670300003500000000000000000000000000460b00006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d61704b65794974657261746f722e636c617373504b01021400140008080800d66bd34eb06c44ef7b030000990700003200000000000000000000000000480d00006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d61704974657261746f722e636c617373504b01021400140008080800d66bd34e31a65f2973080000b71700002900000000000000000000000000231100006f72672f61696f6e2f61766d2f757365726c69622f6162692f414249456e636f6465722e636c617373504b01021400140008080800d66bd34ec4fd64239c050000550d00003000000000000000000000000000ed1900006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702442496e7465726e616c4e6f64652e636c617373504b01021400140008080800d66bd34ed824604ad3020000db0500003200000000000000000000000000e71f00006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d6170456e7472795365742e636c617373504b01021400140008080800d66bd34e2e1140dc3d0200008404000030000000000000000000000000001a2300006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d61704b65795365742e636c617373504b01021400140008080800d66bd34e154e217cba010000c60300003700000000000000000000000000b52500006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d6170456e7472794974657261746f722e636c617373504b01021400140008080800d66bd34ebce96ac9be050000260e00002c00000000000000000000000000d42700006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d617024424c6561664e6f64652e636c617373504b01021400140008080800d66bd34ef6e762d59f0100006b0300003700000000000000000000000000ec2d00006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d617056616c75654974657261746f722e636c617373504b01021400140008080800d66bd34ef119f71edb0b00001e2a00002900000000000000000000000000f02f00006f72672f61696f6e2f61766d2f757365726c69622f6162692f4142494465636f6465722e636c617373504b01021400140008080800d66bd34eb3491bc8240300006c0600002800000000000000000000000000223c00006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d617024424e6f64652e636c617373504b01021400140008080800d66bd34e00b6dfb1d6030000d707000039000000000000000000000000009c3f00006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4162737472616374436f6c6c656374696f6e2e636c617373504b01021400140008080800d66bd34e1ad050ef700b00004a1d00002200000000000000000000000000d94300006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702e636c617373504b01021400140008080800d66bd34e825d1d2b02020000150400003000000000000000000000000000994f00006f72672f61696f6e2f61766d2f757365726c69622f41696f6e4d61702441696f6e4d617056616c7565732e636c617373504b0506000000001200120067060000f95100000000";