From 957b1e3702a1ae530af554b8e6195cb0f72a858f Mon Sep 17 00:00:00 2001 From: SoulliesOfficial Date: Sun, 20 Apr 2025 03:10:41 -0400 Subject: [PATCH] =?UTF-8?q?DTM=20Trail=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Resources/ES3/ES3GlobalReferences.asset | 6 +- Assets/Prefabs/GameElements/GameCamera.prefab | 2 +- Assets/Scenes/EditorScene.unity | 172 +++++++- .../Base/GeneralSubmodules/ColorSubmodule.cs | 2 +- .../EditorGame/GameElements/Track/Trail.cs | 2 +- Assets/Scripts/EditorGame/Grids/EditorGrid.cs | 5 + .../Projects/IceFlowerMaster/Beatmap.json | 381 ++++++++++++++++-- .../Prefabs/DTM_Trail.prefab | 2 + .../DepartureToMultiverse/Scripts/DTMTrail.cs | 79 +++- .../Scripts/NoteVisual/DTMNoteVisual.cs | 2 - 10 files changed, 595 insertions(+), 58 deletions(-) diff --git a/Assets/Plugins/Easy Save 3/Resources/ES3/ES3GlobalReferences.asset b/Assets/Plugins/Easy Save 3/Resources/ES3/ES3GlobalReferences.asset index dccc2c6f..bc304e00 100644 --- a/Assets/Plugins/Easy Save 3/Resources/ES3/ES3GlobalReferences.asset +++ b/Assets/Plugins/Easy Save 3/Resources/ES3/ES3GlobalReferences.asset @@ -189,7 +189,6 @@ MonoBehaviour: - {fileID: 2100000, guid: 5b0493bf43840488095a9242d1110424, type: 2} - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 11500000, guid: 598e68924c9f6324bbfd049d3bae754c, type: 3} - - {fileID: 2800000, guid: f20112bdeec2e8d4d9f80e8390e37263, type: 3} - {fileID: 2970054869584064766, guid: d00706ed05d0c4a55943214fad99b6cd, type: 3} - {fileID: 5207693900278283751, guid: d00706ed05d0c4a55943214fad99b6cd, type: 3} - {fileID: 4027344994281376666, guid: d00706ed05d0c4a55943214fad99b6cd, type: 3} @@ -252,7 +251,6 @@ MonoBehaviour: - {fileID: 1245899045477576615, guid: f3be65e0ba670014d9aadb8a7d5018e6, type: 3} - {fileID: 2422713327444875072, guid: f3be65e0ba670014d9aadb8a7d5018e6, type: 3} - {fileID: 5517159431924024882, guid: f3be65e0ba670014d9aadb8a7d5018e6, type: 3} - - {fileID: 2800000, guid: 188dfe7e559f13248ba2c41eb5a59328, type: 3} - {fileID: 2800000, guid: b0f85f7da5042c0448a526d5ecacbfa9, type: 3} - {fileID: 2800000, guid: f87b5805002ec9649bcb1b96d8a16ba9, type: 3} - {fileID: 2800000, guid: a7ec9e7ad8b847b7ae4510af83c5d868, type: 3} @@ -419,4 +417,6 @@ MonoBehaviour: - {fileID: 6946431769684344315, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} - {fileID: 2170097448491475004, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} - {fileID: 5522542723562029807, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} - _Values: febc7fe765b0407b8c8e90345544ac394753b1a281922a4e114589015196ee4776dac15926adab1e4620c9a232d1ed566ec628c1efb3c0693a954d39e3d36066f7d0f7b20b638d2be0a95163e7ea141dcc1f6b7591d3a73e949134651819880de72e3b2ecf0dbc66f70629b01243766dcd4f9bcf7dee1e4185b3b64b611e3b6ddb9f15d3e773b400f9c3036d9fa280501bc798c97db9902b9e9549f346d5832eb56db8a23f89a7640733ce3e6d52283bf75ba0ec3738db268ac131e2db057329631d4d0b8c6d0e3ae43753f6ee4b353bd2e2253bebcd1860a0d4110fb94b096d897f3d09494eb63919371d8cc711425cd33b203e27204208f885cc092656e150e128c851cd967a1faedeb3ac8643a066696941ce49905954dfd41e62741c9c0aa24726e7840a0343e00326e5bdac65587954269665689864e713ed6a2aafad56a7eda6d48a710f5ea039098a96961a33923a2536bdcc8f3956cf3dcf0690ce165927cb38a6b5d322f7c42dc76a0f38733adf6e4e962d5c724536aed9f37e2a0bdb44464957c307518d1d6d10b64b0a6e7bc20b8ff906d175ab6ca57cd054ac25fd0313370dae837788d136e691bc77608932df9423e3b3338526c6cbf834351a137c1a389017a534ffce0da47d9d35274df6eeb94b093a0b8594cefd75351f440851d414a23ed05fd81393f2f058b123a51281feba84311bb826be24e5a3a934ef519d2cc8208573c74de13776471b2de3aaa287b71dfe7cdf46a2847f54867bbdc7e042f5ddeb7b72f23af89a976e0042eb07904531eb0bafe6f4f03cf60c72c6667aae67d83705be2614c5e205e248a312fd7aec8b041ed350852f5e12e7049d558c480b488043b79862cbcac2a022982aef40f444f346a79a2ea1059b0743e0f8591ae3c7fa2d3130b993d419467c3a1a11a336459a24f05e953a20def4426fb65fc8a58b1358f90d04e060c5c571d2b1d2df9baa98256d81d67ace3ff30fdb03fd7487f0de3b24b60f810b51bf247fb2b1b92bc13b5741d788d13165e2476a8c158cb8c388005461687b65a3ff1b24340358a005f80142ff99728e376301c37373b1d6f9dd45d64ff173d548421cd7a3aefd628aa7636cec3148a304701d0398480ecfb2ba1d13492eeff76bd706bc7d4932e661634ee528ba16386a5d2e222b8a926faf1324ea91eb185bb86b273cc874da44c2c8630469d658085c1a5814ff32331eba696b6f91e488b384552cbd92da6ff683e95e632696d9866c2d4553bcd3a41560b90932df6bb3de40b07741fcea64c975b168176f69bbafbd0e02659edc6f57fa421c4de43d1617368022761e988981c87c3693c4457b358b4774d2694e3f634120464531e71ac865af2011b8ba6fdb7a7f63dd5a236d4b39183f9dc945aee841be3402ad314c4f68000774658ced46b6504c174de2429b726e0c19a8b791aa5d085276ef6d2e49321474591be0b0c606851a79f9c5352400cf703e2433a7b16f5c2e6edf6435237e961b396ee87f91be4612239c0aa4233e7677e7a55dcb88d4107f070a9e49d5b59b7e9c41c82751f6647d3f927f2a9e42277d89e9df153fdca55f4b6bcfff42469d23fcd8dc3077c189625a00baf3af2a9114c7d35516e91e8c796f198b64faa45a7d76e4cc1385ae6d5597fece2223c2790767e24fa936e0676b0de32eca03e1ca4ab765c42d4645930bf57524eacefd8d1cb65bedc01984f90d2e25547c193f025f28bed33a98ca8b20b0bb6153fbaec60fabeeeb580bf6ce3aa12e00df0fe90e34887cee722e374a7fe70e0f5e22a61123ec64d22b53a95330f098dcc6cb6a2f3853d2248762c7c172a46c3f1a052d5d041cddcb73bb398821d6427d6aa47b4c51c2b84e0a356679245da0771895c7d53dc4281c57ca5c0c735c465ea5452b171e5977a3a788b62300769e73c717ea69523e1b1b6350b4123f2055d2455efa01667d0c20667fd04e4021a0600022e3653626c79132d15cd5220a5d361bd5a8be626b68deac856f7d7aba654bc01482cc6abd9562f4c608cd307a0b62c6c47d5753ecf0758b0a83ed7892cc0db4277b417c3d600f10f3774c4f67e5b9f6dff95a6fc92d2f12633149407d249c0605e7f6013519fcda7298b975a4262324caf69875d8821306b3d1e76f8474ed588871c418a6f4bc4de93852016a5c947150da992f0af17fc19603432768e6fe4375176058af2698f75295c034652546000a1f4747974a8bb1e79e1c627676cb950ee7484a337fe927519074615183074115cf5849624826405ceebf10f6c992369faabc7e24043374cae00a27bfed026ba65e77591e81f6560d89a621c206ce7802c23e58cb6ff915a9200f3607a97e250268104af8cb12e08f8380331778b4c0616e04788e4ef72839780d3480bc0fc008227d6a65b0a365dbc8b97fbddd5f4c93403c39f51e66c109c4892bcf8152ebb588515211c625b9c6e3456d1a197deffccd1c6aef77703b386d535e2778955975cec93474f3a3a69a0aff279d2c24dcbe87d7629dbcd92df98c8a5d8c391ec187611c171c4d84f6d6892f1b78499e0b49769f5050f8bcb8f59c3b0081ffcd2cd63e5102b6c306f3f331c7138dbda4432b96a60327908e715a9bdd7fb3d55a4a23ebc6694c1035d377e76274982a9943f3b4ea029432abf72c06a56ff67adc3add40ff1fc4fb88abe026306a257644ee00f6f95d017e14c428b22129f09971978a3481674a9b7aa640a5fc02d6e4cf576a1f6b2f05ec5b21d3dbc60fb7aa814033bc2e100a22c7648f5f625a7c169a0c8278940fd9bffc15f34ce503fb429a233be4797cb7f8e7ec20f59c7b038682fb81b64821a93bb1f1b121fc00fc74dfabe9e87372b8371d764605691d4f67d2a4838200775412b3a95892615a31dd92360e99d12705167caa00d52c1c785e963ca485fc797467fffb9c1ccb4a6887ba978dcdf14a6b5556660054877ee69621b7289dfe541fe63d59662974211d38bc87e56a7045b01f5905239d8536ef7de1333d8373368a6678a68f98e440e2358438110e634ff899f8f7bb07cf7e610748e30ba75e653b7aefb41de92a173c1924ed194c2501e1313aa48b7c7b6f36f745884f003439d81efe961fae321d3defcd2ad44368141db93ac31efc0e49f65f7e25a4a1c83ae5ea16fa4e8ee2706357e17b49a6430d70ce59f6c407a72cd3b85f40cff28765289346e92c6dc5539cab5fc61b92ff645c736a8c044100146dbd31f911dcbf7130845c2313d2c62294ad5a19a7e0104048041ba377059e69945a57e99fbf6540ebeef69fef22772ec67307a819189372540ebee9079c172a1a0c704785237d53ee65d146158eae6a7d4ade03fdf64f7ac7e49590007b3878052084e2b230a9170ea4444cb9b2a23a9fab924341ecd310a414f29647f2ac72d3a6b4c9ed6ee253f5f512a23b9c34787830d053f18345194c7386c622405e0151b77812fdd94d3038c0c7c80189b4071f86f0883dff9c509f64838617e3cf345414f4f2144676601e60754eb4f1e529278da79b4fd5c451e5d74e9da32cb7530f6c8a126a3e0d65fd51a59e75ea04528059aea48b6b832927baf2c20826420eaa225d217cf894167f419dfd2f26dc30235ee2b682ed387a104b144fb4b4a2280e9747974826cf783a68db33f77ea601dec29eaa438c8c69a528edcf1cbb9e341c39116721bb17028e6a7b1912058372f3162e76534c6c7d0addf11f38005b7e3659b0cf70f1dd66275ee426ef8da85fa57bc233e9148730ce9371feac373a71f203b09449ad1d0139c750f468458e687bae8543c2d76a4a1e1efe237f214611db8cca1323ecea5299c36cb1657c9877060884feb1f7af199965b368ab4080590f61d0f410a18b669ad8dd85441cb05d7b79d7775abb3d2cc51b547760ad0125bd394038b37277637e1e65d81a29d57bb555ed316909ff52db5cd00bb2ebfa14d7b7c90adc78aa07fd8b05c3a99bed65b9273df44030434d3bed1310428315681979016260ca9f3c5419d00bf03c03409195ae7551fa2c07fc16d0ee6499c57f5f9123dc62af3a7b39865fd9a0c7a377f2547fadd4a0171e4efa6749fab1d811df4f6a8260e0a21f5b323cca9a5267338ca603efe5e8554186fa7098b70f7f7851b14710ceda282e0960ad5e9cb37c059434d6a1b4c8f70907d7049a90f5986ab3b41c4c9a77014e822b197ac4085a2c7e6b2bece5212d1958afe95a213c410107e8efae3037601ccd77e0765183bb028328e704de7baf2ce236f4eb8da62c44ea1874dc19abfc4acb481e6e41b6c825951321b5dbb9207d68e33206bd8a7174a4246069f7981b2f253139965c41eb6700e57f5e371ddf5cc70eba0321fdf8402a5536e3a9a0d202f8f190aa808921260834fa28f4ecc3794503a1e9dd180e27c8073f4e8830ee5eb88266458d34db3e146bf4aa07dfca3c92bc29ad42bce020e3687188c96faf28b9631e88acf6f9112763fd490db82f18c2fc4334f9bfe37562866224c353757de4e29c9402ad16774ac42a5a46d6d22ac7a63a33d484d0058156dada6c2bb12bee7f642b1c9a1515 + - {fileID: 2800000, guid: ee148e281f3c41c5b4ff5f8a5afe5a6c, type: 3} + - {fileID: 2800000, guid: 2fd6421f253b4ef1a19526541f9ffc0c, type: 3} + _Values: febc7fe765b0407b8c8e90345544ac394753b1a281922a4e114589015196ee4776dac15926adab1e4620c9a232d1ed566ec628c1efb3c0693a954d39e3d36066f7d0f7b20b638d2be0a95163e7ea141dcc1f6b7591d3a73e949134651819880de72e3b2ecf0dbc66f70629b01243766dcd4f9bcf7dee1e4185b3b64b611e3b6ddb9f15d3e773b400f9c3036d9fa280501bc798c97db9902b9e9549f346d5832eb56db8a23f89a7640733ce3e6d52283bf75ba0ec3738db268ac131e2db057329631d4d0b8c6d0e3ae43753f6ee4b353bd2e2253bebcd1860a0d4110fb94b096d897f3d09494eb63919371d8cc711425cd33b203e27204208f885cc092656e150e128c851cd967a1faedeb3ac8643a066696941ce49905954dfd41e62741c9c0aa24726e7840a0343e00326e5bdac65587954269665689864e713ed6a2aafad56a7eda6d48a710f5ea039098a96961a33923a2536bdcc8f3956cf3dcf0690ce165927cb38a6b5d322f7c42dc76a0f38733adf6e4e962d5c724536aed9f37e2a0bdb44464957c307518d1d6d10b64b0a6e7bc20b8ff906d175ab6ca57cd054ac25fd0313370dae837788d136e691bc77608932df9423e3b3338526c6cbf834351a137c1a389017a534ffce0da47d9d35274df6eeb94b093a0b8594cefd75351f440851d414a23ed05fd81393f2f058b123a51281feba84311bb826be24e5a3a934ef519d2cc8208573c74de13776471b2de3aaa287b71dfe7cdf46a2847f54867bbdc7e042f5ddeb7b72f23af89a976e0042eb07904531eb0bafe6f4f03cf60c72c6667aae67d83705be2614c5e205e248a312fd7aec8b041ed350852f5e12e7049d558c480b488043b79862cbcac2a022982aef40f444f346a79a2ea1059b0743e0f8591ae3c7fa2d3130b993d419467c3a1a11a336459a24f05e953a20def4426fb65fc8a58b1358f90d04e060c5c571d2b1d2df9baa98256d81d67ace3ff30fdb03fd7487f0de3b24b60f810b51bf247fb2b1b92bc13b5741d788d13165e2476a8c158cb8c388005461687b65a3ff1b24340358a005f80142ff99728e376301c37373b1d6f9dd45d64ff173d548421cd7a3aefd628aa7636cec3148a304701d0398480ecfb2ba1d13492eeff76bd706bc7d4932e661634ee528ba16386a5d2e222b8a926faf1324ea91eb185bb86b273cc874da44c2c8630469d658085c1a5814ff32331eba696b6f91e488b384552cbd92da6ff683e95e632696d9866c2d4553bcd3a41560b90932df6bb3de40b07741fcea64c975b168176f69bbafbd0e02659edc6f57fa421c4de43d1617368022761e988981c87c3693c4457b358b4774d2694e3f634120464531e71ac865af2011b8ba6fdb7a7f63dd5a236d4b39183f9dc945aee841be3402ad314c4f68000774658ced46b6504c174de2429b726e0c19a8b791aa5d085276ef6d2e49321474591be0b0c606851a79f9c5352400cf703e2433a7b16f5c2e6edf6435237e961b396ee87f91be4612239c0aa4233e7677e7a55dcb88d4107f070a9e49d5b59b7e9c41c82751f6647d3f927f2a9e42277d89e9df153fdca55f4b6bcfff42469d23fcd8dc3077c189625a00baf3af2a9114c7d35516e91e8c796f198b64faa45a7d76e4cc1385ae6d5597fece2223c2790767e24fa936e0676b0de32eca03e1ca4ab765c42d4645930bf57524eacefd8d1cb65bedc01984f90d2e25547c193f025f28bed33a98ca8b20b0bb6153fbaec60fabeeeb580bf6ce3aa12e00df0fe90e34887cee722e374a7fe70e0f5e22a61123ec64d22b53a95330f098dcc6cb6a2f3853d2248762c7c172a46c3f1a052d5d041cddcb73bb398821d6427d6aa47b4c51c2b84e0a356679245da0771895c7d53dc4281c57ca5c0c735c465ea5452b171e5977a3a788b62300769e73c717ea69523e1b1b6350b4123f2055d2455efa01667d0c20667fd04e4026c79132d15cd5220a5d361bd5a8be626b68deac856f7d7aba654bc01482cc6abd9562f4c608cd307a0b62c6c47d5753ecf0758b0a83ed7892cc0db4277b417c3d600f10f3774c4f67e5b9f6dff95a6fc92d2f12633149407d249c0605e7f6013519fcda7298b975a4262324caf69875d8821306b3d1e76f8474ed588871c418a6f4bc4de93852016a5c947150da992f0af17fc19603432768e6fe4375176058af2698f75295c034652546000a1f4747974a8bb1e79e1c627676cb950ee7484a337fe927519074615183074115cf5849624826405ceebf10f6c992369faabc7e24043374cae00a27bfed026ba65e77591e81f6560d89a621c206ce7802c23e58cb6ff915a9200f3607a97e250268104af8cb12e08f8380331778b4c0616e04788e4ef72839780d3480bc0fc008227d6a65b0a365dbc8b97fbddd5f4c93403c39f51e66c109c4892bcf8152ebb588515211c625b9c6e3456d1a197deffccd1c6aef77703b386d535e2778955975cec93474f3a3a69a0aff279d2c24dcbe87d7629dbcd92df98c8a5d8c391ec187611c171c4d84f6d6892f1b78499e0b49769f5050f8bcb8f59c3b0081ffcd2cd63e5102b6c306f3f331c7138dbda4432b96a60327908e715a9bdd7fb3d55a4a23ebc6694c1035d377e76274982a9943f3b4ea029432abf72c06a56ff67adc3add40ff1f257644ee00f6f95d017e14c428b22129f09971978a3481674a9b7aa640a5fc02d6e4cf576a1f6b2f05ec5b21d3dbc60fb7aa814033bc2e100a22c7648f5f625a7c169a0c8278940fd9bffc15f34ce503fb429a233be4797cb7f8e7ec20f59c7b038682fb81b64821a93bb1f1b121fc00fc74dfabe9e87372b8371d764605691d4f67d2a4838200775412b3a95892615a31dd92360e99d12705167caa00d52c1c785e963ca485fc797467fffb9c1ccb4a6887ba978dcdf14a6b5556660054877ee69621b7289dfe541fe63d59662974211d38bc87e56a7045b01f5905239d8536ef7de1333d8373368a6678a68f98e440e2358438110e634ff899f8f7bb07cf7e610748e30ba75e653b7aefb41de92a173c1924ed194c2501e1313aa48b7c7b6f36f745884f003439d81efe961fae321d3defcd2ad44368141db93ac31efc0e49f65f7e25a4a1c83ae5ea16fa4e8ee2706357e17b49a6430d70ce59f6c407a72cd3b85f40cff28765289346e92c6dc5539cab5fc61b92ff645c736a8c044100146dbd31f911dcbf7130845c2313d2c62294ad5a19a7e0104048041ba377059e69945a57e99fbf6540ebeef69fef22772ec67307a819189372540ebee9079c172a1a0c704785237d53ee65d146158eae6a7d4ade03fdf64f7ac7e49590007b3878052084e2b230a9170ea4444cb9b2a23a9fab924341ecd310a414f29647f2ac72d3a6b4c9ed6ee253f5f512a23b9c34787830d053f18345194c7386c622405e0151b77812fdd94d3038c0c7c80189b4071f86f0883dff9c509f64838617e3cf345414f4f2144676601e60754eb4f1e529278da79b4fd5c451e5d74e9da32cb7530f6c8a126a3e0d65fd51a59e75ea04528059aea48b6b832927baf2c20826420eaa225d217cf894167f419dfd2f26dc30235ee2b682ed387a104b144fb4b4a2280e9747974826cf783a68db33f77ea601dec29eaa438c8c69a528edcf1cbb9e341c39116721bb17028e6a7b1912058372f3162e76534c6c7d0addf11f38005b7e3659b0cf70f1dd66275ee426ef8da85fa57bc233e9148730ce9371feac373a71f203b09449ad1d0139c750f468458e687bae8543c2d76a4a1e1efe237f214611db8cca1323ecea5299c36cb1657c9877060884feb1f7af199965b368ab4080590f61d0f410a18b669ad8dd85441cb05d7b79d7775abb3d2cc51b547760ad0125bd394038b37277637e1e65d81a29d57bb555ed316909ff52db5cd00bb2ebfa14d7b7c90adc78aa07fd8b05c3a99bed65b9273df44030434d3bed1310428315681979016260ca9f3c5419d00bf03c03409195ae7551fa2c07fc16d0ee6499c57f5f9123dc62af3a7b39865fd9a0c7a377f2547fadd4a0171e4efa6749fab1d811df4f6a8260e0a21f5b323cca9a5267338ca603efe5e8554186fa7098b70f7f7851b14710ceda282e0960ad5e9cb37c059434d6a1b4c8f70907d7049a90f5986ab3b41c4c9a77014e822b197ac4085a2c7e6b2bece5212d1958afe95a213c410107e8efae3037601ccd77e0765183bb028328e704de7baf2ce236f4eb8da62c44ea1874dc19abfc4acb481e6e41b6c825951321b5dbb9207d68e33206bd8a7174a4246069f7981b2f253139965c41eb6700e57f5e371ddf5cc70eba0321fdf8402a5536e3a9a0d202f8f190aa808921260834fa28f4ecc3794503a1e9dd180e27c8073f4e8830ee5eb88266458d34db3e146bf4aa07dfca3c92bc29ad42bce020e3687188c96faf28b9631e88acf6f9112763fd490db82f18c2fc4334f9bfe37562866224c353757de4e29c9402ad16774ac42a5a46d6d22ac7a63a33d484d0058156dada6c2bb12bee7f642b1c9a15156ee2b77977dd9f33e9601002bd3ace72 diff --git a/Assets/Prefabs/GameElements/GameCamera.prefab b/Assets/Prefabs/GameElements/GameCamera.prefab index e59ed949..d94199d1 100644 --- a/Assets/Prefabs/GameElements/GameCamera.prefab +++ b/Assets/Prefabs/GameElements/GameCamera.prefab @@ -213,7 +213,7 @@ Camera: y: 0 width: 1 height: 1 - near clip plane: 0.3 + near clip plane: 0.1 far clip plane: 1000 field of view: 60 orthographic: 0 diff --git a/Assets/Scenes/EditorScene.unity b/Assets/Scenes/EditorScene.unity index 7adcd51a..e9b044a7 100644 --- a/Assets/Scenes/EditorScene.unity +++ b/Assets/Scenes/EditorScene.unity @@ -3565,7 +3565,7 @@ Camera: y: 0 width: 1 height: 1 - near clip plane: 0.3 + near clip plane: 0.1 far clip plane: 1000 field of view: 60 orthographic: 0 @@ -8465,7 +8465,7 @@ Camera: y: 0 width: 1 height: 1 - near clip plane: 0.3 + near clip plane: 0.1 far clip plane: 1000 field of view: 60 orthographic: 0 @@ -10005,7 +10005,7 @@ MonoBehaviour: m_TargetGraphic: {fileID: 1456264024} m_HandleRect: {fileID: 1456264023} m_Direction: 2 - m_Value: 0 + m_Value: 1 m_Size: 1 m_NumberOfSteps: 0 m_OnValueChanged: @@ -11370,7 +11370,7 @@ MonoBehaviour: openPrefabs: 0 prefabs: [] idRef: - _Keys: 19fa7c8b7a3a004fc497f181b6e026078db49f8d499d21408923e4a607ce3a595981be3ba9ff4c769b8f130ebe47887ebdfb98ebe5da7049210e18f42f147d60c6bf413c35ce7d12db1f64f3ada3bb2d821326d7a7c363136666d31a094491222bbde8f495825a4e2f05ece33b3881253ca117543370bf2531ac8ebf10b7f565a03ac9712b88ca58c516c5a7b6d8f161d9edf2f0d7536a18cb29cd07833a5a3b4c7ae726cc17482e559c16f3c9b08b330df8ea680ec3b112fb2cdae8148f027d6cbda2a2ea985b33ceaaec1a66c03614f318fcbd24a42f1ad60e54113f577a421594d13a0cca1e4dea74ef6b3011a507d84e972e95f1f208c29e6ca1845b5768a29ea858678d9a45dd71c72675172669d2216f05e07a6318526a8851fe85233ecdfeb27a2a54c77acf2f0622887385307cc810cd2b8a733f308aa04e356c1a4343b0f897872b4935cad6208970be4d2cf27d077b2c4e3454a429a74d0d848d0856374bba5b830d5a1c80b06ff717be50822ffba2e9a7ff4587ac62212c429608d6f7162a2a64072a2505286ef155af18b8b137cc9492aa430bb82f7606ef4e587d4feeec0bdb7915a98a7574396c8e2e0a55a2690825a356de044dd24122aa16573d9dc4051c54111fafcd938f2c107505edfb00aa3545750cacd20fd3d118628f24eada7da532296de43a2f1ab3ec2f40174152c0174e5ed6d08c86c931ea726390e0507706ff52bcaf0ecfc98bbb39566936366fb9b255a7ae89207f8b652d88310d54f616106692fde55d0708af69fa88a9abd063e55043de1680da2a9e6d579975acc6cca75b961aacfcfe5ee932d224e50c4b614d14bba7a043638e92631518771690e1bb19dced44e075745b028dafe7e182ac1c0b232d20cceb1df107aed62a36f989553501753abb270b44324d7d8ea6c2b2ca297f8214402bb6de62c8eb8e3d9b0f7256185d35a921a8142098b19bdc42367948b6e493aae93bbb6f41153dc39aaa1c28d34255148ed5933b025933dea2cd7425bcb047a020454d5b0b9ab1a5634bdd403229c26b55bebe32908e9848d620fa19a0ac538a933d5645ebcc055ad1400e0de2b71574be99675bf8a3102955feb74a2c3eb04c15e369386f97b630278db0358deaeb8cd4eec2235a9ee69cec23c44b4e60051edd993b7bc5600352a5affe328d95cb10d3df8656e07cba3b9865c35815ed87a215153e001a10e4ef5c6f3042f4c3e5cd2819166d6112b9f17f5bdc220857778404d76103b3cc3b0938e3500b561e72b38fd7ae010c88f1098dba07392870ac4269fb7604ae4a6e96bb747f19d5bc4403fc346500d5432183fe0a3d37333e0b5c95650540fe330a555345654c454a0a5cd01af12c5bbfe973432468198e568f78da72731205a296ce63ceff4027fefc7d6914ba336fc2c1a196537425df9e0c581f69b2087fb5d4317015c46f3f1e5c5bdeba5d2da2335d6bcfa490744d574d55512d623419a9a46cb8d49f27bf55d4d839d10618a0f1cca64d60c95de66211e085c9c552c53a96f52a47e2097c7d27a25cc7c274f36e41d3df3e7d29069a951142fc403ece277d3175e7cb6713cfd85bb1677d2f550510a9164da141cca3d4dc2d14ea6ea5bc7c61339be514a16a1771cff40969d4dc573e3c894702705927a4eb212c639e52653be5bb871dc8f266b125e31d2ee5aa499d965dc71b8416d70ae562427d168be888de916169e4e6e6a61d506675d74849db0d1bb064843bb211345bc43b4b385f641da77957fcf2e794bffc0d74579148e75640d90c451ccf2c5994d52ec0e48b27b6757d3674c4468ee18fc36730de2672b5b1567f8427fa5248fdda7745bd1bf9af30a24f6f760e1d8a8d2e169cf46b8ba7516b16ed2e96b5bbb6e20eeb540f7f4be5844b79e7ee151671a373a4e26d58e142691f576b98633aaa8921a5ddbe04814bd97a61c4cec06828ec5598b5a5688fe724522d9a4a7d9611d651d36249674d03845f0c6272c125d7806fe2bb353081161d28c122f29acc03601a51f08a4016e1082f30fcd93d5728ea47b79ca0e2b6cfb242a9d65f214d9d8402fab5b34eae36c45bd0330fbeb978ee2fcf2a0fcb24f222621fa9ab7d0dce725d9ded17f76d9f671ad6c06605d0efbf3940a506dad2e62f21bcf924dbc733497d038a08ad7f6666006a66281ce82d2f6619f66f6d35134e18a31cc8ad1ac7b966cf550a7f3749f10c0e64801184e106752a681216ffa3837967cd366983232521642549cf9088373ba9d2726c53c7843229cf12c86a8436660b9a28c0e4238a4c7ac4f0e2446c5178d6b4a90102e51465b132d9ec6c3ec954f282992fe09c9f2a6d7eea356c2d4766a7c4e03aa5e334559752fc7c47b5d52b06e06eab61a6d10e4f7483a3a0ebff69f6c0358c0bda930f4d7cc274d62caa67c537732b4a1ce41e4e79870e9eaba95cdaf4fd482fda400b1dd3bc5c8f8419633140f88e2c72327c9afae1cbeb46af06ac297cdb123537326592c57c95cb2c5c853ad052230733029b09f8776f245772a3ca0276dcc8b833ca146a1411560f76a926a9289a1bf169092fa58ddf9c3a7517c82635364a7f4df403890f9d1ef144fb812196cd7f0c77286780f491baec2ca6f61b9da400071600beb18fe2b7e76e86d5d0c1605cee62a2681f2dbdd87b071d79c190e8d373290a985bebf6d6a810a8113e79c5a1a532eec366e53a852b5d6e466fed752cfb7897a7bf6f1b653f6d0c571f4e8127805ec3515736dfa68f07ba29f321139f0d5a44ca68c07e191e316809447bd2cc041c05186bfcf1e65731b726cef277b7a02e29b17188403b8622365139bf2fc071347e1dfbee809a1671c43e2f82acbcd800b78df10f42a4017c8a9dcae15d1d2c62fff026423332e57357fd8ac87b1d9952a64ba6e19ca69e24acf1a805a8b07076b2f15811115bf70962f3f016365a2b20b01b6f5693eb1d01ec4babb2d341af68b923a2b5bf5a3f575f423bce6076d56121e00caac4b88c2cc83b11cc7422a66cf74d106b78d3cd635aa4d5c6ce0a81623dbb7e5b896e826999417fddbe2caa248eba28bda822986bc1a561f21387762d2def8c67a4f06e2bc76e0cb0d75f9409074dc689b94fcb3f83cf281fd236e5297dcb083a94c883282de7fcf721e5e73b505595e4f7120861c01328054c9b302af4022af362109e2f2bef44313d81ec1a39de7736f3892f04d9f6479188c48f2cd00d4fa9d9c99a72d4516d76698e182e2abdda6dc8354025c623782b35791639d9b3d6a7a4a251738016b3a41242a73e716a0b132fe4277ef01d45592e93a97c88b5ccc634dda046cd046c4031e66938e3bac7e8e2834609651b747a894e2067a554335438e44327f1cde6ed0971e14a83c7852308adbe3ed656ef8a3a32d12f111d50acd2e01727d13d91114c1fc636e65f0ee602b9d47fb09db1bce5ee0a0037e7d0ee86e42c0594d428359a07b5400093c0f470edd76c5c69ab821abdbe49752385bf4695c3063fc69ddc8e9305462bcd6bccd4d0d55ba8110ae281cdba388e7dda89469779443d5decb893f8ef4b57c39fcb0af7421ed256e985ffc3c54695167ccd2c878e567135e0f7dda3ff6a97dca81f440971457a5478000a8b6376e1d8360c581b142d9608e7a1456bfa07564a0d94d4a7b01976a0d20c469d880ac65d0dea36916d6c9048b555461adb44f08c58c4a390ef5f95c81e74014cd75e59579ae6381f0b32a134bf8204e4ed2a3587910b5c8b361874e22ba04c32db059abd3cfef63523231af4bf491b069c3f6fa51cfe8a26f82ac953246344f2490055701c155611592b394b9a3c1ee2f55a1bf1f247ccd2d26907fbff1c2bdc80674ad889b2a6521d6e8770a5d5a1229266b75b7f2034190274c65840a4d302386b6bef9ff2fdcf4149731a6c98de17942073ba9d5fee78c30e36204474695ee17c4bff0675b00ed30ed406d360c39fe63b929d3615656a0a7bbc9bffa1e8fa965dea7e69180454e330dca220b7df4ecc352b1196c41eb28f0fb8cfbd62bc27462b9e145567c25c1264b234edf3be1e113122b8fe0f916a78044273957140d5010ea7ddc4fa9baa221fb56a55f91470e032c3ed7b7ac540e3304aa888e7b67a23199892ea67d8a8886e3c1377a78f0b3b603c0fdb93fa5c2e4a7d24561caa96003a473b91a75a470a6a98d8a779cf888976dfb7c7ef7a257b79309bde95c7ed4c3e31f237a3cd6f326f0a0bcfdefe65af544078f6f57d7bd96bb14684e8d850aa19c651a98b6a058644e66f933b98d3f00b2986bcc9080f6c13622ba77a1bc4cc0bcdd33418335b655093c331b81c194e667a0d386610db497d85bc8c077879970f0f788481ef1da14bf438ddcf86935441de988d54da39ba18e886f1c49546fc655bb9abaac6878c5c94128d280185080d674ae51107ece948329c69750e65e03b339ae27b70de8910f4c85e45f9d5f44230b5c90e524e0b3bb3cbf2f392c067444ffa037bccaf833cc7382a1dcc2e985810164f89baa0c11e6db27652245a744ccf5d09012d86897f338cd68b7928087ba8909556fccaca71c2da8aeb7d87841910cf4ee764334c58a6fa99d2b4b6af48ef5d3562f701db50a0ec4a79453ac06f8ef5d3174c1eba739bab7b57cc374f33e8b0b4bff010953f3aa8bd48d085bc6c8f107a773d9bd8085ae78680199d8806d542fb322c3bd701c5f052438afb772099171a234e388e4c2754e52869eaa729cf3be1ed7e1066351884c3d112e46d5e6f651930b7ab540e30b7f427a95067244828744e1a89a15782afc42d049fa043e686b803d1777123e6d31c36058ddf69c4c1ae08e7270a3159380d2f096af52e49ae98b99394ae0b30a5bee3e9482c38bf2dc0f03696c440ddb7321eb7fe79589046c8721a11e50ff42a8e2455fb084deb57827e23eba63fe7ea3e5f84b41043a71961f0ce5126253061b78e7fb1fe1dafe4090f80f77b5b5f77a5faafbb6b40194bcb6f5cf81c67325c4fc13417bf66e95cafa0ab01c2616a42b0ba08de2b15cef7a8ca7d6d7a48c7a140dd473d9076360c11520bcb94177895fbe6b89da010779b0bc3910b1657d6f8d809c1e51a2db23983fccdd809677340ac188e6c6f65425065ac31cde52b0b4684ec0d74a95cb12999f1219ddd6091a34f505efdc96a778c388f7f92041aada8f9eca2098a1717f73748fa9f7920d239e571826b330710ef76803c19dc1d267e4578a3f1bd652d666756341165281418be46ac9298418b0e234c6df62403e5e6dd84a5ff83207c7f9fe8d2893c21ab6192dca5698e6d19fcfb4debf52d37bf9b8fb2cb1f7d12632035d30c5091144a44a00b64485e7c9af1e14ba87bef3415472d17ecda1c792f3ee5210169112a5ced08811d51173c1498e218ad38044208bf98efeaffb24e78d513294d197913de9bc755f4a5f472c8f3b22122d48522ee53a4587019624112c65ca895c75274e17d8ff9a085bb5a84f72e7aec45f709d4439108b966e8286445e5c71c857105ab9d738398585c3b235fc67b358fcb4e3e5b38030c80505f8c1b790f545aaf2aded7ea8238e50f2c6133d4e7d39ca10cefcc763eb292062b112c088221b218375064a6f285b279584b0b643f553733108693df771b8e887022ea8ff32272f4137463f8873648d502070803712d5ee33e24caeb90be938541ff778b61706a531b2580bce919456724969712e6917d191213cd0aa46f1fe61b4948bd6ed2e296715c1f97ad1bcd5769330f2656a56bd27e5e798a6a7fcbc427626e326103d6f7794f8f66ffde477605ce555d9b4c48970269e3194a2ddb4b47bb613d1980af006e089f8329ad8393699374d2626a4f9303736893d3d7b9a515c1c36dc4f81cd00dac6395520e1a3741c3fe060f90aeac4987b19c151667416f40f7684def3ef65fc13512f827c6c3729fd495d6c0b4a5702326930582843000ef2ab5ebfc172f7451f7dc38f44ca559a53229fecc411024d172884e43310665b3bb8c884c83232cebd3bac9267ae62c0ca800cede208b30eb46b749d8a58c07352bcb74a20bd94ba96abb70518f6b7974f4ce53ff24fd05a7b33453fabfba69778d3425444cbb785fad79abfb90fb7a27903a0b07b9a46e639b074285f15957b56455eba24a932df6e6af1de16fed2d08907c2b0ffebc3d91e4d3616cc5e57e068a30d4ca1f8f4dd6899052f7f44a01adb6a64188ce3e684fecc49a919d5d1f913a3f667a40ea6299d2f8f8b46bb74c636f7e7e392f295b7b0e972a710d11084a917cb3e0d4635c64a0c24c961d3d7dfe38077daee2e43420cc9b0651a2dc31d1ebc4188b4cb1268a12b2f554ce9500eaa57737e24bd950156c11dd818e75022a8e9ab75fa21a596646a776e2dd613a4f2e8a3b57e3697465666ad918140b761d05cd1280c357590e579e14898dcd4fd0ba74453c4ad26948e6a6d7e4914a3b87acd350e64fa645f0361788a129f93f4d80847622460d718e44af390f09c167649684afb7e531381087a00e5ac9367d20fc133249add740a062c3a29f6c351c41bbf0aade71675dae7b56c1aa440b2ea16b6129923d941fe9be9f084b3a9479024144bbc135ba3fb4c3492055d86e52e98bad405a84f6148c3b7122ad2a231fc58fce6fca7e1953531255ff144f6a536ebdcff41324d423d6c8e863663b3136bf1d32b2090ac57fa5e63df301fdbb7aa86547c714c35042a23df12748362346a2af44b8156a72765608158d8cfd312387e09cb019d65c68cb6f1efaefb50e0dbbd7c659ed7b8a0360e41da91826af4f35de0077eeab2966d89a0daa850e790c2f4ff0466d5a45210623d8f69ddf0754ae6031888835886e5e29b6c7b7f308009da3c217da7df956b7a2a21ac263493b123a1ea71ade021dd042c7772fb63c7ab09d30cddad64d6ef2a5255e2b0e32065beb55aa1d3f5b6bd1232b799bc9610614502f07a1d6253d6cd3e4e2ec92b870132d7d0feea64635eebab31fb028e06cd71f0753e63e8923ce681e206d4ef36047017b60621737084865176dc4cf85799acd84581be2876b43e48d5ec21afa3560e40856f944352515c42d58377d100bcc33c15c77f25205e4babd3577630b3ed440168219f64f424619fc1c6ed4f63cbfde62934955223ac9a61eba5969004fb9ee2c789492242a403da17752cd257e7443f8358ee800094d68634b3d25ad43c2cdf560a7e12421646f6dc5641d077c9ef2d76cedfef1586b5456923870ea2450ae18c8858c6c08b028f297d8dcc13793a408bfc606a2618009ba1fd68ee62a599175b6053ff61d5a21f74885d21f3480cc869fc554f57bc95f7102847b6138bd380e95ad88c353677fc89f1496a07b5aada0e318c3c473129cb7d3ffca2160467a8250f525b5387d1d3868c382d80ae90b1981dd745c46ab7d976a28063c76f2c0767ddb6dba55fd649e9ba661cb2c3aa6c78588bcf956d6d27a6970de5f3467952322c5df5b0169cbf2625097344a5dcab9b453163936788019aad29804233d2d5cdc06bd407019532672818bc63d8d7ac4e8e618477a44620013b013f65902491f2f632edf78910e074f42b08742d02fc6fc085fa95fb495675b43d2402af8c75519d8cf4c116620addb941af0402240939facb6b80d5bb9b078eba1e25d9fd8eca9bc4571413d2b93a137c6c24d0388c73f926d054a6c9e8c6e7f3b03478abd53ea3f23a95b209c5d9296adc737f70d848c97dd1009046820267c915b6bbb8c6a7831398126798f07fdeed08e3325545ba7282e594331a21057bc30274e91be04fbd763fe1f8c5e5a747ee13f6c86ddfcd1f6e82b4b6bd2468e282969014c345e794d13ed33767c9f03f14739566925554f5f218e6271da857b3c542541e747b7479dacc820cceff4fd96cccc1d5543f00a5e6f4c0d57638c02646c1535a3e0eb38ff80f3425c351b4e158bf83da6a3cf7f452f9f566d3b10c6df394437fbd5a54a1f6ce22c51ae66938a9b22336b4e5bc19c95f02e8142ccc4702c636a7a525340e6ae1e3ac0a2d0f39533e02ee723ced16bf92b661b89349ec75962234bfc0edcee621943302100f9c5fc984b23faab93fa35d57f26ed5a6fe3bc011a05f43e9241bd1c4ac4ee5eb606ce5e1622807bccadcf2815d871fc234276d97320e6f4d1be06091ff7bcf901e4550d0d10669c6161acd20a2d9cc6dba4801f0b5941de172b9aa27fcab738c0cd60f93646942401c87bf669f9f9983d7592ac258f1fcf312c96a754f7e3d5e71b6c287295fd2138a421d4224b751f3101650a36f5edcd526e38f5501230f51b5af0b2732ed92c8d4c1a35500b0e1948898aad6ef92fda8bd446373b266123f6c6851e5d28935fdb929783254982b99fe15338777d780b0732445257bbcf867cf4c12452bbab8fe31576ff41e5483f493ebd3e5a089df1a4c4cff71c420897611eff1a09a80ce436c45561057ac9ec7b839b9602902b7357cf808e75a3aca10ddf9e231b6248f14ba2751e5efef61d8dbc72a05a7394f1497371d92865a56ce84cabda24592e2133731e5a1bf4eba7279dff46154dfc9b4bacdaa82b2119e5fd083612531cf9338d516ce76f11f3aa78354d7464ec8134484625d1342ab2eda6c7a2ed2a0205bc69cd2b9946e40a5c9f8420612c5c7eef79fe36f309d80049fca572c94c202b8acf6ef4683f1811d3ae7d8e4709ae3eb4b74c8bd338073abe328b6a1371411080599591bd6717af61ec62458c4946bf551bd87e6754013c36cbcac94b53019e9293f1128c40fc1ccefbedbf9b3e518a86b440d0b540872aa52d3776ce1f044a11fe28e0c53433141fbcb06b6741a0f77a3f4296123117aef33893a0f7794daef7a2ad9d1671c552812bb0f88f1bc3648c3ffc8fdc6dc81fea292c02382b0b996f0274c493031ff7850fea187e0e3e0ffbf72d3676412f76953278c061377652e0e877725801d0895df314ec58505f2414e3f9bf0142f14ecf14a63a845d6ab26567c7696835b7fac8b69469561ad0e5919cd5453034abdd07d65cbba50bf344769d790f760abbdf99f387b8d779f8b445c0a8e788501d6543169d6d2772602c3baf0c465e3f708657b4df24bc0cfa7132efff9a4c0a44da7fec349f9329faf36ca583d8933ded7baede6f2b8e07aa361c2c3b37730588b994cd388df50e1b80bbebb8178921210b2385b7d585184b77966bbbbf643e7f99e236bc3afa7b70bdf8f0e77abf6daefa4d475bf8bc5cc052e74fdb9e3526e6f96b51f9c0de18ef57eb06236bce2fb72918b60dac9978aac18a96ac54602e88d2d6e0e5116613e3cba7fcf249c62c211697b2867e186d6d1c58c8c9b89365f7bc8ff542af1559c205d242059c850c7849473c13ec4b0ab96973c9b89e492bc9be0c502644912ed50e107f5429972f974c4f807057511cf7665054dc21ed244458f43c562acd432589eedd0335a11c005dcd93b1364420f0d7b8726a19f40afd343bfb345bd93e1993a5f9462f1f2cf892acc6107f290c14d42c2de240ae3e82071f310659175b848eac45dc3e663f497495023a45e57df4d1189fd154a359be1c88c0f011da5156f8bc7e2d1bcf2a6fede56eaaab0338ec9c3c3541788a27330587bfb5a54e379b4458320263aa26fe12f241c6eefc121a50ad8c4d0f92226d95b032a38ee03761522c99ad2eca4fb99ccdac95341244f68b599a073d16754dc95f68eb223673f329a2181a95bf471bfcd4b042e58c5ea7f53c18344530233cb64ce4ce616325d440b96c91f92a734aa1b50412c6b733ab413e091ae1c0385ac654d1e2a4167c61f9dd012b20cc5eff188f10a06d3f0e818112cba5599111b832640ca4b85f758a1fd63650ac377929362f05ccd8e232c6137f55f2ff4679c117e49d5295f70f5077bcedff290856c2e37ebf75647c4b96c9561a7a382d38452fc26322cda135e3f4e2b62f53c863acfcb8b6e7ecad14e5e82e22c29dc81bb0b6c2f721325847f9db55aeeee26c086eec31b868ee675b6e4757e694c7c152e186536baa968f32d382b460429fa07e0543eb228330265bbdf3ad1469f3371e0f1dbfc11cc35741431f119b6cf56b15204db2858e0366356f3c0fc4b5a5003297a56340ef9d84616afaadd27bf27a5073046568f4ebb93ad371af23df4eb6260eb6510ee4edb411155e3b634258445f38a28cec19044f65bddf6176ea026528334ece2fd158e65c6d7318bbbd08ca18f057d0b093c01f70a937fb6be579310e264c6b2637471e1877f08a6b178d62202974f08e3869fb1390e33a17907999123cf2613eae6c234825bf03f51b4e595ae7c151169f13961df0492739a9e97f187dd63cc2ce7f8e2b0ec80a1e7f666a312f316a493608187c03f7a67eff14fc1372141f799eaf8246edf96bb7b4e6fb0e5b886623319bbb319cf99c55adf82c533d8d3df9b793ec552746091acaddf30b8636ab12d2f78d71f23afe0cffb9b87bdc2edcc2b63f0c0e3d3d8fd69bab6d5d45fbf1186961ad2e1218a59dac7019492f654a26474f70304c87dae4a43e25347af8fc291c147538c74447e729198c5c10ceeaf3ca95b0663f1dd9790f38fc187c62c9a85d480214c6b6a1a429f25a114938221b7aca0b34563e972654231127f80ee2c40cfba37f33aecbcf7998f26af7a07f4c7d7d384f341e9d1cc67f976c005efb09cd113d09452deb55f7e9850ad311d8352b84dc6f1f6cbfa3c0c6877126212624c5156a3fc4853aefae55483cb362ff0ec1fbb121dedf487ce068ad5684420f84e45bcc481186b6301b3c5f2a8e49b798c0b6926e4679ab9fe349dc3ddea3d0c8e7c1da3e5b0261941b5d5c58c1c68d2323ca557af7d495e313830e116e8f45db3d4e121b1073c1485b9a1a2ecf650080b20cc9755bf0d094e3e98c2d9a916a800f14dd1ecd9fa9644cea3f1ce65115662cd5c616c8f6f5720334617096486ab615f31d398d77d0f95009993c97279a5bbbb81805d812b445ff9d5c599bcdcb2d2a7bea13e9c5d5db45dc254c4072cd6445b20d0a768789ace911544ac61890b5ff35cf1b05af1f06f5ba47014f1e5f5ce867b630af51150ec45b5b1e68adacf7bcddf22a977761acb63bbf140a6e744a03854040bbeb62c6af9e6b4f1670c92adeae11583de62c8af9f533204ff8e5f7edfa053851d79ea536c8b279fe1c6c23a73b53522609044166d60f31b4c3c1a6f67af26f9005e6f6a1f91161ee57323c62ed9c1e0cf90cb59ea3515c9e14c14ecc7a9748985b7577f84cc064e8ff940f8935b92b8e21cb0a19cfb231acbf1d200a43f97d3d3446174d53316ffe6047bb4caac55d463bee4d2486564230247f7b811a5432954cb9617714d773586e53e110b0f500fabf512ec275ff577687a277bd806b7b4876af669bd82a1bb4f42c1092c9bc0930ee46e4d885040b4b10eaf0725fb5282631d578a0a3642d15928432b7103b3fbd54b930c5785c3c8f5be57411c55613ab5436c39e35a9738a18ce4500d2533a2c545338e719126173eef8047626c024e997dd0c47ffde79ac45bbde46a13d6150dfb6428de1d46e43d451b03ca4fc4e270ca4970ab80c2acd33735ea1cce52f4f68aba922fc4d073d91b1e4ae714a06b69348c5025aa908141e8aa5918a330eba81ffa550a57123a553a587f8d8833e838658f17ce0d30bbfa2bc4187f2994ea15dd5d28e5b495c046c1fafb5210f145d36ddf4cdbe6d26aef464f362b2ab4cba56e59b02b1b022d0b4f6e80082c0626d571cafea5b7f1d11517f7d40c24048e9930aa1c38bee537a443b7e4aa9d82acbfe79f46a039d152bfc54abcfd29d0c8c52ff9387e1611f69c835a52000d26686abb7c1c3ca4c13cedf8839c8bc7b59a82e0a9ca96bb21664a5a3ccc6bcc9292bed327a895fd03dfb143b57a6d7a925458efef2f635bd0da232db9692e62574574e9c4911091d481e9f34aa8fd1d53577be88a6b1422b073d2355e106911112d2dec8dd4c140d0bbe61cb3afbad3b76dd02f54838765f676404d5c0ecf3b37c739ec9b34d705b102b485e2cfd2d820e65df9e5cadb6a153dffb280927857516b18629665253e646e489d0e6b214c83582c725cb910f2a28bfe26db7669bc750418b227ba8179e1107a8c0c87977fa0c3da1751055be573e50ad598f19d11f7eaedfd7c2c8bc216799c93a16b09e5037dd79f30710d8a50074d48185dd90f83329dc7e86e4da353164a083f5b51dd95089f1d76834d62a2cceec77a9f81d2c726e5967846d7a344dc3ed732ab8aee146b6cffcf302cdfc4aa8e66dacee1a5f45ee0c822a7c22373f3481aafcad1e1452c9ca6a657cde1c24d8bc70f43b968f159a93fa1375fb6711ca21fec66dd38535a7db70716b3c2007baca88c27ffec56f5fb4a55764835f562f1ae7acd6f5d80b2ad79a54fc6a68494306262178dc9972a0b54a05f0e4e04ee11f3cb8fb541723ee35b2553eb0c30868111123e4057c688f870fae8eeeb15068771fc36134e16a9ae5d13baeee250c8530e31b0b5fb66db406b78784e26b0a844ae35b96036a71a08d06728ec83649f99bed4f15d2e36d0cd79f564312044f9b452711e9de982f2e51f31ee3a7102c989eeb5bf9f55775210f8d15880b9435e1f584940523330b35fa815b464f58307da3849d156350245896c00ccada4b63de32d6335b71e0746cdf90f477b2bb7069be932b90324a44b957c2919cd9be0fba1bc787d973741183f909f4f4459b5b24b05bf4b8e02d54e992edb233721145625fc5a315cb680bb57e5076c3c1c774bb676cec7eca5665491c9f4686c1de090a4f919480f74559474f3e3a90b691555b616e9adefdc367085fec316aaf9277a4a6948bcfcd0b3b2112a42e8c1cd400520b13dbacbcd408ee0673dff4ec1167bdc6de364b1c25735632bbf1a2f2f313751420a06449355f85636236a5d4b80d240b71c53e9db536e59f31de78c5aa04eda09420348ffd0605c24e174611322aecc915ad63b95212cb5686047a14d84048a2b6fac067276bf29536ff133283082ea435be24a79859f2a7ea8b1601810f16f12f5ca4c7967b5d5643327dad00682c82292a21e6e35ff5a31397ae4d7e0ce9b9eafa9d1f520ac44ee38514352844a7825e93d857ee2f0dcf6601b4ffcd10d73649c4c305ca0cd1e09a2cfda1b53f86310fd31115cb6d3545123147afa93a802c5221149b7e5e49ae9c470ee5d2507c59781af15ede13fe4806f7e703ab20c89f522fb06cd415b3b18b6379845f4f73c2b6ed368e49204f3f24cb94867644fd84ef51c8fefe172e8e683fd37a997916487bdab2411557178c81106e5f552b3b4660fd74b117713f314058d9f6b32ca25e1535c2f4506655869a6d1fd8cb732e66ee797362295f8b83f2d1fddbcb13d01675ecca6b9a42ab6d7be4762793582f405ca575ba8609650e06e64b38e11b5bdb8f44da9abd41427235e4eec5d93f029fec56d5f46659ab077fb4ed3a474837014b3b8ce9ac0c795ddc6f1b380e6d6a87fd2847469c3060215c4379eea942a9ccdfa9212de251e1ff3b780237c9286653afeb192fa6334ff044e3d6f43265c22518404e3ff84cba6d789c79ff8b1a174e80d06599ee46695499695892cb1f50febe7037ba2a7ce07b2eeec74492796197a88194e7a8508b4be6289dba8f549340609fb36b7849253d0084e2ab686318f00a23b53fbb68cf479dae4e68a5226f651bf74f394050be05b9bf719e0b5e83b6044a90c496223c771d30fa319c37a5439fbd80d6130854b327876db0f42a7a1eaf26d99467601084c4884c4f833f4a56a50c7399257878ff767e6840eb705d9f0fd34b404516a81b55be0ff2e33313de4e9ba8bf8e27efc81fe4d600a45cf93f74f753c262186a5c947150da992fa6f4bc4de93852018474ed588871c41823b108f30de5df20b970fe023b5c0a39c39e3a4dd72bf128d49b79b948fbc25deb5a995efe64fd7580d4965860ed4b6f452740a5448c816869b62b861518aa57419941c5d10c8a457b0578741c13bb72c6f6f0fc0bf79b5e0b7c58aa41c08d68a2d292e5c2043a0d33baa9d28850b32e34634c8ad25b4d15876ac9dac0ad3a36bc3f090c34230e0ed3f45c964713583fbde330c6a16ee75b308676dd740396467a83d57c05d22756bd8f6bcceb7a8545fff6d32e0ef2143265c44a80257a583e3255a4874220037da5fe123d822d284dededbc779dcd170bfc8f31a467ae29031ab623948b61d64db2a5867f1d54046a4596141dac03be1b9980a331a55b1d570d0b4482494dcb7093f8bc5b2b6bfa7a3a2d4f01a7455e053ba076e18e8e055d8ba31bc33edb3a710b868e596d7b4e4c92d1df17c958e40108dd2b4c502afc06ba26ad32bd84a7052b01c0b0c7e9180eafc16398cfc6525dc1c6f52624358c65b970aefb72016805f0305519a4f9de04d331f694d66968042b23d92af82c4d63dc5026e09ae621631527de36e78b234ac2e1b9640ea5a6135490be2b822986454be253c5424b626f1ab4da484855f1356575e98014203e3ef52afefc8351b63686aa7039c8537748ce09224e316da55566a47b3c19c87847e96d5112b3681f5f9e25520342f46a2fb651858937153a68b01b92c5bd221b03f565081080c4f917958e062baf62603674ffd0e3d6ab48213956c790313e0a38039f580decd2e120d36690bb1af263056cfe9b761e374d5279afd94034ba682bf00e6b57100340425227085000237967b22d34593aa82d7b66d4b4a635eb2d590d51b201f435834539c01b5b07e42023a06fbf81ef4d0d32284564acf772d041be1aca1c0786c2207578536a7c60b26f5778de093c89fa1301b1133f15810905e62a6d19a7a29f4dfefbe58e91b6a63fbd5029776f04f635e148e4aa8c7cf50b92b1af593134e905182b0b40a36c824a0ad381c557929615df5cc7a1420a3f7b100ee0bd9aff8f0dcc2fb560feba6323b83ac7710374b80dec9050b24c40e50a628f8b2833521d2935eb928e3f5f8654abbd75d5c700113a89aea8979a21990bea403c72b973a9651d9da6ef07464d4b16a45d09b5bbd16360394e1e044b3b135387797f9cf80e1e99240c9a58febd30040b52c1815d3e2f6ed8d1f3c2c86a69d9b9428ebfcde80e4e848f6e51c9f45d0880dcef62036a4fc6a8ee74c901e12fb9a3c19fbb2f70379730674a2c76017723430e05ecad813733d115be1484f929e911c7c76ae00c14d5d9bd0713dce43e6415af3725f784396b5aa84dd576c261b8eecdb950181d1670396d1e602f5e7fbb996e8a1b1efe072905b39abc15b85fe9a340fe5561714bf899c8ec8a66d864b928923b0737452a122b1daa34482c7a0e33ca43109fd51cf6457d4b19156e7022e71f6b7c83a81fea6a10807e1b7f3f3abd0542cfe48a1a5275304db4904327677233e49868086ddbea2c7baf569b26c63d85d61ab040067239bdf1b4f6d47aaf38190ce79ba75d3b8d991a48f19503332d725eaa17b92d4258d6178f57f22a69d76372e9da427f5b463441f5396e367b64dab92948b2232c932610e5828b3104c177c148309e0c70f2baf14cfa237ac80c9d2b7c38014d7679b9aa4cce652646fcbb484ecf80493a31b6c8723e2827b8dbae93ee5fc722b7a1d7f120b7ad353fd6b431880b3f5e736b54b0c024d3070b279155bdd3ad6d74ac995110353f4b5d1e9d1259a8b902550e78db7c4d2d2e0ea8aaf91587996d6db8ffaccc4a55441100bbe767782751d39f505d3e46807acdcf7d731e5c25096a972c9691d2fb35b2515ab2acf88b268ad267be45e0da798295a1471fc79e1b48f5bb76d4ba1b061790bbeb863c3f3aad75ab67e14b192a4457f4b4fd6c285d748a6ab334f3c66506efb163e87a9f6c939e37c34c885344a9996556e4c9c503236f45d35030fb7dba18f275eea223271618d5421455de32aa390a6406d2783c29ae3f7835cb1c3d664bf6cc6921aa4cbc8c6bfd9e0817794e782917259676736ed061621d63a31e94676779f8d5da313512a85f4cab9c778ebea77a677b9e20693ad5435dfbe730d5825e98c0472e5917b3cd4e4e883906ec5f77981003f30ccebf34a8c6188339d588ca30f6cbc7478f4e901a48ed6f1f5ade01287e0be64f896976eb354cd453b9d4c8b9fdf7d2465e15238dfce40c6aa371127c5bdaaa4713a8a6b681a4d32ac75e5c6e094fa25e3d6e0934833ec218ab98e2e4d0e388478e09b6c50e887e1709ae3d730b78d8047c2785ed64615806e08b1e6b46aa6d77d33232a00d0a9e1f40dbc45b01f48e3896831e163005de15e0fb03221f68b5285849dde06880275b1fe340dba9ac4b77d44955c8fff1aa3e92c6e23b112078152f655630447ceb4524f930ad89858d6401cf58fe844e2026766a65807bd61f01cf6bdc29ac950349d941d7a16bf1ab45d0ab58093f7a4b24580e45749ab833472e8f4adc10467369d4a2d7c526c1917bbf20afcf7e16c255e0477f4525881b6e8be18d235831cb7538eedce152104a698336cc4597fc3a18340a43a73a47714a87693a44336d220feb24978f3ae0020f6d1637a4ab9ffa78e3590fb112dbc57fa1d99744b470620ea824a68d9a5422140d5314517f15f5259c4cd772822cde0fa1e8d0ec87b83b2179464ccf468712387b24be65f016ff751c8d1ffeb72b6e2c03b6ecb184358d54e80c343a9d3a94143a9ff65e6d781f4818b9f6eb28c5264e29e02d038b3b434e4fed821c1e3b281e07f53be7cbef417b2aca36c2d3878323e6e6627e6897a075e344ac5bfb3b66531feb0ee2fff1e639604dd2aa8dfadd2a8e5afdfb6159796296b1ca109b9c77109d1c1f416a99dd283463e2e53a0a1817997d325ec2940e7765704c4e26d59d02c5e347aa191f942837262ec53b5e9c749ab3771d6a184e080fa8ddf94d8f015d392055e2ae3dce47eda469173c2c4c3d0ec1b4735e7f9822cfb0463e03728a39278c8b1b08bac62983bf0b0e8265453af51aec8cda8eff46b878b05f830c4b5f2fa2efb0a031343888def09f7489a0686c0c49e985fe5e498bd162900966a5700b6b3d2455f5db26b1dbfb04619f2d411819ca8f5635e52d013824cecea32f11856094084b7b137631229b60f963ab135cdf871063eae540af95d972e5550a0e5416773dccc9726b2d41c078d0462664e3382aad2b3f756584ab471faa7aa479d256f21d1492b86d93e3c25a55a1ef686e758ead2b5de26c8dddc2781191164d9d47a6795309505105f7a5393b49e0298043e5b883e5ef1cbcdfb035ecf64e757386a9f154307f25f910bd0dfa751565253c2c6e439bef59eea534f0424b3959f93106cd5f5efc503df44e6c5c02e84737b4ef503520ce279650dffa656f6845b7e8eb3691b7fa3940dc314e4d83fc0f71844572a417db1901d1c9f080fd14320d18aa16cc20d00db6299bf50a7c2e1b17483d96f7866e13316ea6cd13baf91b74f7dcba11e1277e45496feeaee38a1354d088e02af5a1323cfaca4011f6473df163c14460b72053acc42d5aa7ed6b1b5ddc445186f55c6967f008f354976f4ea4620b5890a64543fece03b4deb94c62af353466c8478a4e71516211c4673b19bf2add6fae2dfe1454de5776f020fa5d701eff44d53dce2065ba64a6fa81126993ea740896bc117d362012e9ef145d6e4cbf81e26680ee7ea443f60c37a7e52dcced09db9402f32c2f7c0db52be53051a40a0d45fc0a3012fcf66553c6044621fbc0e2fef47d264e4c51ee1d725c56777447692c999f31291d1bd68b6747f2343dd1501438d1ba25e5bf924df84d84574ddcdf7f9b19875a7046e3efab4e49055eba5943ac6aaf5d72bcb725f21ccf6b60d128bbd88d30224bf6847fb5a9d032f768534c5837fb4974c20da82e53b3548987b08388fa2113ea7c8da3ef2f121c8dea2e8ac9821268338dd0646427ae62aad9f62ef94daa0d8a6762dca9585a45510ee4bbdad7740b9a19b616ca86773d32d4b337dabfea25338ab4720c693d2d9b146b1f686cbc10dfa00d7e0b911f6edb40b0e92829d430276eb5aac515b565ed1e2c10d5f5722881107d7fd7bf305e6b4597ccb9540572c0c5070649edb43616576f139bf1661a337895c659abf71862ecc1808216546619bad09bfd78716ca3b8957fafe23c5d544d00ce1534341331105ba2d4cb4c00fcf6d2aa3efde755ea026a124177c844d6e1d3cae97aaf4e111c9612e2316827946b7c47ef6de1513555e413ca22d1562860330d077ee97d4784bb5a93f9374765bd8129057fab44c224ff3f5fc318114b3fea81fd5a201583fe8e74283be42e72d386785c04a4590d78cf2c7e28dd7c94555b2d1b46bb3f236954fcf2df9301f7d13274c35f4b4ee44475858bf396592212e0d2dfb71346713a6539a65fb32de5cd35acf668b8330b0c49d6d136b32ed3fbdae0fec0223f4114fc7605ee577c6fb85f4241159c475aacc8d36d3c753a873667ab84d32e24540a11f59ad0c6079b39b9766a098f1767dd79ae08b02d7e8937fd3c550201431a7b12c8fb58532a8c30915809135a70c77f12624cdd2c5c246c949c2c754e67c8897019e4a7ec3f30a321d71fd574762473fd2aea9c6f3cb04a5a713b4902018107df6c7c8bab1f51a2cc5a4770bf50868e281f0a22d15d389ae80411d52c260319527729f17345644ebb85649a4527e20e1f163f87006e20244398ddc9c17a76a65e60c2367a76fe927ba622a93d2d20ef19df0abd997c18e3974e350c222e1035fb0af8a5ea19899618ad0b5a4c376f4d96ecad32347afc00a98b5a138f41699f4f593a10ee4eba2e4ad31e91e75242263dbec35f896aa733d1e2f7fad82c4c373e2e7953d47ffa89e1a930ea346a06427d21d2f57d0771ba0403d3a92502cd89fb405f32bf483c7c77714204a403c7627c0fd0e3f434c3548706eea5e25dafe477b9e674ca38fe3aa2b09211b66ceafe35cadacb2c4e82d083f45447a6699d1bf0eddaac381d47d6c8e90e2a1c461ff4e9870e700f47181ccd6942df38230935926f37934411e202dea595ff9e3d9fac136d43c0c00e2b38d4bedeceda689ea4f244bc8b7d75502896eeb04a2219277507f10c5a8114eb45c0b1fabb622bc4bb3b5c26eddd521882c73b43300c240fb5672dacc40d37fe7b8523423ef21dd8322d511e24ed404035fd58f5dd621a52e4c0af2290d800ae035aa2730094578c1b9deffc44fa1539d9931e3d9ad31fe6952ea281bd0568ca55cdd940731e0d155488b603463d482a8544212d0d2948def905d518ea217c4dc373d2cbb09a3bf05a444f8fefed44d47b47c5860cda2bcef4a2a865d9ea2fa79ed5699a577c714298bd4840a42c599f9e05d70df1d6354574f62ec457de2cf8b83045281c8460e20c67cc1ca2ef0217197732dbbea4671758cf8fed22222331f08f3c83f6da28f8a2c24abd1c654a64179e9ee3493741038e0e80c2531b4fc617944545dc8a28bc8df859a5d378098fd6b6792a85c6284fa2800c2e4e35492c7ba3faa29c26651d38c726cb45293daeb338f177266240af94095da381050ac34185207673ab0db0505cf2bea05c0979425e7a1643d105e89d56c95a7bf6603dd1e90dcb49b321a1babed935907d4ef113d7e6df7f2006ec74c626e31d4d2c47bcb5ecb64f3e3071c3e52ffd54c4562007d846a4108042f2ef2157828d3e4208eb21f24569053faef88ae3650ff740391d46ebf693d0573df8f9c62ee6ad01fed8d7eecc2dee4a0398f59c9a64a81cf8e01e6547524c64bd782f3d63cc6d384a88e58d3709740bd204127176920d5e60e931b237b74554758d55baa3d351362bbde7234936541095edc9b49a422429942f21856544fe02cd3a02c55e2eaf02b3dc46b9abea142896211e49ed90b9316a2b4fd2f4d79b6e43150e7cc7e6903d6333fd410494817e444a1a866248f05ef3342e8a7d82f72441d7fcc0f890ef7b4da453de7104c902aecd173ff222d0048bb032cc67e35145726af656944d9b2dfd2fb1fd619a666fe1064b897bb3c122c22fa170150e6d775d7eac62b5a3d81a3d6e3673fd5c442518a2ae6d2fdac040a8d418c3ef0c420b63d7a51fb837da7a21993a1616cae065da6fa4ff8f0d7b02fa0db7521e11db4397e834cfe1e4986ab0d5e09a65eb3741644df6b9afc30d125233a38c57e447475db51badae651a009f34314180511c270bb9dfea77da3d6b16c182ef0bd8bd5372fd8ffa1232d7160629ca1442e178421273064447add10d552932f44f43090b1006738eb3edb53fa0bd0ec51524dd7c7f7ea9df6cc890529809741891107057fbfd77783b1f300db68a1bf958d3c83561db4205f1fd7e71b2493fed64aa4760aaf4c9088a794d56d0b8860169d86a7770ea39b495c6a41cfd32e37b8b2c900c1fcfc4e9c4d50d0f7fae615c039a9a0573b5d491cbd8067815f2e2d392a4af37f6de2d22eb89d16522d6cbbcd7ffdf68331711befede270829c32b2e0cc68224a26699da9387e6151d90910af2b55f132db5f9564a91c918b625f8275ea3585cad58a2c16745044503d9257090cd0421dec1ffa832d32633cf4d6f477ff18c401611a165ec62537346c1a7dc48c5577c2a19051fa2018f27cd916e4b4ab33b0c666587a16e6a0e40167262712c4aea6ba5eb1d65ec6c9d158179985bf4082806dc63faa0c7673c1260a9e2ce6c80d94f6b11023bd75b415de85572d6b584193acad82180975eff2474f2263864b41927f136b580178d817f239cb972f4665d1ac31d03945e58b736eed94f367e863d6391653713c665ad3da95e5ccbe88de725b1bf8bb84e7a37667e7e913e3d4a005625e3fca5618f1e5d6fc63cbdb4831e7cc175e73d11f6b20c9d9e9547d36f000c175c0d1e67484430354d66031afd9b255847d460ecf60722644a0e23161b2769473cc42943f03365f61b65d7c717411329c3b702baf10f34e68f8c9cc4975f535049d3c71e796513737f08adb748134cf80405ad9bda5138b406f02c8230d55e45edd9ef14f6cd5dd83571c4169d826284bf6b3662f21175086483da956e6a4357550e5bdefc9e01c957299a9773de5277ac4fbd64f43f51dd63f8797aa8f3455f4b913f70d87b78226affb91cab0c6b7bceaebd42d75862e9438185fbda7971b590c5b41e601e4f29c89cf9f4853431a873015306c9fc37a3f3552d57f67d04e470048be5584d1950a16b86c4a1926f884d227826da947e8efd5811b54ca71eb95fe97c7e56b400c01b02645e7673029f1a4a5ae70ad509dd85fee7003b64624889cc64b716f12102233841ddf9dd04715a739b024c373bcc0ca7fbaa63ff037f651cd5aa0e4b4af494a63c2e6cd41de1a2ad5903116e4af349eb69e9d4ce4c2104c176acebaa2a64679d5706544363b0ce3646744b632394c881d9efffd926f3a7eec2d607ae7bc25b400a0f2f1c7463f16167b7f33e0d1867fb20d7aded1669da0eb5a53854090d347e3764a81903a819b64aefa1527b912d8ef9594ec4278ec25884fa88e4778010f1ea106cfd6d9b67c1400d671936984dee91a697ab162fc3487b2e42755263fcc87bc93bf405ebce4e9e4fcbbc19f7185da583d75d2583b736fc14ed5d1d67a0e2fcce97b66d7196b172f483d603455a10b31991b72f4fe7aaadf5124002937ba2f719b7fc5f7fb54aff88f4753b7d898b3eaeae3a46b7158d0db5f73f3b6f0f67c11c61e23ae9eae331f6ad7a12334586746ec7d9031c55f87be1bcc9339fc307831967ba1f9ddf51809f2598503964ff64d9d8be255221f4717f6c646086434a10bf088b10542cbb725115876a42c538d8e097a8447b4261eb64efb66a8638fb60c6c3f06d14b637fa1fb14871dfc39cebf2e90b51ae731cd0bd3cb2429a915a236efbd94d6c78b2e8b761ec186e86f0d2fe1e5072a336424590dc5c1f53a5ebe0f3eeeb40665bfbd9d41ada79d6f6a52890a5c54c677a388d5a899e748abd9e019f2f1125f033dc3ee6df8803b900a10272416b33ba76bf36cd29420a2262e52480bd9463ef4eebcce699810431b17d28dba0ae2b07f2bd347bfe3f47b3827bcf45f2c5098c92aad7f52a6600779d051f7e84ca12d979b0f8147dc433259902b011029a4db98691e93205a2572a7fbd50f188ad6bc8f5310355aba30ebbc7e96766fc21383067927ed7e4fe2b02ba85d09b678e12ebdd61b249a24766a5a9cc0d2e405b52deed414f87a82c668279da8208c9fa293e2f10ef04108b4be0474325b5f2f471c9f8f00ede72eb4edceb1917617b390107eb9480e46d0e5f915272efa3ff0b17c665d707f9ec2307d452637725e5217ea84b7fcc4fa1d866ec1f0bcd838d8638815ff99707c8bc7b0103273a83cc2302af81fe7731a678160ac142d45ebd8f7d92000bc77eca59244612cf4c00b13c05b3e8d25e61e6ea0e0472c2deacacd465012731667a22f45787c1f3414200c740f829fda6d906dc69a33616e59394ac5a032642717067a67348b4393f7297767cd5b2bab0906ec97eb3346103f5815a6c1299e185121f236a9d75ccdefe6b7931fc568d3017f799561f807af00e10871b17c6ca030af33a61d88fee615f88df3af56cf52c42daad1e5be4110cd781df33feb4ba95dce46a21a94daef4985d940365b628278007f0318ea8ec4420dd962f325aeebb5a6ae92992add561e5b28c30c54e5ad785818a067d39a0f85e4c1a2a8370368d04d3674eac001d2b9cf7706bb511040ed056a200ebe0997cd669595f2b1ca44d0cfb8045b7f344fb3af81e7546749801711a87416a78abf113beb564d33d944cf19a1d236ccd7f38157c347dbd014d30f2f16c2a2d4ba6a1ce12703e151f5eb73d2abe681bc90db4bc978e61cea22eedc107ce6c00986bc8c1407202337f7cd39a9cc92763ac8c2ea5e9361702f68a35592e867e72e51461f0790c2bcc16c23b8d614f404cce67a8700225382bc57e6db72efb672c9606ddabee13546592c33f921d944257d84c9e32f35f341ecbfc389755a664b60951444d4f073cac7120bbed1b350f844193ad2e765530b8db9391e66c1b3ce78964d7f42c0416e15560d8e13c1051303f462aa718507c62a7d52c20e48e4abb59be08089c6903832e8862951f750a3954a5a0f65ba161678f81eb6b02736b063ed669f005d8689d41322299ee41750ee90130662edd2dde811704c7a84e792f424638c76c4c20077deed4de2bab2c33a204e3192b7227fa56e5e0a7d1a278dd3853c528e6b72771531bf79b93826a3d285521549eb57e3630c9452a074940b38af0300532f359e42aae3afc357448bdcf955cf8b51d10344795a13103494edf0cab7b36924d4a81292979923511565d12ffc9cc67ca0425dc276b3b275948ce3f3e0bb3e982484b4855b2b4aebb717b8d0fa457f31d77341c16db764f0d5b33c7fdf2dc81223c93e2ac503bd8e67e115ba7c284bda534fe80950fb5c3040c80c772ab30716747f0c2124f22c971443fd4e075e155e973b2e55fb2ec368d5f0c55f7b78550f8504dde5cc1b17a6b51adf77a526d5b447fb295960da2a79c3c22b66391c807a10c7667e223423c9665395706fadaf2b855232e270cd6e30735f9e04d6c09479f01501ad394c39f627861e1f976d5f6fa4054d669d0460c153ec2f01f554060f23fea0775d485000f1eec1c0be77b264b2a2e45674622ebd23e35c75a9fb2b7e9092e67e696bbe6de7fdc2efada9797f82e34138c7333c7884af511b1ff31821a007e713edfbd842d48cfaa5b91bfe4c66067042f5e0e4a7e32dd2299131bf0451397dcaba67a0a3940051cd6c77a495f454e24631526a40336069a20a13d6237480bde39a18e5b514d2cb4d256f65cce0cb9661686e119a6016ef1dba326da9405153fc7e4724e2a6368155b8ac1515671204d2417ff94b65be2d6b9061ea32c5acde329d8c775de6693c29605ccaeb235c98fb84ed383834f846ac45981cc77162c1f4427a80eea555b37e2467a60cf39726dfb00bf837f35b3ef6c52d9e2883d62b9e2d4b5dfc0547468ba7c3c97d9736633e6f6c4cad60cd12d7dda337d7679de59900d2499ba30c435f04418142e4743abe1a78e7356076ca0345bd131a13933ab19ab23c50c1f30f6ad4dd7af4a043a473774cdba966e2619a56eefbcc43e43a7127386056c3e84643e3fec325c2423f678adec43d074016790f79e522435e056211bce77e70a1f0312a92cb1475776c94cf84416517988798b11699b222889741f435477f254106d8fe93026474edfc77d2bf9d40e36fa576caa142a5f7d1f15cc5e2e755312bda0e9d687684960323df031194e224a9b17b703f4b7bf3932f3f7b90c5a8269736ae89abde5be63a1ccdc511b90976dc8e807b9d3a8f8041e50f684a0fc9373c15aa48436bd087fd71aa4c19411555e5c8981f5613c3c1c9d12839211c63d5bc797ed89cae45c09a55528177b9d120398c0e82339756e0f22b60502dc346c401b752916e00ae065a3b33766ee54d664aaf1f109fc38cf6ae62c2445c28c5371e8e831f0c729e4721f7c7f7ac2f8df77490bc0ecfec5422ff22d14a66321391e0276a578dda5f22934e5bd728fa1e3517f0295a4b094803ee588ffe33f0be05fb30792cef1d9fd110116df1c7d4b416cef99d99a4921316df6669355a60eea28fca14077f0eba05afb7c5d654a9b3e66ba6d0b5acdb9ea6e33d2858306896b718fcad574b04465535b5dce9ea444e45f784eac2fe1443b42d3b1e376f724df3c7dfc43c3a54dfa3b351c57bdc17a4674e55bba81726627157c1ff0c5c9eb4c5a818eb6a6f181063090415efe4b754218af143ab61d8fbd24bed9e26757075f150441273bada40b13e3d60606d2fc316401d848775b54cd7e34517c0bf90ed905304e0dd3cfea7b34dbd50f3addd51762d7380d15b8d31358391ba4f7eca0d13cadd07ee2dce1360f9ad063e14f979579ad02bdbd10abe913fa652aa0fcaef86053c5e9a90a41b66616ded75f13fb1602b00f7d61a2e9bf317d97cdd1a7c58b40d62461b2fd88c87e2639430dae934a4622ce1858c8357f5f7062f4ec7a56714668943eb126d0ed68eadfaa61d045be78b18f2f5d6fb3d9118be95437b9c3c61153ff4a2dec58f41a835abd66c899d80ff084b897fcdae04873b0c1d68c1c45623d912b41e044514ccaac3b33d290f86458c940c089201c1987ae5a57253ebd3bac0ae79274b60e24fd648c4984e6736afb365728b33829393356419ac29f940473d26fbca40329683cf2aa558d7d677148206a2887557205d4387fd02ce02340b44d6f214415b26139220d8bccac652b98230eab5f3b4152af32faa094f8ba2436f946d3288e5b66488dfbd20479aa12f0872d2e61cebf704df6c45ae475172421f892c5fed1d961507f0102cd72955cc8786c535530622ac0abb74b52067b789742e065b6f47b6a67649d2de6b97a788fa135944012f2215f42f0121cc47b1d9b6cc135022f8d6de524af8022c5e25e961605d3ddf9110cea7c9519b9ef931541416787282298582bc00bb180afd17ada9cb30cea4f45595b05ae6c8e0f2b29cc2b3753d0200960b39481ef166a001623e7671ebc408823fed1a369919b4c5a89028fb27f70904ee2f7ae0569398649bd8862013235073aa417c8cfa6c55f58d1f9e2d2281d6e607e231d0ff0f2f737a812d9e601b17241f536a968c79f0a1d68aa2a9de3a78e250a3c81aaace8d5680fff2794ec78567d6d24c75fc6d7281cd2c457ba37a6ac4f600110c1cce211210c1159c77776312002a730bfdf2e5e31eb9b838ebf70606853d7f3ed88184a76ec599428cf0f6c5b6dc844212893d030a3dead68669fe0644f0f8b607dbc671af3a7ac38c3860023d1d805774b7e6e1958db6f99394d237339f876de9accd84f62292e81e7976d1b227668716596e72f5e8df65eb3311f5b7bc68d44022041624eaae9deb013ce406f53bcafb694d95c11477f0dd57a9c6cb6760251da4ee201350523bbac087e4bbfb6cd07eece11106016cd455fcb722b0e7d273a107c6542c9421b43476bf60838cbb2e0536a8117b4cb1c11ab01da19de39c4530108a47b60a5b28ec2f6fb777fb2ea4ba79f9015f4e0d73d71679655eb6788488aa13117ca2f2e96a56c42488a2e9fc0e8b7740dc344cc210bf422219695caaf4842815ad085f95d211bc052589cee689d4e4a58c3a32d94ded7eb77c212679dd22417250754c52cabaa9624fb8a214a04ba051b1fdc135beb138307667d63f04cdd7f7d4deb900deb88fb170d089069f8367b7c1883bdaf3772101a27326cd6f1788e1ef65c680fb4edf85728d5980b5c13ff62f9e007d09a2fb5252589cbe10a2df67b98ae739bcd6bc729749a779d26fa413ace3022ee8f417c24138e353eb9d9625433ec8b52609c6a65a7315bffb718ff2ab86e51c4af1af555cdb176c1c9768f4e033396c6901026699c8896c09d7bdc2a719f79b577625b4ee2e084af25a99c31a10d02ebafc5bb58b718d6d87bca4849735fb0d6032529658fe5a87195d58f4425c861ab7ec7d954e421fe5f8c83d21768c4de7ba68dca38ca98856b91d21273a71afc432cf4c755865bba252488f1124740f52f08ec6169fe29e2e5416dc248cd8e488e7971155b8d33f54ad2a51440a773b3d2c8417b44476dbea9295269179a71589540629847aaae43c31e53c458eb5dc03245107f751303470cb26b323acbddb0604c7e00432593d7e50247d90d56996a78ec64a256f2ce833d1b8c943d84f606bf5c9cf46aa2fbf34dc7658c5add54634cd6ab262f81076f7efbc2284ed9eb9ef4bee54f45a5001ae858f01d74bdd79f39d6b7992f1c363f640c7265212d5a8a2439676408051df1d7c50f8770db1cc32d9d9edb707b31ee0bda4cae329af9bafd66f93b5672963df3a970f52c434f771051c77c7181e557f887a6d150cc2472bfca84d61de16dba0660e7c60b3bc24d29c3be8462752c7d4b5033dd19688ebfcde2b5f6417959f1be8182d168539dccb50b05eb76a9d435f602226e51715f612ed706d67934f35ee250bd1c07fde5f8b367270e625db789491513bc551460b1dede5d6f5a7445e8ff63cdc61448d10c18e4de46686fc4d2207c8d641f3808f6b06efae65f8a61c0dec1f0002a82616e19df2bc63619494ca32f8fd701aa08366cc476834249945eb961dad67ec4a8a2defb7dff63d02cc9b747898e18c63d7636d893110b23d49e8b757f680c20ca67d732b5fd28079a3bf1403b8a410645809f510d5657baaebc27df73ed4f3b4328ed0f99b511c0b1d1c1a8e0345da02079d00036442d21be90e07124077b878ab6fd129c3261046d2060c36a512785a137001242b005fefacb5008d4a01b46b3b6cd69ce900312e7346cea1b96486d695bd0ed076845dab0fe17d1e1583033fae5ef4c7b4249103312fa771cef1a9114e39f79cf2e3e4a71f2b8d078320d40653aef35a6fc16555b40460a9131423f1b7943024749012a243abe6efa1967010539dc57de5038f0050b2bf08ab623a335f7ebf1760f081c38c6116c3ea85943d9470fca0e9a1d944eab02c4e2ee616f1661a4f2055875f531f890a561a44f5eb2e91643a7584ecf1557a3ca0c43022728a255dc04673c7f2dfb03f9d53d32a95c6076cb04a538bf1373075dfc3f1713094932fb05d4594bac9570a25c480629da06925333c92b322468366fa0207ba7e9bd2823e8ff64e20bfd2449322e0c9ef703692bc2ad363f80271d5055067c1e56bef2e8900076d4292e17eeccd93cb60334bd9394e6735e2d106a1fbf57136319d85f5cf92558e17965f55fe27e0c100aa674c8e13f2ba0a50036b973343fcd355ec0117a2043212322e5d10eeb4154e3a6ebe71db4435a04bfb7f8ef9e6c4625c295403f1d6aea6352a4be5a5a519241e2d6cd495815e9a11a1539d73b113e71d5092e7e7e143ac42ab490a7fe4ca0eeda49f23761043253801da6cc5b13d8be1ed0d09c7f123c31ee6e8cf359425d328bb4020de1752d26c47d0063456e68178c4fc5ce1c3d6dec0cc148f3773ef93e7ad857101636dea8fdf660fc1227147ffa8a99f5822ab137dd10e55d423aae8583c1e96d165701562c6ecb129e6a02cb2a3812fd27103f5bd9dfcdfaae3a15c85a197f2bef7e96518bef21f1f661678cee4f7785b353536bffbbb90ada04fb99a6fc477b152cbba9a2c07138ee4d657778400c5fc2647bae6ceb2baa387588780a77b505e61478c194cee3f2e11a834ea8be6e660765d74278f5e7005765e31749ea4266036aa27236b5340b7e6e8f8667dc017a06228f5ab108822303766a2eebcba9f6d71651131bfb2f52301dc1e6856e6834675c1f6c5be8b4fbe7398b52e09c08b6e7795e7d8bee5e0af31e8ccf479b9e940e35387053c264109e4d05aa797dcd32d90aff0ccde6c055bb29a085a21b4cb3640abc542a86f655214d21c10cf77b8f1358f73d9c92c72875712c7d21df6d8301470f8439215d5f0054d1e53a01b63c512f6704ee76af092d1bc99c5a793342df5c3dac1709aa0e04683d4864ac62762810d50eb98d8e880805571eebfab9798870fb213bf5dab77a74f6a8c6985b7f47403b95b2be0392153ab41c5fc9f9ff223cc1f3b1413b33351c6cbb7cc8b15f9f2a662cbf24c6ca6c680d00a9f717436e087a76a7b0ce7784079f69d540f12113557d352e25be46030a8849353a893d044f298442280750f911a8b8c3309fad592deb008ab28d6b383f7bb1298542497e226e24176cdfeb4e2d3c1dcd760a34a926f107258ac8b6dc41b5fd5d468681ac5d3aa09ec4c4c60d00b25d756f9ec23551a4b06bc4db0ba524ffa7df23b76a4c4137d44f552d92152afb253d262c4ce07633aeeb36ed703945b93c3ae21916b61daab7a673118a7e36c595bf0049cc514e39970ff780e9ab3a9c090e69ccf8431024a42e1b0dac77422e22fc822f3a8e121514567ef840623ef493f1e46617fd422730235b62cabe7335fb82621fcded5c83bbf91793aa3465e133db5d1ad195618403aa485e3ae764f992f05f62a4561525ba5cff1632af4a56e39ec465052422fe90686ac245a061188863d0da5f113cdec5386075964a48b3f49d42d8acca0c92319e2ec413ac20e60517713021900ad361e79fccc4ac67badfe2481d1cc53cad8f9cf301c0fe0e7359477baebb786e6492143a9369d85722f98c1ace9cfc3640dbc3a0849c096c9f09d38d82ce46755d4876ea0471c4019e5abf58082c97032fa9050c49353a015850e48a088aa843b74515fa4c19dd295e10bb897f19f33888a89b89964bd40f4001721f80873e4ace7f16c079f0e07a2ca9eb9389cff571431c0260ef1fad6c7106394e8cfca9292d8f4300fccd417978eaa213a0bf7a0f081b9c637661c513d27dce80d5d1f92f00c166fa8cf57476db88d7d9c1c00c3080b7ba8f9fb94d3437d0d280003f5c481b2dec9eda8b6413a62687ee89eb51128f620073747730460e9a305cc7f5761a1cdf426b2b92aa0a1ccd35c6403bbd2222e4f19e3ee9d46ca2cd70bfa5f7b34eaf6d09682dbd3d034809a859be95fa4aa8ad825318eaa6320cd5ca5e21ea6424e6188a51bad9b02023f5e648912d2b36c8bb18f775603565166db917a5d1fe725203557adddc5247a5c526d32d697d33661f0b97109cda3e8591b05b6cb9d95cadbe560ac6716d0af6a1c74f47aefd3538f12163b2261336848d8f83fd4a7d6aa9f7328743d69d2c41710f290f63d84c4cd4a80302bd4d4c19f20b54d5326e292f110236cbcabf1e1428c5040740041bbdc71acf70d964319931d1c393bc153c13202001c622745135660af7f4c8927ed6c26a71758291282ab688f9d7321176a73429c7ce2e6922427bba58377ca2636a6d30c40ebf5d7a270c666b66802f0155949e28f25a4d585848b2f03ce95f531524634463d68518d6aeeeda95d5883e4cb904a3de79713b46769439f292c1106dba57411cea9d7d0f86ffa14928ed7cbf733cf6ee0331654cd70013bdb4da699000b8b0d235a4601d8694577ad0f11d8a17f966cfb7fe6f1343710c144fc43c616811486f3caa0b189d12749889df1cc91d9cd4ad4038280249c416a7b0756b4bd1f711bea9ad4c6dee7e6cca730776645542f7b2ef8e5ea23a472678936336137dbe6981f0db72cbe9419cbfa5f271424e7afcf36d1e3a9faa907b9e782b2775b880b7cd8e0873862fd337510d61472eb8e42a1967437f9cf9c9d65f5fd453be1a2607253aa33058ed76c399e7e952f52757a9a3a9bf23fb001bd4c432131a0427f56c34696c675d15d32bf07fe67ce21ccb87b67df668d94a0c251ecf6b76fe6e408e0d82e1744410b272296ccc7be698f1a8668c647e1e5d457e7591862b7fb6d5a1408b755f11b7e0e757d772720a142bf26427e34a37e87a5fd9cc2344b765b47145dace1f439a8b505a33bd0dd312b4402744200a76ccff6cae86db446d646142731c471ae34bafc99b92f003dc9c309cc1a43367176436234c0567530f0e575d58b2dd19699e7cffa9f6341bec82f6969ca08075cdc3ac7d56f1e3773d673be1ede02560dbc4efc19fad620ba2d52c22db67d5508fcd90940660c37746fac3eecee9f60ba26944274e40297a25b71f2b1d06522b92eb70bb70b9663a7898835b168cc24721df3bbb5402604e5dea91b1bf68a64bb210a21d86c4645b6a6b732bdb86a576d4fc580ba815dc25eca66ce4776c7f62c3ebda3091977024a94bf19b2e1fe4590df55edab8ae42056fdae27f33f8cd28162a12399f29f73c8c34b4f30677540b8cc6f26dcb591a712edfc2b6b5f0f15e1819b059321df836ed9b65ec63360b0979290b92f9a0a344ef5ef44098bf7865bda9f4dfd752c257c0295a67bf06d4631434cf21037ca777766c69d329b79e2e22002fb9422c31269a4baedd04f5fc0933582c64ef566141ff8397951610d276c8898abf358ea51802a9bb4f2a857c6c988d602f74c5c1339feeb8c5c3c63d77b1ec13898922800846db87948ec85551b54ceca84f451a315ce171a6cff8487737c2915d995fc957424187d95c801f41144f5bc270d514713e718c00f0f4c83795ad0910b9e7797c22fdcd818bcffc4eeaf4a9f9b894791513385236602ff32ccd93f2ec54bea6017fc2abab26d9d54838028ad15c30291a46c1236de9bba81f105e0d55324b2a70b7168090e59e000e35b79feee31ef3107dc8dafe8c0dab39a43ed5682b4d962ef8ba1a956bd8283ed347b29ae55843393288ee24bec6840a7db3ec304279cd21c4a04e710197353eb8c472d537d17518a87b822195f90e59f305bca421b6413920eb9c1d7c99463a24179e7175114604a0d8d0e2bdf1c241143f4d9f9d495951864c5912ceeb712383ca623c5b7707571f458ee4bb0b7b5033d79fbb9ec307234af6f7081818132ffc99a778133a311d56dc6e3db2f2477cf64a65e9fc94407994db1ef9c0ba36184e21a4c755593f3b8152a5c555fe5f3929f730347edcb17cf0832d8d4cd90f66ff834954fb97826c32edae17535c13559cff60bd6403060c75e13de69e6d2d3bf004aa164e056468f21aa8bda70f984b26fc1e689a8a7b3d1f8539a47f2f3860ce81f98c9449d459784a623da85f044e9f47ac6e40fd036530a3cd530ff9475e5d751f91a0a92d2b37b6a2d8eb97d702f41bccc734b7c71722cd305e97ea4354efc8bd9654d33b1adaf83775b20ccd7ce2adb9fb030c132be6203df54f84ac5bf1502e6b9b6d3d1b1cf412e5a6f7c277778610f4dfe0eb54c42b6556a8692a560c90c900955fb87fd90fd383ba34911dd51cc02bb2d33958dd7ed89d8547876211a50a73a9eacb33c44c44afaeaa0a30d46ab1e46cc0b129aeee3754d32b5c21180428468aa3a56815b6e2a6a9908d231f75b30631550e1c8c0c22e79ff75144b1417db60a155165dc726b6afed4e638f75f3887fa8d7c5c539780ec02d3f316fda289f3e3eddf0600434dab6b1b33788241e5e230fe1960d196f94e8b475530749ba28c642a4b0981c5c30ae5247b5cb644670b7d9281164cf5159666a9c70cf322f97716b87125154b2656d2220a2cfe358d6eeafbf457e85fcc4a6172ff090c7e746bca4dfb3bf9007e8499247b62c20cd64c2b95b3779d0e3ece3a3d7140d6790d5857a2be5ca7a41891287dd571833adffe30d83e69bcfc127837330a1c3150e697f1b0b43615cba48da5a5b3234a14f962144392578bf91bb62b0ed021786dedfe7bce20378981588159ff9a6f43287f5dc4733e5147709f2192ad4d103613bc43657688700bb18f59b0d63b512eff171731dbe029275bf43b20dc943158644ed9db7130189088215ae9e8ba706e416c8903602f4b000520150e7a612de2a2feb3779e8a43d0fea8b9fd3b130eea9a31218ff5d209cbfc2528afe5f50b17b088b815f9070b344f45fa478ab23bf11200a8ac82bd12cff5e87b7862944bf5b3a34cb35bf81ba13ded3fafd8c1404aea19c1e69eb76cf475870be182842dbbfaeefa2efeee6a1ae449ea6ffdc10933a7318e49d2646d94f0a6c22b12c523c11b83b4e9c6124bfbaedbcae8a2db09b57e3f88b31277166b7f99c1a8d4c02c559253757f890d6d6c1a6d6409667a0dec628855aeb1282b6e65e1979f2b0b3091f88aaab199753e8cac1d99a4120d03fb7329bab494820646801c1b945bf2400f3dd411dbd05b52ee4aca01938f865b59dd921354c6e4257b9164317c59a930badc8a673efc2834cf7ba7ff5e839a4afac0c3b7c9dfeb48a75169b694d52a6ca19947b7051f1d5b4ba21d2f921b7b02d350c843690d98253a6ea526f4d27c40ef63d98756f47938d1fc316f6a8e3d33b9584a4a462ba42aa84a36486ee684292134006394f3c4298f4533a149d1e7553272e04c1cc6863cbeaf2fa12ac2a71579084e358ed99e53e48b44ff07fc1f79328b16fb06380d59aec322442265543262e1e6addfe31b58d48c69908187354431572d49275de440fcf487cbb65a307e12191c87d725a431526a0225f40db26c6f3aff8e6780b77272bffdc27d3e8f4b012c0d1630b9e976995a81a2f108073cac878cff5e94036e62a9151728e1b46ffa4d25211ac89c4a5289f60dfe158168473e91fa3570556bcf844b795c2eb249a7129c3e2e28561c15beaf1775ef934c28ac5f6773aea4760845ae6983dd117fc4c0991487bdc5706b52f00cdf921f401797a1098d19bc076f2637e87aec993752cf23ca76582c1bf7d0f7b20b638d2b114589015196ee47e0a95163e7ea141dcc1f6b7591d3a73e8c8e90345544ac394620c9a232d1ed56febc7fe765b0407b76dac15926adab1e4753b1a281922a4e6ec628c1efb3c0693a954d39e3d36066949134651819880de72e3b2ecf0dbc66f70629b01243766dcd4f9bcf7dee1e4185b3b64b611e3b6ddb9f15d3e773b400f9c3036d9fa280501bc798c97db9902b49df38cdf9e1ac2f6d0dfbeb3497f71313827453b406c04befdb0b67bd3b2063f75ba0ec3738db260733ce3e6d52283bb56db8a23f89a7649e9549f346d5832ed96c1d7c8782452d572444f12f6ed56683fff5f0387c84285bb748767b7cb023e357b071a9110a2ee6a7e69ea2348e3e8ac131e2db057329631d4d0b8c6d0e3ae43753f6ee4b353bd2e2253bebcd186037861e7f82e17e6353252998e94c6978c2e96e9fb901021238ffd552691e88725425ad1cf34adc78696941ce49905954d29663bcb5857a2b897f3d09494eb63919371d8cc711425cd33b203e27204208f885cc092656e150e128c851cd967a1faedeb3ac8643a066dfd41e62741c9c0aa24726e7840a0343e00326e5bdac65587954269665689864e713ed6a2aafad56a7eda6d48a710f5ea039098a96961a33923a2536bdcc8f39503e30670892923156cf3dcf0690ce169b7bc9608edc0451f9bafb64d4e313747ddf834c40a7560e5927cb38a6b5d322f7c42dc76a0f38733adf6e4e962d5c724536aed9f37e2a0bdb44464957c307518d1d6d10b64b0a6ea70f1261390777797bc20b8ff906d17512c65d50aa7d3402e7bfc078c04cbb70bee37ffc6e74ba1dbdbfc51ace974a784cf7217ca95b182444157a7a47feb92e069bd11586d406797f856b1547e5cb7e09392bc82b3fc663ca5ab859fa3fd544870cdf95979f0078f0a7fd23ef03dd5eb7048ff22d0efc38d46d4a2b1bad7f3faf278e3b0636e769c84c287cbe5c8b3883a5ef0030378e6a0817c12955d55d4328be73c874a257131306d51f19808630077d513f62808f18b5f832ee74bd1463ab6ca57cd054ac25fd0313370dae83776f6fcf2dd96359564e8b137c70689e55f272c9852502014d2fd3bda093a7f5638456a21b72bdc346134eca5c67299565a269297f77099c71711c5dad20fae9596a50ff39f446375036109873cd5db45897dcbe032e8a2479ba31aa56601625186571f217295b705bce2649775defc1322e4ae9bbc419d421d47a7f3c641e104cca4f27c1b0337d3a939c2eab2b642857f3dc84aaffe1dc7e4714eba3dbadbf4f15fd40ad1782e262c8242727eb29f67051282f41a2bb4b188c568563b725a041a4826ad2dc85c074c0e672230903696ff5a40afc22ff0d5a4fd7df3e0281555d7d1934926b37b328185bff76d190dd6fbff56d131ba31e5c90c48304a581713e6eea58103129fb2d5733147efe832b41fa6ffef7ef68781fc76efc594c517d69ebc1e4bce8eda06907bf44187060a112f1c50a3682794e28627848c22ca2e1064a5597409717d50c88d136e691bc77608932df9423e3b3338526c6cbf834351a137c1a389017a534ffce0da47d9d35274df6eeb94b093a0b8594cefd75351f440851d414a23ed05fd81393f2f058b123a51281feba84311bb826be24e5a3a934ef519d2cc8208573c74de13776471b2de3aaa287b71dfe7cdf46a2847f54867bbdc7e042f5ddeb7b72f23af89a976e0042eb07904531eb0bafe6f4f03cf60c72c6667aae67d83705be2614c5e205e248a312fd7aec8b041ed350852f5e12e7049d558c480b488043b79862cbcac2a022982aef40f444f346a79a2ea1059b0743e0f8591ae3c7fa2d3130b993d419467c3a1a11a336459a24f05e953a20def4426fb65fc8a58b1358f90d04e060c5c571d2b1d2df9baa98256d81d67ace3ff30fdb03fd7487f0de3b68db9890f3eb593b1e393426618d263900edfba338ae161ed3970d0547dc700dfd0213f2a7621b395d38564ebcb7d9446f2abba1801d63473a869b7507a17d4124b60f810b51bf24ea91eb185bb86b2793c4457b358b477441fcea64c975b1685461687b65a3ff1b761e988981c87c3632df6bb3de40b07724340358a005f8017fb2b1b92bc13b5741d788d13165e2476a8c158cb8c38800bc7d4932e661634e42ff99728e376301e528ba16386a5d2e222b8a926faf1324176f69bbafbd0e02659edc6f57fa421c4de43d1617368022174de2429b726e0c19a8b791aa5d085276ef6d2e49321474591be0b0c606851a79f9c5352400cf703cc874da44c2c8630469d658085c1a5814ff32331eba696b6f91e488b384552cbd92da6ff683e95e632696d9866c2d4553bcd3a41560b909d2694e3f634120464531e71ac865af2011b8ba6fdb7a7f63dd5a236d4b39183f9dc945aee841be3402ad314c4f68000774658ced46b6504cc37373b1d6f9dd45d64ff173d548421cd7a3aefd628aa7636cec3148a304701d0398480ecfb2ba1d3e2433a7b16f5c2e13492eeff76bd7066edf6435237e961b396ee87f91be4612239c0aa4233e76775f3428ca0ab32572e7a55dcb88d4107f070a9e49d5b59b7e9c41c82751f6647d3f927f2a9e42277d89e9df153fdca55f4b6bcfff42469d23fcd8dc3077c189625a00baf3af2a9114c7d35516e91e8c796f198b64faa45a7df57e1108e312fb41ad67c1622bdb70412d9bca46995be31228c0b885b44e9631e71f1476c466235561555eaa7e8ffb4f76e4cc1385ae6d55be40afebc06285040af21cf20709f5388ed09457d3e0b875d4af8431441d40153d4f5aa78cffae5c748cbab615bce225a03b588a84ee48122ab40f12e32353134ff9d0a99c633b72810e34a06591756e6f556ff73b496e2b97fece2223c2790711c625b9c6e3456d67e24fa936e0676b0de32eca03e1ca4ab765c42d4645930bf57524eacefd8d1cb65bedc01984f90d2e25547c193f025f28bed33a98ca8b20b0bb6153fbaec60fabeeeb580bf6ce3aa12e00df0fe90e34887cee722e374a7fe70e0f5e22a61123ec64d22b53a95330f098dcc6cb6a2f3853d2248762c7c172a46c3f1a052d5d041cddcb73bb398821d6427d6aa47b4c51c2b84e0a356679245da0771895c7d53dc4281c57ca5c0c735c465ea5452b171e5977a3a788b62300769e73c717ea69523e1b1b6350b4123f2055d2455efa01667d0c20667fd04e40bddd5f4c93403c39cf8152ebb5885152f51e66c109c4892b80bc0fc008227d6a8e4ef72839780d341778b4c0616e047826c79132d15cd522f8cb12e08f8380330a5d361bd5a8be626b68deac856f7d7aba654bc01482cc6abd9562f4c608cd307a0b62c6c47d5753ecf0758b0a83ed7892cc0db4277b417c3d600f10f3774c4f67e5b9f6dff95a6fc92d2f12633149407d249c0605e7f6013519fcda7298b975a4262324caf69875d8821306b3d1e76f07a97e250268104a65b0a365dbc8b97fcb6ff915a9200f360af17fc1960343271a197deffccd1c6aef77703b386d535e2778955975cec93474f3a3a69a0aff279d2c24dcbe87d7629dbcd92df98c8a5d8c391ec187611c171c4d84f6d6892f1b78499e0b49769f5050f8bcb8f59c3b0081ffcd2cd63e5102b6c306f3f331c7138dbda4432b96a60327908e715a9bdd7fb3d55a4a23ebc669a93bb1f1b121fc00038682fb81b64821f67adc3add40ff1f4c1035d377e76274982a9943f3b4ea029432abf72c06a56f4e0ba165050ac85cb7f8e7ec20f59c7bd9bffc15f34ce503fb429a233be4797cbb42d2d66666d7263cc27f510740353721a0600022e36536 + _Keys: 19fa7c8b7a3a004fc497f181b6e026078db49f8d499d21408923e4a607ce3a595981be3ba9ff4c769b8f130ebe47887ebdfb98ebe5da7049210e18f42f147d60c6bf413c35ce7d12db1f64f3ada3bb2d821326d7a7c363136666d31a094491222bbde8f495825a4e2f05ece33b3881253ca117543370bf2531ac8ebf10b7f565a03ac9712b88ca58c516c5a7b6d8f161d9edf2f0d7536a18cb29cd07833a5a3b4c7ae726cc17482e559c16f3c9b08b330df8ea680ec3b112fb2cdae8148f027d6cbda2a2ea985b33ceaaec1a66c03614f318fcbd24a42f1ad60e54113f577a421594d13a0cca1e4dea74ef6b3011a507d84e972e95f1f208c29e6ca1845b5768a29ea858678d9a45dd71c72675172669d2216f05e07a6318526a8851fe85233ecdfeb27a2a54c77acf2f0622887385307cc810cd2b8a733f308aa04e356c1a4343b0f897872b4935cad6208970be4d2cf27d077b2c4e3454a429a74d0d848d0856374bba5b830d5a1c80b06ff717be50822ffba2e9a7ff4587ac62212c429608d6f7162a2a64072a2505286ef155af18b8b137cc9492aa430bb82f7606ef4e587d4feeec0bdb7915a98a7574396c8e2e0a55a2690825a356de044dd24122aa16573d9dc4051c54111fafcd938f2c107505edfb00aa3545750cacd20fd3d118628f24eada7da532296de43a2f1ab3ec2f40174152c0174e5ed6d08c86c931ea726390e0507706ff52bcaf0ecfc98bbb39566936366fb9b255a7ae89207f8b652d88310d54f616106692fde55d0708af69fa88a9abd063e55043de1680da2a9e6d579975acc6cca75b961aacfcfe5ee932d224e50c4b614d14bba7a043638e92631518771690e1bb19dced44e075745b028dafe7e182ac1c0b232d20cceb1df107aed62a36f989553501753abb270b44324d7d8ea6c2b2ca297f8214402bb6de62c8eb8e3d9b0f7256185d35a921a8142098b19bdc42367948b6e493aae93bbb6f41153dc39aaa1c28d34255148ed5933b025933dea2cd7425bcb047a020454d5b0b9ab1a5634bdd403229c26b55bebe32908e9848d620fa19a0ac538a933d5645ebcc055ad1400e0de2b71574be99675bf8a3102955feb74a2c3eb04c15e369386f97b630278db0358deaeb8cd4eec2235a9ee69cec23c44b4e60051edd993b7bc5600352a5affe328d95cb10d3df8656e07cba3b9865c35815ed87a215153e001a10e4ef5c6f3042f4c3e5cd2819166d6112b9f17f5bdc220857778404d76103b3cc3b0938e3500b561e72b38fd7ae010c88f1098dba07392870ac4269fb7604ae4a6e96bb747f19d5bc4403fc346500d5432183fe0a3d37333e0b5c95650540fe330a555345654c454a0a5cd01af12c5bbfe973432468198e568f78da72731205a296ce63ceff4027fefc7d6914ba336fc2c1a196537425df9e0c581f69b2087fb5d4317015c46f3f1e5c5bdeba5d2da2335d6bcfa490744d574d55512d623419a9a46cb8d49f27bf55d4d839d10618a0f1cca64d60c95de66211e085c9c552c53a96f52a47e2097c7d27a25cc7c274f36e41d3df3e7d29069a951142fc403ece277d3175e7cb6713cfd85bb1677d2f550510a9164da141cca3d4dc2d14ea6ea5bc7c61339be514a16a1771cff40969d4dc573e3c894702705927a4eb212c639e52653be5bb871dc8f266b125e31d2ee5aa499d965dc71b8416d70ae562427d168be888de916169e4e6e6a61d506675d74849db0d1bb064843bb211345bc43b4b385f641da77957fcf2e794bffc0d74579148e75640d90c451ccf2c5994d52ec0e48b27b6757d3674c4468ee18fc36730de2672b5b1567f8427fa5248fdda7745bd1bf9af30a24f6f760e1d8a8d2e169cf46b8ba7516b16ed2e96b5bbb6e20eeb540f7f4be5844b79e7ee151671a373a4e26d58e142691f576b98633aaa8921a5ddbe04814bd97a61c4cec06828ec5598b5a5688fe724522d9a4a7d9611d651d36249674d03845f0c6272c125d7806fe2bb353081161d28c122f29acc03601a51f08a4016e1082f30fcd93d5728ea47b79ca0e2b6cfb242a9d65f214d9d8402fab5b34eae36c45bd0330fbeb978ee2fcf2a0fcb24f222621fa9ab7d0dce725d9ded17f76d9f671ad6c06605d0efbf3940a506dad2e62f21bcf924dbc733497d038a08ad7f6666006a66281ce82d2f6619f66f6d35134e18a31cc8ad1ac7b966cf550a7f3749f10c0e64801184e106752a681216ffa3837967cd366983232521642549cf9088373ba9d2726c53c7843229cf12c86a8436660b9a28c0e4238a4c7ac4f0e2446c5178d6b4a90102e51465b132d9ec6c3ec954f282992fe09c9f2a6d7eea356c2d4766a7c4e03aa5e334559752fc7c47b5d52b06e06eab61a6d10e4f7483a3a0ebff69f6c0358c0bda930f4d7cc274d62caa67c537732b4a1ce41e4e79870e9eaba95cdaf4fd482fda400b1dd3bc5c8f8419633140f88e2c72327c9afae1cbeb46af06ac297cdb123537326592c57c95cb2c5c853ad052230733029b09f8776f245772a3ca0276dcc8b833ca146a1411560f76a926a9289a1bf169092fa58ddf9c3a7517c82635364a7f4df403890f9d1ef144fb812196cd7f0c77286780f491baec2ca6f61b9da400071600beb18fe2b7e76e86d5d0c1605cee62a2681f2dbdd87b071d79c190e8d373290a985bebf6d6a810a8113e79c5a1a532eec366e53a852b5d6e466fed752cfb7897a7bf6f1b653f6d0c571f4e8127805ec3515736dfa68f07ba29f321139f0d5a44ca68c07e191e316809447bd2cc041c05186bfcf1e65731b726cef277b7a02e29b17188403b8622365139bf2fc071347e1dfbee809a1671c43e2f82acbcd800b78df10f42a4017c8a9dcae15d1d2c62fff026423332e57357fd8ac87b1d9952a64ba6e19ca69e24acf1a805a8b07076b2f15811115bf70962f3f016365a2b20b01b6f5693eb1d01ec4babb2d341af68b923a2b5bf5a3f575f423bce6076d56121e00caac4b88c2cc83b11cc7422a66cf74d106b78d3cd635aa4d5c6ce0a81623dbb7e5b896e826999417fddbe2caa248eba28bda822986bc1a561f21387762d2def8c67a4f06e2bc76e0cb0d75f9409074dc689b94fcb3f83cf281fd236e5297dcb083a94c883282de7fcf721e5e73b505595e4f7120861c01328054c9b302af4022af362109e2f2bef44313d81ec1a39de7736f3892f04d9f6479188c48f2cd00d4fa9d9c99a72d4516d76698e182e2abdda6dc8354025c623782b35791639d9b3d6a7a4a251738016b3a41242a73e716a0b132fe4277ef01d45592e93a97c88b5ccc634dda046cd046c4031e66938e3bac7e8e2834609651b747a894e2067a554335438e44327f1cde6ed0971e14a83c7852308adbe3ed656ef8a3a32d12f111d50acd2e01727d13d91114c1fc636e65f0ee602b9d47fb09db1bce5ee0a0037e7d0ee86e42c0594d428359a07b5400093c0f470edd76c5c69ab821abdbe49752385bf4695c3063fc69ddc8e9305462bcd6bccd4d0d55ba8110ae281cdba388e7dda89469779443d5decb893f8ef4b57c39fcb0af7421ed256e985ffc3c54695167ccd2c878e567135e0f7dda3ff6a97dca81f440971457a5478000a8b6376e1d8360c581b142d9608e7a1456bfa07564a0d94d4a7b01976a0d20c469d880ac65d0dea36916d6c9048b555461adb44f08c58c4a390ef5f95c81e74014cd75e59579ae6381f0b32a134bf8204e4ed2a3587910b5c8b361874e22ba04c32db059abd3cfef63523231af4bf491b069c3f6fa51cfe8a26f82ac953246344f2490055701c155611592b394b9a3c1ee2f55a1bf1f247ccd2d26907fbff1c2bdc80674ad889b2a6521d6e8770a5d5a1229266b75b7f2034190274c65840a4d302386b6bef9ff2fdcf4149731a6c98de17942073ba9d5fee78c30e36204474695ee17c4bff0675b00ed30ed406d360c39fe63b929d3615656a0a7bbc9bffa1e8fa965dea7e69180454e330dca220b7df4ecc352b1196c41eb28f0fb8cfbd62bc27462b9e145567c25c1264b234edf3be1e113122b8fe0f916a78044273957140d5010ea7ddc4fa9baa221fb56a55f91470e032c3ed7b7ac540e3304aa888e7b67a23199892ea67d8a8886e3c1377a78f0b3b603c0fdb93fa5c2e4a7d24561caa96003a473b91a75a470a6a98d8a779cf888976dfb7c7ef7a257b79309bde95c7ed4c3e31f237a3cd6f326f0a0bcfdefe65af544078f6f57d7bd96bb14684e8d850aa19c651a98b6a058644e66f933b98d3f00b2986bcc9080f6c13622ba77a1bc4cc0bcdd33418335b655093c331b81c194e667a0d386610db497d85bc8c077879970f0f788481ef1da14bf438ddcf86935441de988d54da39ba18e886f1c49546fc655bb9abaac6878c5c94128d280185080d674ae51107ece948329c69750e65e03b339ae27b70de8910f4c85e45f9d5f44230b5c90e524e0b3bb3cbf2f392c067444ffa037bccaf833cc7382a1dcc2e985810164f89baa0c11e6db27652245a744ccf5d09012d86897f338cd68b7928087ba8909556fccaca71c2da8aeb7d87841910cf4ee764334c58a6fa99d2b4b6af48ef5d3562f701db50a0ec4a79453ac06f8ef5d3174c1eba739bab7b57cc374f33e8b0b4bff010953f3aa8bd48d085bc6c8f107a773d9bd8085ae78680199d8806d542fb322c3bd701c5f052438afb772099171a234e388e4c2754e52869eaa729cf3be1ed7e1066351884c3d112e46d5e6f651930b7ab540e30b7f427a95067244828744e1a89a15782afc42d049fa043e686b803d1777123e6d31c36058ddf69c4c1ae08e7270a3159380d2f096af52e49ae98b99394ae0b30a5bee3e9482c38bf2dc0f03696c440ddb7321eb7fe79589046c8721a11e50ff42a8e2455fb084deb57827e23eba63fe7ea3e5f84b41043a71961f0ce5126253061b78e7fb1fe1dafe4090f80f77b5b5f77a5faafbb6b40194bcb6f5cf81c67325c4fc13417bf66e95cafa0ab01c2616a42b0ba08de2b15cef7a8ca7d6d7a48c7a140dd473d9076360c11520bcb94177895fbe6b89da010779b0bc3910b1657d6f8d809c1e51a2db23983fccdd809677340ac188e6c6f65425065ac31cde52b0b4684ec0d74a95cb12999f1219ddd6091a34f505efdc96a778c388f7f92041aada8f9eca2098a1717f73748fa9f7920d239e571826b330710ef76803c19dc1d267e4578a3f1bd652d666756341165281418be46ac9298418b0e234c6df62403e5e6dd84a5ff83207c7f9fe8d2893c21ab6192dca5698e6d19fcfb4debf52d37bf9b8fb2cb1f7d12632035d30c5091144a44a00b64485e7c9af1e14ba87bef3415472d17ecda1c792f3ee5210169112a5ced08811d51173c1498e218ad38044208bf98efeaffb24e78d513294d197913de9bc755f4a5f472c8f3b22122d48522ee53a4587019624112c65ca895c75274e17d8ff9a085bb5a84f72e7aec45f709d4439108b966e8286445e5c71c857105ab9d738398585c3b235fc67b358fcb4e3e5b38030c80505f8c1b790f545aaf2aded7ea8238e50f2c6133d4e7d39ca10cefcc763eb292062b112c088221b218375064a6f285b279584b0b643f553733108693df771b8e887022ea8ff32272f4137463f8873648d502070803712d5ee33e24caeb90be938541ff778b61706a531b2580bce919456724969712e6917d191213cd0aa46f1fe61b4948bd6ed2e296715c1f97ad1bcd5769330f2656a56bd27e5e798a6a7fcbc427626e326103d6f7794f8f66ffde477605ce555d9b4c48970269e3194a2ddb4b47bb613d1980af006e089f8329ad8393699374d2626a4f9303736893d3d7b9a515c1c36dc4f81cd00dac6395520e1a3741c3fe060f90aeac4987b19c151667416f40f7684def3ef65fc13512f827c6c3729fd495d6c0b4a5702326930582843000ef2ab5ebfc172f7451f7dc38f44ca559a53229fecc411024d172884e43310665b3bb8c884c83232cebd3bac9267ae62c0ca800cede208b30eb46b749d8a58c07352bcb74a20bd94ba96abb70518f6b7974f4ce53ff24fd05a7b33453fabfba69778d3425444cbb785fad79abfb90fb7a27903a0b07b9a46e639b074285f15957b56455eba24a932df6e6af1de16fed2d08907c2b0ffebc3d91e4d3616cc5e57e068a30d4ca1f8f4dd6899052f7f44a01adb6a64188ce3e684fecc49a919d5d1f913a3f667a40ea6299d2f8f8b46bb74c636f7e7e392f295b7b0e972a710d11084a917cb3e0d4635c64a0c24c961d3d7dfe38077daee2e43420cc9b0651a2dc31d1ebc4188b4cb1268a12b2f554ce9500eaa57737e24bd950156c11dd818e75022a8e9ab75fa21a596646a776e2dd613a4f2e8a3b57e3697465666ad918140b761d05cd1280c357590e579e14898dcd4fd0ba74453c4ad26948e6a6d7e4914a3b87acd350e64fa645f0361788a129f93f4d80847622460d718e44af390f09c167649684afb7e531381087a00e5ac9367d20fc133249add740a062c3a29f6c351c41bbf0aade71675dae7b56c1aa440b2ea16b6129923d941fe9be9f084b3a9479024144bbc135ba3fb4c3492055d86e52e98bad405a84f6148c3b7122ad2a231fc58fce6fca7e1953531255ff144f6a536ebdcff41324d423d6c8e863663b3136bf1d32b2090ac57fa5e63df301fdbb7aa86547c714c35042a23df12748362346a2af44b8156a72765608158d8cfd312387e09cb019d65c68cb6f1efaefb50e0dbbd7c659ed7b8a0360e41da91826af4f35de0077eeab2966d89a0daa850e790c2f4ff0466d5a45210623d8f69ddf0754ae6031888835886e5e29b6c7b7f308009da3c217da7df956b7a2a21ac263493b123a1ea71ade021dd042c7772fb63c7ab09d30cddad64d6ef2a5255e2b0e32065beb55aa1d3f5b6bd1232b799bc9610614502f07a1d6253d6cd3e4e2ec92b870132d7d0feea64635eebab31fb028e06cd71f0753e63e8923ce681e206d4ef36047017b60621737084865176dc4cf85799acd84581be2876b43e48d5ec21afa3560e40856f944352515c42d58377d100bcc33c15c77f25205e4babd3577630b3ed440168219f64f424619fc1c6ed4f63cbfde62934955223ac9a61eba5969004fb9ee2c789492242a403da17752cd257e7443f8358ee800094d68634b3d25ad43c2cdf560a7e12421646f6dc5641d077c9ef2d76cedfef1586b5456923870ea2450ae18c8858c6c08b028f297d8dcc13793a408bfc606a2618009ba1fd68ee62a599175b6053ff61d5a21f74885d21f3480cc869fc554f57bc95f7102847b6138bd380e95ad88c353677fc89f1496a07b5aada0e318c3c473129cb7d3ffca2160467a8250f525b5387d1d3868c382d80ae90b1981dd745c46ab7d976a28063c76f2c0767ddb6dba55fd649e9ba661cb2c3aa6c78588bcf956d6d27a6970de5f3467952322c5df5b0169cbf2625097344a5dcab9b453163936788019aad29804233d2d5cdc06bd407019532672818bc63d8d7ac4e8e618477a44620013b013f65902491f2f632edf78910e074f42b08742d02fc6fc085fa95fb495675b43d2402af8c75519d8cf4c116620addb941af0402240939facb6b80d5bb9b078eba1e25d9fd8eca9bc4571413d2b93a137c6c24d0388c73f926d054a6c9e8c6e7f3b03478abd53ea3f23a95b209c5d9296adc737f70d848c97dd1009046820267c915b6bbb8c6a7831398126798f07fdeed08e3325545ba7282e594331a21057bc30274e91be04fbd763fe1f8c5e5a747ee13f6c86ddfcd1f6e82b4b6bd2468e282969014c345e794d13ed33767c9f03f14739566925554f5f218e6271da857b3c542541e747b7479dacc820cceff4fd96cccc1d5543f00a5e6f4c0d57638c02646c1535a3e0eb38ff80f3425c351b4e158bf83da6a3cf7f452f9f566d3b10c6df394437fbd5a54a1f6ce22c51ae66938a9b22336b4e5bc19c95f02e8142ccc4702c636a7a525340e6ae1e3ac0a2d0f39533e02ee723ced16bf92b661b89349ec75962234bfc0edcee621943302100f9c5fc984b23faab93fa35d57f26ed5a6fe3bc011a05f43e9241bd1c4ac4ee5eb606ce5e1622807bccadcf2815d871fc234276d97320e6f4d1be06091ff7bcf901e4550d0d10669c6161acd20a2d9cc6dba4801f0b5941de172b9aa27fcab738c0cd60f93646942401c87bf669f9f9983d7592ac258f1fcf312c96a754f7e3d5e71b6c287295fd2138a421d4224b751f3101650a36f5edcd526e38f5501230f51b5af0b2732ed92c8d4c1a35500b0e1948898aad6ef92fda8bd446373b266123f6c6851e5d28935fdb929783254982b99fe15338777d780b0732445257bbcf867cf4c12452bbab8fe31576ff41e5483f493ebd3e5a089df1a4c4cff71c420897611eff1a09a80ce436c45561057ac9ec7b839b9602902b7357cf808e75a3aca10ddf9e231b6248f14ba2751e5efef61d8dbc72a05a7394f1497371d92865a56ce84cabda24592e2133731e5a1bf4eba7279dff46154dfc9b4bacdaa82b2119e5fd083612531cf9338d516ce76f11f3aa78354d7464ec8134484625d1342ab2eda6c7a2ed2a0205bc69cd2b9946e40a5c9f8420612c5c7eef79fe36f309d80049fca572c94c202b8acf6ef4683f1811d3ae7d8e4709ae3eb4b74c8bd338073abe328b6a1371411080599591bd6717af61ec62458c4946bf551bd87e6754013c36cbcac94b53019e9293f1128c40fc1ccefbedbf9b3e518a86b440d0b540872aa52d3776ce1f044a11fe28e0c53433141fbcb06b6741a0f77a3f4296123117aef33893a0f7794daef7a2ad9d1671c552812bb0f88f1bc3648c3ffc8fdc6dc81fea292c02382b0b996f0274c493031ff7850fea187e0e3e0ffbf72d3676412f76953278c061377652e0e877725801d0895df314ec58505f2414e3f9bf0142f14ecf14a63a845d6ab26567c7696835b7fac8b69469561ad0e5919cd5453034abdd07d65cbba50bf344769d790f760abbdf99f387b8d779f8b445c0a8e788501d6543169d6d2772602c3baf0c465e3f708657b4df24bc0cfa7132efff9a4c0a44da7fec349f9329faf36ca583d8933ded7baede6f2b8e07aa361c2c3b37730588b994cd388df50e1b80bbebb8178921210b2385b7d585184b77966bbbbf643e7f99e236bc3afa7b70bdf8f0e77abf6daefa4d475bf8bc5cc052e74fdb9e3526e6f96b51f9c0de18ef57eb06236bce2fb72918b60dac9978aac18a96ac54602e88d2d6e0e5116613e3cba7fcf249c62c211697b2867e186d6d1c58c8c9b89365f7bc8ff542af1559c205d242059c850c7849473c13ec4b0ab96973c9b89e492bc9be0c502644912ed50e107f5429972f974c4f807057511cf7665054dc21ed244458f43c562acd432589eedd0335a11c005dcd93b1364420f0d7b8726a19f40afd343bfb345bd93e1993a5f9462f1f2cf892acc6107f290c14d42c2de240ae3e82071f310659175b848eac45dc3e663f497495023a45e57df4d1189fd154a359be1c88c0f011da5156f8bc7e2d1bcf2a6fede56eaaab0338ec9c3c3541788a27330587bfb5a54e379b4458320263aa26fe12f241c6eefc121a50ad8c4d0f92226d95b032a38ee03761522c99ad2eca4fb99ccdac95341244f68b599a073d16754dc95f68eb223673f329a2181a95bf471bfcd4b042e58c5ea7f53c18344530233cb64ce4ce616325d440b96c91f92a734aa1b50412c6b733ab413e091ae1c0385ac654d1e2a4167c61f9dd012b20cc5eff188f10a06d3f0e818112cba5599111b832640ca4b85f758a1fd63650ac377929362f05ccd8e232c6137f55f2ff4679c117e49d5295f70f5077bcedff290856c2e37ebf75647c4b96c9561a7a382d38452fc26322cda135e3f4e2b62f53c863acfcb8b6e7ecad14e5e82e22c29dc81bb0b6c2f721325847f9db55aeeee26c086eec31b868ee675b6e4757e694c7c152e186536baa968f32d382b460429fa07e0543eb228330265bbdf3ad1469f3371e0f1dbfc11cc35741431f119b6cf56b15204db2858e0366356f3c0fc4b5a5003297a56340ef9d84616afaadd27bf27a5073046568f4ebb93ad371af23df4eb6260eb6510ee4edb411155e3b634258445f38a28cec19044f65bddf6176ea026528334ece2fd158e65c6d7318bbbd08ca18f057d0b093c01f70a937fb6be579310e264c6b2637471e1877f08a6b178d62202974f08e3869fb1390e33a17907999123cf2613eae6c234825bf03f51b4e595ae7c151169f13961df0492739a9e97f187dd63cc2ce7f8e2b0ec80a1e7f666a312f316a493608187c03f7a67eff14fc1372141f799eaf8246edf96bb7b4e6fb0e5b886623319bbb319cf99c55adf82c533d8d3df9b793ec552746091acaddf30b8636ab12d2f78d71f23afe0cffb9b87bdc2edcc2b63f0c0e3d3d8fd69bab6d5d45fbf1186961ad2e1218a59dac7019492f654a26474f70304c87dae4a43e25347af8fc291c147538c74447e729198c5c10ceeaf3ca95b0663f1dd9790f38fc187c62c9a85d480214c6b6a1a429f25a114938221b7aca0b34563e972654231127f80ee2c40cfba37f33aecbcf7998f26af7a07f4c7d7d384f341e9d1cc67f976c005efb09cd113d09452deb55f7e9850ad311d8352b84dc6f1f6cbfa3c0c6877126212624c5156a3fc4853aefae55483cb362ff0ec1fbb121dedf487ce068ad5684420f84e45bcc481186b6301b3c5f2a8e49b798c0b6926e4679ab9fe349dc3ddea3d0c8e7c1da3e5b0261941b5d5c58c1c68d2323ca557af7d495e313830e116e8f45db3d4e121b1073c1485b9a1a2ecf650080b20cc9755bf0d094e3e98c2d9a916a800f14dd1ecd9fa9644cea3f1ce65115662cd5c616c8f6f5720334617096486ab615f31d398d77d0f95009993c97279a5bbbb81805d812b445ff9d5c599bcdcb2d2a7bea13e9c5d5db45dc254c4072cd6445b20d0a768789ace911544ac61890b5ff35cf1b05af1f06f5ba47014f1e5f5ce867b630af51150ec45b5b1e68adacf7bcddf22a977761acb63bbf140a6e744a03854040bbeb62c6af9e6b4f1670c92adeae11583de62c8af9f533204ff8e5f7edfa053851d79ea536c8b279fe1c6c23a73b53522609044166d60f31b4c3c1a6f67af26f9005e6f6a1f91161ee57323c62ed9c1e0cf90cb59ea3515c9e14c14ecc7a9748985b7577f84cc064e8ff940f8935b92b8e21cb0a19cfb231acbf1d200a43f97d3d3446174d53316ffe6047bb4caac55d463bee4d2486564230247f7b811a5432954cb9617714d773586e53e110b0f500fabf512ec275ff577687a277bd806b7b4876af669bd82a1bb4f42c1092c9bc0930ee46e4d885040b4b10eaf0725fb5282631d578a0a3642d15928432b7103b3fbd54b930c5785c3c8f5be57411c55613ab5436c39e35a9738a18ce4500d2533a2c545338e719126173eef8047626c024e997dd0c47ffde79ac45bbde46a13d6150dfb6428de1d46e43d451b03ca4fc4e270ca4970ab80c2acd33735ea1cce52f4f68aba922fc4d073d91b1e4ae714a06b69348c5025aa908141e8aa5918a330eba81ffa550a57123a553a587f8d8833e838658f17ce0d30bbfa2bc4187f2994ea15dd5d28e5b495c046c1fafb5210f145d36ddf4cdbe6d26aef464f362b2ab4cba56e59b02b1b022d0b4f6e80082c0626d571cafea5b7f1d11517f7d40c24048e9930aa1c38bee537a443b7e4aa9d82acbfe79f46a039d152bfc54abcfd29d0c8c52ff9387e1611f69c835a52000d26686abb7c1c3ca4c13cedf8839c8bc7b59a82e0a9ca96bb21664a5a3ccc6bcc9292bed327a895fd03dfb143b57a6d7a925458efef2f635bd0da232db9692e62574574e9c4911091d481e9f34aa8fd1d53577be88a6b1422b073d2355e106911112d2dec8dd4c140d0bbe61cb3afbad3b76dd02f54838765f676404d5c0ecf3b37c739ec9b34d705b102b485e2cfd2d820e65df9e5cadb6a153dffb280927857516b18629665253e646e489d0e6b214c83582c725cb910f2a28bfe26db7669bc750418b227ba8179e1107a8c0c87977fa0c3da1751055be573e50ad598f19d11f7eaedfd7c2c8bc216799c93a16b09e5037dd79f30710d8a50074d48185dd90f83329dc7e86e4da353164a083f5b51dd95089f1d76834d62a2cceec77a9f81d2c726e5967846d7a344dc3ed732ab8aee146b6cffcf302cdfc4aa8e66dacee1a5f45ee0c822a7c22373f3481aafcad1e1452c9ca6a657cde1c24d8bc70f43b968f159a93fa1375fb6711ca21fec66dd38535a7db70716b3c2007baca88c27ffec56f5fb4a55764835f562f1ae7acd6f5d80b2ad79a54fc6a68494306262178dc9972a0b54a05f0e4e04ee11f3cb8fb541723ee35b2553eb0c30868111123e4057c688f870fae8eeeb15068771fc36134e16a9ae5d13baeee250c8530e31b0b5fb66db406b78784e26b0a844ae35b96036a71a08d06728ec83649f99bed4f15d2e36d0cd79f564312044f9b452711e9de982f2e51f31ee3a7102c989eeb5bf9f55775210f8d15880b9435e1f584940523330b35fa815b464f58307da3849d156350245896c00ccada4b63de32d6335b71e0746cdf90f477b2bb7069be932b90324a44b957c2919cd9be0fba1bc787d973741183f909f4f4459b5b24b05bf4b8e02d54e992edb233721145625fc5a315cb680bb57e5076c3c1c774bb676cec7eca5665491c9f4686c1de090a4f919480f74559474f3e3a90b691555b616e9adefdc367085fec316aaf9277a4a6948bcfcd0b3b2112a42e8c1cd400520b13dbacbcd408ee0673dff4ec1167bdc6de364b1c25735632bbf1a2f2f313751420a06449355f85636236a5d4b80d240b71c53e9db536e59f31de78c5aa04eda09420348ffd0605c24e174611322aecc915ad63b95212cb5686047a14d84048a2b6fac067276bf29536ff133283082ea435be24a79859f2a7ea8b1601810f16f12f5ca4c7967b5d5643327dad00682c82292a21e6e35ff5a31397ae4d7e0ce9b9eafa9d1f520ac44ee38514352844a7825e93d857ee2f0dcf6601b4ffcd10d73649c4c305ca0cd1e09a2cfda1b53f86310fd31115cb6d3545123147afa93a802c5221149b7e5e49ae9c470ee5d2507c59781af15ede13fe4806f7e703ab20c89f522fb06cd415b3b18b6379845f4f73c2b6ed368e49204f3f24cb94867644fd84ef51c8fefe172e8e683fd37a997916487bdab2411557178c81106e5f552b3b4660fd74b117713f314058d9f6b32ca25e1535c2f4506655869a6d1fd8cb732e66ee797362295f8b83f2d1fddbcb13d01675ecca6b9a42ab6d7be4762793582f405ca575ba8609650e06e64b38e11b5bdb8f44da9abd41427235e4eec5d93f029fec56d5f46659ab077fb4ed3a474837014b3b8ce9ac0c795ddc6f1b380e6d6a87fd2847469c3060215c4379eea942a9ccdfa9212de251e1ff3b780237c9286653afeb192fa6334ff044e3d6f43265c22518404e3ff84cba6d789c79ff8b1a174e80d06599ee46695499695892cb1f50febe7037ba2a7ce07b2eeec74492796197a88194e7a8508b4be6289dba8f549340609fb36b7849253d0084e2ab686318f00a23b53fbb68cf479dae4e68a5226f651bf74f394050be05b9bf719e0b5e83b6044a90c496223c771d30fa319c37a5439fbd80d6130854b327876db0f42a7a1eaf26d99467601084c4884c4f833f4a56a50c7399257878ff767e6840eb705d9f0fd34b404516a81b55be0ff2e33313de4e9ba8bf8e27efc81fe4d600a45cf93f74f753c262186a5c947150da992fa6f4bc4de93852018474ed588871c41823b108f30de5df20b970fe023b5c0a39c39e3a4dd72bf128d49b79b948fbc25deb5a995efe64fd7580d4965860ed4b6f452740a5448c816869b62b861518aa57419941c5d10c8a457b0578741c13bb72c6f6f0fc0bf79b5e0b7c58aa41c08d68a2d292e5c2043a0d33baa9d28850b32e34634c8ad25b4d15876ac9dac0ad3a36bc3f090c34230e0ed3f45c964713583fbde330c6a16ee75b308676dd740396467a83d57c05d22756bd8f6bcceb7a8545fff6d32e0ef2143265c44a80257a583e3255a4874220037da5fe123d822d284dededbc779dcd170bfc8f31a467ae29031ab623948b61d64db2a5867f1d54046a4596141dac03be1b9980a331a55b1d570d0b4482494dcb7093f8bc5b2b6bfa7a3a2d4f01a7455e053ba076e18e8e055d8ba31bc33edb3a710b868e596d7b4e4c92d1df17c958e40108dd2b4c502afc06ba26ad32bd84a7052b01c0b0c7e9180eafc16398cfc6525dc1c6f52624358c65b970aefb72016805f0305519a4f9de04d331f694d66968042b23d92af82c4d63dc5026e09ae621631527de36e78b234ac2e1b9640ea5a6135490be2b822986454be253c5424b626f1ab4da484855f1356575e98014203e3ef52afefc8351b63686aa7039c8537748ce09224e316da55566a47b3c19c87847e96d5112b3681f5f9e25520342f46a2fb651858937153a68b01b92c5bd221b03f565081080c4f917958e062baf62603674ffd0e3d6ab48213956c790313e0a38039f580decd2e120d36690bb1af263056cfe9b761e374d5279afd94034ba682bf00e6b57100340425227085000237967b22d34593aa82d7b66d4b4a635eb2d590d51b201f435834539c01b5b07e42023a06fbf81ef4d0d32284564acf772d041be1aca1c0786c2207578536a7c60b26f5778de093c89fa1301b1133f15810905e62a6d19a7a29f4dfefbe58e91b6a63fbd5029776f04f635e148e4aa8c7cf50b92b1af593134e905182b0b40a36c824a0ad381c557929615df5cc7a1420a3f7b100ee0bd9aff8f0dcc2fb560feba6323b83ac7710374b80dec9050b24c40e50a628f8b2833521d2935eb928e3f5f8654abbd75d5c700113a89aea8979a21990bea403c72b973a9651d9da6ef07464d4b16a45d09b5bbd16360394e1e044b3b135387797f9cf80e1e99240c9a58febd30040b52c1815d3e2f6ed8d1f3c2c86a69d9b9428ebfcde80e4e848f6e51c9f45d0880dcef62036a4fc6a8ee74c901e12fb9a3c19fbb2f70379730674a2c76017723430e05ecad813733d115be1484f929e911c7c76ae00c14d5d9bd0713dce43e6415af3725f784396b5aa84dd576c261b8eecdb950181d1670396d1e602f5e7fbb996e8a1b1efe072905b39abc15b85fe9a340fe5561714bf899c8ec8a66d864b928923b0737452a122b1daa34482c7a0e33ca43109fd51cf6457d4b19156e7022e71f6b7c83a81fea6a10807e1b7f3f3abd0542cfe48a1a5275304db4904327677233e49868086ddbea2c7baf569b26c63d85d61ab040067239bdf1b4f6d47aaf38190ce79ba75d3b8d991a48f19503332d725eaa17b92d4258d6178f57f22a69d76372e9da427f5b463441f5396e367b64dab92948b2232c932610e5828b3104c177c148309e0c70f2baf14cfa237ac80c9d2b7c38014d7679b9aa4cce652646fcbb484ecf80493a31b6c8723e2827b8dbae93ee5fc722b7a1d7f120b7ad353fd6b431880b3f5e736b54b0c024d3070b279155bdd3ad6d74ac995110353f4b5d1e9d1259a8b902550e78db7c4d2d2e0ea8aaf91587996d6db8ffaccc4a55441100bbe767782751d39f505d3e46807acdcf7d731e5c25096a972c9691d2fb35b2515ab2acf88b268ad267be45e0da798295a1471fc79e1b48f5bb76d4ba1b061790bbeb863c3f3aad75ab67e14b192a4457f4b4fd6c285d748a6ab334f3c66506efb163e87a9f6c939e37c34c885344a9996556e4c9c503236f45d35030fb7dba18f275eea223271618d5421455de32aa390a6406d2783c29ae3f7835cb1c3d664bf6cc6921aa4cbc8c6bfd9e0817794e782917259676736ed061621d63a31e94676779f8d5da313512a85f4cab9c778ebea77a677b9e20693ad5435dfbe730d5825e98c0472e5917b3cd4e4e883906ec5f77981003f30ccebf34a8c6188339d588ca30f6cbc7478f4e901a48ed6f1f5ade01287e0be64f896976eb354cd453b9d4c8b9fdf7d2465e15238dfce40c6aa371127c5bdaaa4713a8a6b681a4d32ac75e5c6e094fa25e3d6e0934833ec218ab98e2e4d0e388478e09b6c50e887e1709ae3d730b78d8047c2785ed64615806e08b1e6b46aa6d77d33232a00d0a9e1f40dbc45b01f48e3896831e163005de15e0fb03221f68b5285849dde06880275b1fe340dba9ac4b77d44955c8fff1aa3e92c6e23b112078152f655630447ceb4524f930ad89858d6401cf58fe844e2026766a65807bd61f01cf6bdc29ac950349d941d7a16bf1ab45d0ab58093f7a4b24580e45749ab833472e8f4adc10467369d4a2d7c526c1917bbf20afcf7e16c255e0477f4525881b6e8be18d235831cb7538eedce152104a698336cc4597fc3a18340a43a73a47714a87693a44336d220feb24978f3ae0020f6d1637a4ab9ffa78e3590fb112dbc57fa1d99744b470620ea824a68d9a5422140d5314517f15f5259c4cd772822cde0fa1e8d0ec87b83b2179464ccf468712387b24be65f016ff751c8d1ffeb72b6e2c03b6ecb184358d54e80c343a9d3a94143a9ff65e6d781f4818b9f6eb28c5264e29e02d038b3b434e4fed821c1e3b281e07f53be7cbef417b2aca36c2d3878323e6e6627e6897a075e344ac5bfb3b66531feb0ee2fff1e639604dd2aa8dfadd2a8e5afdfb6159796296b1ca109b9c77109d1c1f416a99dd283463e2e53a0a1817997d325ec2940e7765704c4e26d59d02c5e347aa191f942837262ec53b5e9c749ab3771d6a184e080fa8ddf94d8f015d392055e2ae3dce47eda469173c2c4c3d0ec1b4735e7f9822cfb0463e03728a39278c8b1b08bac62983bf0b0e8265453af51aec8cda8eff46b878b05f830c4b5f2fa2efb0a031343888def09f7489a0686c0c49e985fe5e498bd162900966a5700b6b3d2455f5db26b1dbfb04619f2d411819ca8f5635e52d013824cecea32f11856094084b7b137631229b60f963ab135cdf871063eae540af95d972e5550a0e5416773dccc9726b2d41c078d0462664e3382aad2b3f756584ab471faa7aa479d256f21d1492b86d93e3c25a55a1ef686e758ead2b5de26c8dddc2781191164d9d47a6795309505105f7a5393b49e0298043e5b883e5ef1cbcdfb035ecf64e757386a9f154307f25f910bd0dfa751565253c2c6e439bef59eea534f0424b3959f93106cd5f5efc503df44e6c5c02e84737b4ef503520ce279650dffa656f6845b7e8eb3691b7fa3940dc314e4d83fc0f71844572a417db1901d1c9f080fd14320d18aa16cc20d00db6299bf50a7c2e1b17483d96f7866e13316ea6cd13baf91b74f7dcba11e1277e45496feeaee38a1354d088e02af5a1323cfaca4011f6473df163c14460b72053acc42d5aa7ed6b1b5ddc445186f55c6967f008f354976f4ea4620b5890a64543fece03b4deb94c62af353466c8478a4e71516211c4673b19bf2add6fae2dfe1454de5776f020fa5d701eff44d53dce2065ba64a6fa81126993ea740896bc117d362012e9ef145d6e4cbf81e26680ee7ea443f60c37a7e52dcced09db9402f32c2f7c0db52be53051a40a0d45fc0a3012fcf66553c6044621fbc0e2fef47d264e4c51ee1d725c56777447692c999f31291d1bd68b6747f2343dd1501438d1ba25e5bf924df84d84574ddcdf7f9b19875a7046e3efab4e49055eba5943ac6aaf5d72bcb725f21ccf6b60d128bbd88d30224bf6847fb5a9d032f768534c5837fb4974c20da82e53b3548987b08388fa2113ea7c8da3ef2f121c8dea2e8ac9821268338dd0646427ae62aad9f62ef94daa0d8a6762dca9585a45510ee4bbdad7740b9a19b616ca86773d32d4b337dabfea25338ab4720c693d2d9b146b1f686cbc10dfa00d7e0b911f6edb40b0e92829d430276eb5aac515b565ed1e2c10d5f5722881107d7fd7bf305e6b4597ccb9540572c0c5070649edb43616576f139bf1661a337895c659abf71862ecc1808216546619bad09bfd78716ca3b8957fafe23c5d544d00ce1534341331105ba2d4cb4c00fcf6d2aa3efde755ea026a124177c844d6e1d3cae97aaf4e111c9612e2316827946b7c47ef6de1513555e413ca22d1562860330d077ee97d4784bb5a93f9374765bd8129057fab44c224ff3f5fc318114b3fea81fd5a201583fe8e74283be42e72d386785c04a4590d78cf2c7e28dd7c94555b2d1b46bb3f236954fcf2df9301f7d13274c35f4b4ee44475858bf396592212e0d2dfb71346713a6539a65fb32de5cd35acf668b8330b0c49d6d136b32ed3fbdae0fec0223f4114fc7605ee577c6fb85f4241159c475aacc8d36d3c753a873667ab84d32e24540a11f59ad0c6079b39b9766a098f1767dd79ae08b02d7e8937fd3c550201431a7b12c8fb58532a8c30915809135a70c77f12624cdd2c5c246c949c2c754e67c8897019e4a7ec3f30a321d71fd574762473fd2aea9c6f3cb04a5a713b4902018107df6c7c8bab1f51a2cc5a4770bf50868e281f0a22d15d389ae80411d52c260319527729f17345644ebb85649a4527e20e1f163f87006e20244398ddc9c17a76a65e60c2367a76fe927ba622a93d2d20ef19df0abd997c18e3974e350c222e1035fb0af8a5ea19899618ad0b5a4c376f4d96ecad32347afc00a98b5a138f41699f4f593a10ee4eba2e4ad31e91e75242263dbec35f896aa733d1e2f7fad82c4c373e2e7953d47ffa89e1a930ea346a06427d21d2f57d0771ba0403d3a92502cd89fb405f32bf483c7c77714204a403c7627c0fd0e3f434c3548706eea5e25dafe477b9e674ca38fe3aa2b09211b66ceafe35cadacb2c4e82d083f45447a6699d1bf0eddaac381d47d6c8e90e2a1c461ff4e9870e700f47181ccd6942df38230935926f37934411e202dea595ff9e3d9fac136d43c0c00e2b38d4bedeceda689ea4f244bc8b7d75502896eeb04a2219277507f10c5a8114eb45c0b1fabb622bc4bb3b5c26eddd521882c73b43300c240fb5672dacc40d37fe7b8523423ef21dd8322d511e24ed404035fd58f5dd621a52e4c0af2290d800ae035aa2730094578c1b9deffc44fa1539d9931e3d9ad31fe6952ea281bd0568ca55cdd940731e0d155488b603463d482a8544212d0d2948def905d518ea217c4dc373d2cbb09a3bf05a444f8fefed44d47b47c5860cda2bcef4a2a865d9ea2fa79ed5699a577c714298bd4840a42c599f9e05d70df1d6354574f62ec457de2cf8b83045281c8460e20c67cc1ca2ef0217197732dbbea4671758cf8fed22222331f08f3c83f6da28f8a2c24abd1c654a64179e9ee3493741038e0e80c2531b4fc617944545dc8a28bc8df859a5d378098fd6b6792a85c6284fa2800c2e4e35492c7ba3faa29c26651d38c726cb45293daeb338f177266240af94095da381050ac34185207673ab0db0505cf2bea05c0979425e7a1643d105e89d56c95a7bf6603dd1e90dcb49b321a1babed935907d4ef113d7e6df7f2006ec74c626e31d4d2c47bcb5ecb64f3e3071c3e52ffd54c4562007d846a4108042f2ef2157828d3e4208eb21f24569053faef88ae3650ff740391d46ebf693d0573df8f9c62ee6ad01fed8d7eecc2dee4a0398f59c9a64a81cf8e01e6547524c64bd782f3d63cc6d384a88e58d3709740bd204127176920d5e60e931b237b74554758d55baa3d351362bbde7234936541095edc9b49a422429942f21856544fe02cd3a02c55e2eaf02b3dc46b9abea142896211e49ed90b9316a2b4fd2f4d79b6e43150e7cc7e6903d6333fd410494817e444a1a866248f05ef3342e8a7d82f72441d7fcc0f890ef7b4da453de7104c902aecd173ff222d0048bb032cc67e35145726af656944d9b2dfd2fb1fd619a666fe1064b897bb3c122c22fa170150e6d775d7eac62b5a3d81a3d6e3673fd5c442518a2ae6d2fdac040a8d418c3ef0c420b63d7a51fb837da7a21993a1616cae065da6fa4ff8f0d7b02fa0db7521e11db4397e834cfe1e4986ab0d5e09a65eb3741644df6b9afc30d125233a38c57e447475db51badae651a009f34314180511c270bb9dfea77da3d6b16c182ef0bd8bd5372fd8ffa1232d7160629ca1442e178421273064447add10d552932f44f43090b1006738eb3edb53fa0bd0ec51524dd7c7f7ea9df6cc890529809741891107057fbfd77783b1f300db68a1bf958d3c83561db4205f1fd7e71b2493fed64aa4760aaf4c9088a794d56d0b8860169d86a7770ea39b495c6a41cfd32e37b8b2c900c1fcfc4e9c4d50d0f7fae615c039a9a0573b5d491cbd8067815f2e2d392a4af37f6de2d22eb89d16522d6cbbcd7ffdf68331711befede270829c32b2e0cc68224a26699da9387e6151d90910af2b55f132db5f9564a91c918b625f8275ea3585cad58a2c16745044503d9257090cd0421dec1ffa832d32633cf4d6f477ff18c401611a165ec62537346c1a7dc48c5577c2a19051fa2018f27cd916e4b4ab33b0c666587a16e6a0e40167262712c4aea6ba5eb1d65ec6c9d158179985bf4082806dc63faa0c7673c1260a9e2ce6c80d94f6b11023bd75b415de85572d6b584193acad82180975eff2474f2263864b41927f136b580178d817f239cb972f4665d1ac31d03945e58b736eed94f367e863d6391653713c665ad3da95e5ccbe88de725b1bf8bb84e7a37667e7e913e3d4a005625e3fca5618f1e5d6fc63cbdb4831e7cc175e73d11f6b20c9d9e9547d36f000c175c0d1e67484430354d66031afd9b255847d460ecf60722644a0e23161b2769473cc42943f03365f61b65d7c717411329c3b702baf10f34e68f8c9cc4975f535049d3c71e796513737f08adb748134cf80405ad9bda5138b406f02c8230d55e45edd9ef14f6cd5dd83571c4169d826284bf6b3662f21175086483da956e6a4357550e5bdefc9e01c957299a9773de5277ac4fbd64f43f51dd63f8797aa8f3455f4b913f70d87b78226affb91cab0c6b7bceaebd42d75862e9438185fbda7971b590c5b41e601e4f29c89cf9f4853431a873015306c9fc37a3f3552d57f67d04e470048be5584d1950a16b86c4a1926f884d227826da947e8efd5811b54ca71eb95fe97c7e56b400c01b02645e7673029f1a4a5ae70ad509dd85fee7003b64624889cc64b716f12102233841ddf9dd04715a739b024c373bcc0ca7fbaa63ff037f651cd5aa0e4b4af494a63c2e6cd41de1a2ad5903116e4af349eb69e9d4ce4c2104c176acebaa2a64679d5706544363b0ce3646744b632394c881d9efffd926f3a7eec2d607ae7bc25b400a0f2f1c7463f16167b7f33e0d1867fb20d7aded1669da0eb5a53854090d347e3764a81903a819b64aefa1527b912d8ef9594ec4278ec25884fa88e4778010f1ea106cfd6d9b67c1400d671936984dee91a697ab162fc3487b2e42755263fcc87bc93bf405ebce4e9e4fcbbc19f7185da583d75d2583b736fc14ed5d1d67a0e2fcce97b66d7196b172f483d603455a10b31991b72f4fe7aaadf5124002937ba2f719b7fc5f7fb54aff88f4753b7d898b3eaeae3a46b7158d0db5f73f3b6f0f67c11c61e23ae9eae331f6ad7a12334586746ec7d9031c55f87be1bcc9339fc307831967ba1f9ddf51809f2598503964ff64d9d8be255221f4717f6c646086434a10bf088b10542cbb725115876a42c538d8e097a8447b4261eb64efb66a8638fb60c6c3f06d14b637fa1fb14871dfc39cebf2e90b51ae731cd0bd3cb2429a915a236efbd94d6c78b2e8b761ec186e86f0d2fe1e5072a336424590dc5c1f53a5ebe0f3eeeb40665bfbd9d41ada79d6f6a52890a5c54c677a388d5a899e748abd9e019f2f1125f033dc3ee6df8803b900a10272416b33ba76bf36cd29420a2262e52480bd9463ef4eebcce699810431b17d28dba0ae2b07f2bd347bfe3f47b3827bcf45f2c5098c92aad7f52a6600779d051f7e84ca12d979b0f8147dc433259902b011029a4db98691e93205a2572a7fbd50f188ad6bc8f5310355aba30ebbc7e96766fc21383067927ed7e4fe2b02ba85d09b678e12ebdd61b249a24766a5a9cc0d2e405b52deed414f87a82c668279da8208c9fa293e2f10ef04108b4be0474325b5f2f471c9f8f00ede72eb4edceb1917617b390107eb9480e46d0e5f915272efa3ff0b17c665d707f9ec2307d452637725e5217ea84b7fcc4fa1d866ec1f0bcd838d8638815ff99707c8bc7b0103273a83cc2302af81fe7731a678160ac142d45ebd8f7d92000bc77eca59244612cf4c00b13c05b3e8d25e61e6ea0e0472c2deacacd465012731667a22f45787c1f3414200c740f829fda6d906dc69a33616e59394ac5a032642717067a67348b4393f7297767cd5b2bab0906ec97eb3346103f5815a6c1299e185121f236a9d75ccdefe6b7931fc568d3017f799561f807af00e10871b17c6ca030af33a61d88fee615f88df3af56cf52c42daad1e5be4110cd781df33feb4ba95dce46a21a94daef4985d940365b628278007f0318ea8ec4420dd962f325aeebb5a6ae92992add561e5b28c30c54e5ad785818a067d39a0f85e4c1a2a8370368d04d3674eac001d2b9cf7706bb511040ed056a200ebe0997cd669595f2b1ca44d0cfb8045b7f344fb3af81e7546749801711a87416a78abf113beb564d33d944cf19a1d236ccd7f38157c347dbd014d30f2f16c2a2d4ba6a1ce12703e151f5eb73d2abe681bc90db4bc978e61cea22eedc107ce6c00986bc8c1407202337f7cd39a9cc92763ac8c2ea5e9361702f68a35592e867e72e51461f0790c2bcc16c23b8d614f404cce67a8700225382bc57e6db72efb672c9606ddabee13546592c33f921d944257d84c9e32f35f341ecbfc389755a664b60951444d4f073cac7120bbed1b350f844193ad2e765530b8db9391e66c1b3ce78964d7f42c0416e15560d8e13c1051303f462aa718507c62a7d52c20e48e4abb59be08089c6903832e8862951f750a3954a5a0f65ba161678f81eb6b02736b063ed669f005d8689d41322299ee41750ee90130662edd2dde811704c7a84e792f424638c76c4c20077deed4de2bab2c33a204e3192b7227fa56e5e0a7d1a278dd3853c528e6b72771531bf79b93826a3d285521549eb57e3630c9452a074940b38af0300532f359e42aae3afc357448bdcf955cf8b51d10344795a13103494edf0cab7b36924d4a81292979923511565d12ffc9cc67ca0425dc276b3b275948ce3f3e0bb3e982484b4855b2b4aebb717b8d0fa457f31d77341c16db764f0d5b33c7fdf2dc81223c93e2ac503bd8e67e115ba7c284bda534fe80950fb5c3040c80c772ab30716747f0c2124f22c971443fd4e075e155e973b2e55fb2ec368d5f0c55f7b78550f8504dde5cc1b17a6b51adf77a526d5b447fb295960da2a79c3c22b66391c807a10c7667e223423c9665395706fadaf2b855232e270cd6e30735f9e04d6c09479f01501ad394c39f627861e1f976d5f6fa4054d669d0460c153ec2f01f554060f23fea0775d485000f1eec1c0be77b264b2a2e45674622ebd23e35c75a9fb2b7e9092e67e696bbe6de7fdc2efada9797f82e34138c7333c7884af511b1ff31821a007e713edfbd842d48cfaa5b91bfe4c66067042f5e0e4a7e32dd2299131bf0451397dcaba67a0a3940051cd6c77a495f454e24631526a40336069a20a13d6237480bde39a18e5b514d2cb4d256f65cce0cb9661686e119a6016ef1dba326da9405153fc7e4724e2a6368155b8ac1515671204d2417ff94b65be2d6b9061ea32c5acde329d8c775de6693c29605ccaeb235c98fb84ed383834f846ac45981cc77162c1f4427a80eea555b37e2467a60cf39726dfb00bf837f35b3ef6c52d9e2883d62b9e2d4b5dfc0547468ba7c3c97d9736633e6f6c4cad60cd12d7dda337d7679de59900d2499ba30c435f04418142e4743abe1a78e7356076ca0345bd131a13933ab19ab23c50c1f30f6ad4dd7af4a043a473774cdba966e2619a56eefbcc43e43a7127386056c3e84643e3fec325c2423f678adec43d074016790f79e522435e056211bce77e70a1f0312a92cb1475776c94cf84416517988798b11699b222889741f435477f254106d8fe93026474edfc77d2bf9d40e36fa576caa142a5f7d1f15cc5e2e755312bda0e9d687684960323df031194e224a9b17b703f4b7bf3932f3f7b90c5a8269736ae89abde5be63a1ccdc511b90976dc8e807b9d3a8f8041e50f684a0fc9373c15aa48436bd087fd71aa4c19411555e5c8981f5613c3c1c9d12839211c63d5bc797ed89cae45c09a55528177b9d120398c0e82339756e0f22b60502dc346c401b752916e00ae065a3b33766ee54d664aaf1f109fc38cf6ae62c2445c28c5371e8e831f0c729e4721f7c7f7ac2f8df77490bc0ecfec5422ff22d14a66321391e0276a578dda5f22934e5bd728fa1e3517f0295a4b094803ee588ffe33f0be05fb30792cef1d9fd110116df1c7d4b416cef99d99a4921316df6669355a60eea28fca14077f0eba05afb7c5d654a9b3e66ba6d0b5acdb9ea6e33d2858306896b718fcad574b04465535b5dce9ea444e45f784eac2fe1443b42d3b1e376f724df3c7dfc43c3a54dfa3b351c57bdc17a4674e55bba81726627157c1ff0c5c9eb4c5a818eb6a6f181063090415efe4b754218af143ab61d8fbd24bed9e26757075f150441273bada40b13e3d60606d2fc316401d848775b54cd7e34517c0bf90ed905304e0dd3cfea7b34dbd50f3addd51762d7380d15b8d31358391ba4f7eca0d13cadd07ee2dce1360f9ad063e14f979579ad02bdbd10abe913fa652aa0fcaef86053c5e9a90a41b66616ded75f13fb1602b00f7d61a2e9bf317d97cdd1a7c58b40d62461b2fd88c87e2639430dae934a4622ce1858c8357f5f7062f4ec7a56714668943eb126d0ed68eadfaa61d045be78b18f2f5d6fb3d9118be95437b9c3c61153ff4a2dec58f41a835abd66c899d80ff084b897fcdae04873b0c1d68c1c45623d912b41e044514ccaac3b33d290f86458c940c089201c1987ae5a57253ebd3bac0ae79274b60e24fd648c4984e6736afb365728b33829393356419ac29f940473d26fbca40329683cf2aa558d7d677148206a2887557205d4387fd02ce02340b44d6f214415b26139220d8bccac652b98230eab5f3b4152af32faa094f8ba2436f946d3288e5b66488dfbd20479aa12f0872d2e61cebf704df6c45ae475172421f892c5fed1d961507f0102cd72955cc8786c535530622ac0abb74b52067b789742e065b6f47b6a67649d2de6b97a788fa135944012f2215f42f0121cc47b1d9b6cc135022f8d6de524af8022c5e25e961605d3ddf9110cea7c9519b9ef931541416787282298582bc00bb180afd17ada9cb30cea4f45595b05ae6c8e0f2b29cc2b3753d0200960b39481ef166a001623e7671ebc408823fed1a369919b4c5a89028fb27f70904ee2f7ae0569398649bd8862013235073aa417c8cfa6c55f58d1f9e2d2281d6e607e231d0ff0f2f737a812d9e601b17241f536a968c79f0a1d68aa2a9de3a78e250a3c81aaace8d5680fff2794ec78567d6d24c75fc6d7281cd2c457ba37a6ac4f600110c1cce211210c1159c77776312002a730bfdf2e5e31eb9b838ebf70606853d7f3ed88184a76ec599428cf0f6c5b6dc844212893d030a3dead68669fe0644f0f8b607dbc671af3a7ac38c3860023d1d805774b7e6e1958db6f99394d237339f876de9accd84f62292e81e7976d1b227668716596e72f5e8df65eb3311f5b7bc68d44022041624eaae9deb013ce406f53bcafb694d95c11477f0dd57a9c6cb6760251da4ee201350523bbac087e4bbfb6cd07eece11106016cd455fcb722b0e7d273a107c6542c9421b43476bf60838cbb2e0536a8117b4cb1c11ab01da19de39c4530108a47b60a5b28ec2f6fb777fb2ea4ba79f9015f4e0d73d71679655eb6788488aa13117ca2f2e96a56c42488a2e9fc0e8b7740dc344cc210bf422219695caaf4842815ad085f95d211bc052589cee689d4e4a58c3a32d94ded7eb77c212679dd22417250754c52cabaa9624fb8a214a04ba051b1fdc135beb138307667d63f04cdd7f7d4deb900deb88fb170d089069f8367b7c1883bdaf3772101a27326cd6f1788e1ef65c680fb4edf85728d5980b5c13ff62f9e007d09a2fb5252589cbe10a2df67b98ae739bcd6bc729749a779d26fa413ace3022ee8f417c24138e353eb9d9625433ec8b52609c6a65a7315bffb718ff2ab86e51c4af1af555cdb176c1c9768f4e033396c6901026699c8896c09d7bdc2a719f79b577625b4ee2e084af25a99c31a10d02ebafc5bb58b718d6d87bca4849735fb0d6032529658fe5a87195d58f4425c861ab7ec7d954e421fe5f8c83d21768c4de7ba68dca38ca98856b91d21273a71afc432cf4c755865bba252488f1124740f52f08ec6169fe29e2e5416dc248cd8e488e7971155b8d33f54ad2a51440a773b3d2c8417b44476dbea9295269179a71589540629847aaae43c31e53c458eb5dc03245107f751303470cb26b323acbddb0604c7e00432593d7e50247d90d56996a78ec64a256f2ce833d1b8c943d84f606bf5c9cf46aa2fbf34dc7658c5add54634cd6ab262f81076f7efbc2284ed9eb9ef4bee54f45a5001ae858f01d74bdd79f39d6b7992f1c363f640c7265212d5a8a2439676408051df1d7c50f8770db1cc32d9d9edb707b31ee0bda4cae329af9bafd66f93b5672963df3a970f52c434f771051c77c7181e557f887a6d150cc2472bfca84d61de16dba0660e7c60b3bc24d29c3be8462752c7d4b5033dd19688ebfcde2b5f6417959f1be8182d168539dccb50b05eb76a9d435f602226e51715f612ed706d67934f35ee250bd1c07fde5f8b367270e625db789491513bc551460b1dede5d6f5a7445e8ff63cdc61448d10c18e4de46686fc4d2207c8d641f3808f6b06efae65f8a61c0dec1f0002a82616e19df2bc63619494ca32f8fd701aa08366cc476834249945eb961dad67ec4a8a2defb7dff63d02cc9b747898e18c63d7636d893110b23d49e8b757f680c20ca67d732b5fd28079a3bf1403b8a410645809f510d5657baaebc27df73ed4f3b4328ed0f99b511c0b1d1c1a8e0345da02079d00036442d21be90e07124077b878ab6fd129c3261046d2060c36a512785a137001242b005fefacb5008d4a01b46b3b6cd69ce900312e7346cea1b96486d695bd0ed076845dab0fe17d1e1583033fae5ef4c7b4249103312fa771cef1a9114e39f79cf2e3e4a71f2b8d078320d40653aef35a6fc16555b40460a9131423f1b7943024749012a243abe6efa1967010539dc57de5038f0050b2bf08ab623a335f7ebf1760f081c38c6116c3ea85943d9470fca0e9a1d944eab02c4e2ee616f1661a4f2055875f531f890a561a44f5eb2e91643a7584ecf1557a3ca0c43022728a255dc04673c7f2dfb03f9d53d32a95c6076cb04a538bf1373075dfc3f1713094932fb05d4594bac9570a25c480629da06925333c92b322468366fa0207ba7e9bd2823e8ff64e20bfd2449322e0c9ef703692bc2ad363f80271d5055067c1e56bef2e8900076d4292e17eeccd93cb60334bd9394e6735e2d106a1fbf57136319d85f5cf92558e17965f55fe27e0c100aa674c8e13f2ba0a50036b973343fcd355ec0117a2043212322e5d10eeb4154e3a6ebe71db4435a04bfb7f8ef9e6c4625c295403f1d6aea6352a4be5a5a519241e2d6cd495815e9a11a1539d73b113e71d5092e7e7e143ac42ab490a7fe4ca0eeda49f23761043253801da6cc5b13d8be1ed0d09c7f123c31ee6e8cf359425d328bb4020de1752d26c47d0063456e68178c4fc5ce1c3d6dec0cc148f3773ef93e7ad857101636dea8fdf660fc1227147ffa8a99f5822ab137dd10e55d423aae8583c1e96d165701562c6ecb129e6a02cb2a3812fd27103f5bd9dfcdfaae3a15c85a197f2bef7e96518bef21f1f661678cee4f7785b353536bffbbb90ada04fb99a6fc477b152cbba9a2c07138ee4d657778400c5fc2647bae6ceb2baa387588780a77b505e61478c194cee3f2e11a834ea8be6e660765d74278f5e7005765e31749ea4266036aa27236b5340b7e6e8f8667dc017a06228f5ab108822303766a2eebcba9f6d71651131bfb2f52301dc1e6856e6834675c1f6c5be8b4fbe7398b52e09c08b6e7795e7d8bee5e0af31e8ccf479b9e940e35387053c264109e4d05aa797dcd32d90aff0ccde6c055bb29a085a21b4cb3640abc542a86f655214d21c10cf77b8f1358f73d9c92c72875712c7d21df6d8301470f8439215d5f0054d1e53a01b63c512f6704ee76af092d1bc99c5a793342df5c3dac1709aa0e04683d4864ac62762810d50eb98d8e880805571eebfab9798870fb213bf5dab77a74f6a8c6985b7f47403b95b2be0392153ab41c5fc9f9ff223cc1f3b1413b33351c6cbb7cc8b15f9f2a662cbf24c6ca6c680d00a9f717436e087a76a7b0ce7784079f69d540f12113557d352e25be46030a8849353a893d044f298442280750f911a8b8c3309fad592deb008ab28d6b383f7bb1298542497e226e24176cdfeb4e2d3c1dcd760a34a926f107258ac8b6dc41b5fd5d468681ac5d3aa09ec4c4c60d00b25d756f9ec23551a4b06bc4db0ba524ffa7df23b76a4c4137d44f552d92152afb253d262c4ce07633aeeb36ed703945b93c3ae21916b61daab7a673118a7e36c595bf0049cc514e39970ff780e9ab3a9c090e69ccf8431024a42e1b0dac77422e22fc822f3a8e121514567ef840623ef493f1e46617fd422730235b62cabe7335fb82621fcded5c83bbf91793aa3465e133db5d1ad195618403aa485e3ae764f992f05f62a4561525ba5cff1632af4a56e39ec465052422fe90686ac245a061188863d0da5f113cdec5386075964a48b3f49d42d8acca0c92319e2ec413ac20e60517713021900ad361e79fccc4ac67badfe2481d1cc53cad8f9cf301c0fe0e7359477baebb786e6492143a9369d85722f98c1ace9cfc3640dbc3a0849c096c9f09d38d82ce46755d4876ea0471c4019e5abf58082c97032fa9050c49353a015850e48a088aa843b74515fa4c19dd295e10bb897f19f33888a89b89964bd40f4001721f80873e4ace7f16c079f0e07a2ca9eb9389cff571431c0260ef1fad6c7106394e8cfca9292d8f4300fccd417978eaa213a0bf7a0f081b9c637661c513d27dce80d5d1f92f00c166fa8cf57476db88d7d9c1c00c3080b7ba8f9fb94d3437d0d280003f5c481b2dec9eda8b6413a62687ee89eb51128f620073747730460e9a305cc7f5761a1cdf426b2b92aa0a1ccd35c6403bbd2222e4f19e3ee9d46ca2cd70bfa5f7b34eaf6d09682dbd3d034809a859be95fa4aa8ad825318eaa6320cd5ca5e21ea6424e6188a51bad9b02023f5e648912d2b36c8bb18f775603565166db917a5d1fe725203557adddc5247a5c526d32d697d33661f0b97109cda3e8591b05b6cb9d95cadbe560ac6716d0af6a1c74f47aefd3538f12163b2261336848d8f83fd4a7d6aa9f7328743d69d2c41710f290f63d84c4cd4a80302bd4d4c19f20b54d5326e292f110236cbcabf1e1428c5040740041bbdc71acf70d964319931d1c393bc153c13202001c622745135660af7f4c8927ed6c26a71758291282ab688f9d7321176a73429c7ce2e6922427bba58377ca2636a6d30c40ebf5d7a270c666b66802f0155949e28f25a4d585848b2f03ce95f531524634463d68518d6aeeeda95d5883e4cb904a3de79713b46769439f292c1106dba57411cea9d7d0f86ffa14928ed7cbf733cf6ee0331654cd70013bdb4da699000b8b0d235a4601d8694577ad0f11d8a17f966cfb7fe6f1343710c144fc43c616811486f3caa0b189d12749889df1cc91d9cd4ad4038280249c416a7b0756b4bd1f711bea9ad4c6dee7e6cca730776645542f7b2ef8e5ea23a472678936336137dbe6981f0db72cbe9419cbfa5f271424e7afcf36d1e3a9faa907b9e782b2775b880b7cd8e0873862fd337510d61472eb8e42a1967437f9cf9c9d65f5fd453be1a2607253aa33058ed76c399e7e952f52757a9a3a9bf23fb001bd4c432131a0427f56c34696c675d15d32bf07fe67ce21ccb87b67df668d94a0c251ecf6b76fe6e408e0d82e1744410b272296ccc7be698f1a8668c647e1e5d457e7591862b7fb6d5a1408b755f11b7e0e757d772720a142bf26427e34a37e87a5fd9cc2344b765b47145dace1f439a8b505a33bd0dd312b4402744200a76ccff6cae86db446d646142731c471ae34bafc99b92f003dc9c309cc1a43367176436234c0567530f0e575d58b2dd19699e7cffa9f6341bec82f6969ca08075cdc3ac7d56f1e3773d673be1ede02560dbc4efc19fad620ba2d52c22db67d5508fcd90940660c37746fac3eecee9f60ba26944274e40297a25b71f2b1d06522b92eb70bb70b9663a7898835b168cc24721df3bbb5402604e5dea91b1bf68a64bb210a21d86c4645b6a6b732bdb86a576d4fc580ba815dc25eca66ce4776c7f62c3ebda3091977024a94bf19b2e1fe4590df55edab8ae42056fdae27f33f8cd28162a12399f29f73c8c34b4f30677540b8cc6f26dcb591a712edfc2b6b5f0f15e1819b059321df836ed9b65ec63360b0979290b92f9a0a344ef5ef44098bf7865bda9f4dfd752c257c0295a67bf06d4631434cf21037ca777766c69d329b79e2e22002fb9422c31269a4baedd04f5fc0933582c64ef566141ff8397951610d276c8898abf358ea51802a9bb4f2a857c6c988d602f74c5c1339feeb8c5c3c63d77b1ec13898922800846db87948ec85551b54ceca84f451a315ce171a6cff8487737c2915d995fc957424187d95c801f41144f5bc270d514713e718c00f0f4c83795ad0910b9e7797c22fdcd818bcffc4eeaf4a9f9b894791513385236602ff32ccd93f2ec54bea6017fc2abab26d9d54838028ad15c30291a46c1236de9bba81f105e0d55324b2a70b7168090e59e000e35b79feee31ef3107dc8dafe8c0dab39a43ed5682b4d962ef8ba1a956bd8283ed347b29ae55843393288ee24bec6840a7db3ec304279cd21c4a04e710197353eb8c472d537d17518a87b822195f90e59f305bca421b6413920eb9c1d7c99463a24179e7175114604a0d8d0e2bdf1c241143f4d9f9d495951864c5912ceeb712383ca623c5b7707571f458ee4bb0b7b5033d79fbb9ec307234af6f7081818132ffc99a778133a311d56dc6e3db2f2477cf64a65e9fc94407994db1ef9c0ba36184e21a4c755593f3b8152a5c555fe5f3929f730347edcb17cf0832d8d4cd90f66ff834954fb97826c32edae17535c13559cff60bd6403060c75e13de69e6d2d3bf004aa164e056468f21aa8bda70f984b26fc1e689a8a7b3d1f8539a47f2f3860ce81f98c9449d459784a623da85f044e9f47ac6e40fd036530a3cd530ff9475e5d751f91a0a92d2b37b6a2d8eb97d702f41bccc734b7c71722cd305e97ea4354efc8bd9654d33b1adaf83775b20ccd7ce2adb9fb030c132be6203df54f84ac5bf1502e6b9b6d3d1b1cf412e5a6f7c277778610f4dfe0eb54c42b6556a8692a560c90c900955fb87fd90fd383ba34911dd51cc02bb2d33958dd7ed89d8547876211a50a73a9eacb33c44c44afaeaa0a30d46ab1e46cc0b129aeee3754d32b5c21180428468aa3a56815b6e2a6a9908d231f75b30631550e1c8c0c22e79ff75144b1417db60a155165dc726b6afed4e638f75f3887fa8d7c5c539780ec02d3f316fda289f3e3eddf0600434dab6b1b33788241e5e230fe1960d196f94e8b475530749ba28c642a4b0981c5c30ae5247b5cb644670b7d9281164cf5159666a9c70cf322f97716b87125154b2656d2220a2cfe358d6eeafbf457e85fcc4a6172ff090c7e746bca4dfb3bf9007e8499247b62c20cd64c2b95b3779d0e3ece3a3d7140d6790d5857a2be5ca7a41891287dd571833adffe30d83e69bcfc127837330a1c3150e697f1b0b43615cba48da5a5b3234a14f962144392578bf91bb62b0ed021786dedfe7bce20378981588159ff9a6f43287f5dc4733e5147709f2192ad4d103613bc43657688700bb18f59b0d63b512eff171731dbe029275bf43b20dc943158644ed9db7130189088215ae9e8ba706e416c8903602f4b000520150e7a612de2a2feb3779e8a43d0fea8b9fd3b130eea9a31218ff5d209cbfc2528afe5f50b17b088b815f9070b344f45fa478ab23bf11200a8ac82bd12cff5e87b7862944bf5b3a34cb35bf81ba13ded3fafd8c1404aea19c1e69eb76cf475870be182842dbbfaeefa2efeee6a1ae449ea6ffdc10933a7318e49d2646d94f0a6c22b12c523c11b83b4e9c6124bfbaedbcae8a2db09b57e3f88b31277166b7f99c1a8d4c02c559253757f890d6d6c1a6d6409667a0dec628855aeb1282b6e65e1979f2b0b3091f88aaab199753e8cac1d99a4120d03fb7329bab494820646801c1b945bf2400f3dd411dbd05b52ee4aca01938f865b59dd921354c6e4257b9164317c59a930badc8a673efc2834cf7ba7ff5e839a4afac0c3b7c9dfeb48a75169b694d52a6ca19947b7051f1d5b4ba21d2f921b7b02d350c843690d98253a6ea526f4d27c40ef63d98756f47938d1fc316f6a8e3d33b9584a4a462ba42aa84a36486ee684292134006394f3c4298f4533a149d1e7553272e04c1cc6863cbeaf2fa12ac2a71579084e358ed99e53e48b44ff07fc1f79328b16fb06380d59aec322442265543262e1e6addfe31b58d48c69908187354431572d49275de440fcf487cbb65a307e12191c87d725a431526a0225f40db26c6f3aff8e6780b77272bffdc27d3e8f4b012c0d1630b9e976995a81a2f108073cac878cff5e94036e62a9151728e1b46ffa4d25211ac89c4a5289f60dfe158168473e91fa3570556bcf844b795c2eb249a7129c3e2e28561c15beaf1775ef934c28ac5f6773aea4760845ae6983dd117fc4c0991487bdc5706b52f00cdf921f401797a1098d19bc076f2637e87aec993752cf23ca76582c1bf7d0f7b20b638d2b114589015196ee47e0a95163e7ea141dcc1f6b7591d3a73e8c8e90345544ac394620c9a232d1ed56febc7fe765b0407b76dac15926adab1e4753b1a281922a4e6ec628c1efb3c0693a954d39e3d36066949134651819880de72e3b2ecf0dbc66f70629b01243766dcd4f9bcf7dee1e4185b3b64b611e3b6ddb9f15d3e773b400f9c3036d9fa280501bc798c97db9902b49df38cdf9e1ac2f6d0dfbeb3497f71313827453b406c04befdb0b67bd3b2063f75ba0ec3738db260733ce3e6d52283bb56db8a23f89a7649e9549f346d5832ed96c1d7c8782452d572444f12f6ed56683fff5f0387c84285bb748767b7cb023e357b071a9110a2ee6a7e69ea2348e3e8ac131e2db057329631d4d0b8c6d0e3ae43753f6ee4b353bd2e2253bebcd186037861e7f82e17e6353252998e94c6978c2e96e9fb901021238ffd552691e88725425ad1cf34adc78696941ce49905954d29663bcb5857a2b897f3d09494eb63919371d8cc711425cd33b203e27204208f885cc092656e150e128c851cd967a1faedeb3ac8643a066dfd41e62741c9c0aa24726e7840a0343e00326e5bdac65587954269665689864e713ed6a2aafad56a7eda6d48a710f5ea039098a96961a33923a2536bdcc8f39503e30670892923156cf3dcf0690ce169b7bc9608edc0451f9bafb64d4e313747ddf834c40a7560e5927cb38a6b5d322f7c42dc76a0f38733adf6e4e962d5c724536aed9f37e2a0bdb44464957c307518d1d6d10b64b0a6ea70f1261390777797bc20b8ff906d17512c65d50aa7d3402e7bfc078c04cbb70bee37ffc6e74ba1dbdbfc51ace974a784cf7217ca95b182444157a7a47feb92e069bd11586d406797f856b1547e5cb7e09392bc82b3fc663ca5ab859fa3fd544870cdf95979f0078f0a7fd23ef03dd5eb7048ff22d0efc38d46d4a2b1bad7f3faf278e3b0636e769c84c287cbe5c8b3883a5ef0030378e6a0817c12955d55d4328be73c874a257131306d51f19808630077d513f62808f18b5f832ee74bd1463ab6ca57cd054ac25fd0313370dae83776f6fcf2dd96359564e8b137c70689e55f272c9852502014d2fd3bda093a7f5638456a21b72bdc346134eca5c67299565a269297f77099c71711c5dad20fae9596a50ff39f446375036109873cd5db45897dcbe032e8a2479ba31aa56601625186571f217295b705bce2649775defc1322e4ae9bbc419d421d47a7f3c641e104cca4f27c1b0337d3a939c2eab2b642857f3dc84aaffe1dc7e4714eba3dbadbf4f15fd40ad1782e262c8242727eb29f67051282f41a2bb4b188c568563b725a041a4826ad2dc85c074c0e672230903696ff5a40afc22ff0d5a4fd7df3e0281555d7d1934926b37b328185bff76d190dd6fbff56d131ba31e5c90c48304a581713e6eea58103129fb2d5733147efe832b41fa6ffef7ef68781fc76efc594c517d69ebc1e4bce8eda06907bf44187060a112f1c50a3682794e28627848c22ca2e1064a5597409717d50c88d136e691bc77608932df9423e3b3338526c6cbf834351a137c1a389017a534ffce0da47d9d35274df6eeb94b093a0b8594cefd75351f440851d414a23ed05fd81393f2f058b123a51281feba84311bb826be24e5a3a934ef519d2cc8208573c74de13776471b2de3aaa287b71dfe7cdf46a2847f54867bbdc7e042f5ddeb7b72f23af89a976e0042eb07904531eb0bafe6f4f03cf60c72c6667aae67d83705be2614c5e205e248a312fd7aec8b041ed350852f5e12e7049d558c480b488043b79862cbcac2a022982aef40f444f346a79a2ea1059b0743e0f8591ae3c7fa2d3130b993d419467c3a1a11a336459a24f05e953a20def4426fb65fc8a58b1358f90d04e060c5c571d2b1d2df9baa98256d81d67ace3ff30fdb03fd7487f0de3b68db9890f3eb593b1e393426618d263900edfba338ae161ed3970d0547dc700dfd0213f2a7621b395d38564ebcb7d9446f2abba1801d63473a869b7507a17d4124b60f810b51bf24ea91eb185bb86b2793c4457b358b477441fcea64c975b1685461687b65a3ff1b761e988981c87c3632df6bb3de40b07724340358a005f8017fb2b1b92bc13b5741d788d13165e2476a8c158cb8c38800bc7d4932e661634e42ff99728e376301e528ba16386a5d2e222b8a926faf1324176f69bbafbd0e02659edc6f57fa421c4de43d1617368022174de2429b726e0c19a8b791aa5d085276ef6d2e49321474591be0b0c606851a79f9c5352400cf703cc874da44c2c8630469d658085c1a5814ff32331eba696b6f91e488b384552cbd92da6ff683e95e632696d9866c2d4553bcd3a41560b909d2694e3f634120464531e71ac865af2011b8ba6fdb7a7f63dd5a236d4b39183f9dc945aee841be3402ad314c4f68000774658ced46b6504cc37373b1d6f9dd45d64ff173d548421cd7a3aefd628aa7636cec3148a304701d0398480ecfb2ba1d3e2433a7b16f5c2e13492eeff76bd7066edf6435237e961b396ee87f91be4612239c0aa4233e76775f3428ca0ab32572e7a55dcb88d4107f070a9e49d5b59b7e9c41c82751f6647d3f927f2a9e42277d89e9df153fdca55f4b6bcfff42469d23fcd8dc3077c189625a00baf3af2a9114c7d35516e91e8c796f198b64faa45a7df57e1108e312fb41ad67c1622bdb70412d9bca46995be31228c0b885b44e9631e71f1476c466235561555eaa7e8ffb4f76e4cc1385ae6d55be40afebc06285040af21cf20709f5388ed09457d3e0b875d4af8431441d40153d4f5aa78cffae5c748cbab615bce225a03b588a84ee48122ab40f12e32353134ff9d0a99c633b72810e34a06591756e6f556ff73b496e2b97fece2223c2790711c625b9c6e3456d67e24fa936e0676b0de32eca03e1ca4ab765c42d4645930bf57524eacefd8d1cb65bedc01984f90d2e25547c193f025f28bed33a98ca8b20b0bb6153fbaec60fabeeeb580bf6ce3aa12e00df0fe90e34887cee722e374a7fe70e0f5e22a61123ec64d22b53a95330f098dcc6cb6a2f3853d2248762c7c172a46c3f1a052d5d041cddcb73bb398821d6427d6aa47b4c51c2b84e0a356679245da0771895c7d53dc4281c57ca5c0c735c465ea5452b171e5977a3a788b62300769e73c717ea69523e1b1b6350b4123f2055d2455efa01667d0c20667fd04e40bddd5f4c93403c39cf8152ebb5885152f51e66c109c4892b80bc0fc008227d6a8e4ef72839780d341778b4c0616e047826c79132d15cd522f8cb12e08f8380330a5d361bd5a8be626b68deac856f7d7aba654bc01482cc6abd9562f4c608cd307a0b62c6c47d5753ecf0758b0a83ed7892cc0db4277b417c3d600f10f3774c4f67e5b9f6dff95a6fc92d2f12633149407d249c0605e7f6013519fcda7298b975a4262324caf69875d8821306b3d1e76f07a97e250268104a65b0a365dbc8b97fcb6ff915a9200f360af17fc1960343271a197deffccd1c6aef77703b386d535e2778955975cec93474f3a3a69a0aff279d2c24dcbe87d7629dbcd92df98c8a5d8c391ec187611c171c4d84f6d6892f1b78499e0b49769f5050f8bcb8f59c3b0081ffcd2cd63e5102b6c306f3f331c7138dbda4432b96a60327908e715a9bdd7fb3d55a4a23ebc669a93bb1f1b121fc00038682fb81b64821f67adc3add40ff1f4c1035d377e76274982a9943f3b4ea029432abf72c06a56f4e0ba165050ac85cb7f8e7ec20f59c7bd9bffc15f34ce503fb429a233be4797cbb42d2d66666d7263cc27f5107403537257644ee00f6f95dfc74dfabe9e87372017e14c428b221296ee2b77977dd9f3305ec5b21d3dbc60fe9601002bd3ace72d6e4cf576a1f6b2ff09971978a3481674a9b7aa640a5fc02b8371d764605691d5412b3a95892615a4f67d2a48382007731dd92360e99d12705167caa00d52c1c785e963ca485fc796b5556660054877ee69621b7289dfe54e2358438110e634f7467fffb9c1ccb4a6887ba978dcdf14a1fe63d59662974211d38bc87e56a7045b01f5905239d8536ef7de1333d8373368a6678a68f98e440f899f8f7bb07cf7e610748e30ba75e653b7aefb41de92a173c1924ed194c2501e1313aa48b7c7b6f36f745884f003439d81efe961fae321d3defcd2ad44368141db93ac31efc0e49f65f7e25a4a1c83ae5ea16fa4e8ee2706357e17b49a6430d70ce59f6c407a72cd3b85f40cff28765289346e92c6dc5539cab5fc61b92ff645c736a8c044100146dbd31f911dcbf7130845c2313d2c62294ad5a19a7e0104048041ba377059e69945a57e99fbf6540ebeef69fef22772ec67307a819189372540ebee9079c172a1a0c704785237d53ee65d146158eae6a7d4ade03fdf64f7ac7e49590007b3878052084e2b230a9170ea4444cb9b2a23a9fab924341ecd310a414f29647f2ac72d3a6b4c9ed6ee253f5f512a23b9c34787830d053f18345194c7386c622405e0151b77812fdd94d3038c0c7c80189b4071f86f0883dff9c509f64838617e3cf345414f4f2144676601e60754eb4f1e529278da79b4fd5c451e5d74e9da32cb7530f6c8a126a3e0d65fd51a59e75ea04528059aea48b6b832927baf2c20826420eaa225d217cf894167f419dfd2f26dc30235ee2b682ed387a104b144fb4b4a2280e9747974826cf783a68db33f77ea601dec29eaa438c8c69a528edcf1cbb9e341c39116721bb17028e6a7b1912058372f3162e76534c6c7d0addf11f38005b7e3659b0cf70f1dd66275ee426ef8da85fa57bc233e9148730ce9371feac373a71f203b09449ad1d0139c750f468458e687bae8543c2d76a4a1e1efe237f214611db8cca1323ecea5299c36cb1657c9877060884feb1f7af199965b368ab4080590f61d0f410a18b669ad8dd85441cb05d7b79d7775abb3d2cc51b547760ad0125bd394038b37277637e1e65d81a29d57bb555ed316909ff52db5cd00bb2ebfa14d7b7c90adc78aa07fd8b05c3a99bed65b9273df44030434d3bed1310428315681979016260ca9f3c5419d00bf03c03409195ae7551fa2c07fc16d0ee6499c57f5f9123dc62af3a7b39865fd9a0c7a377f2547fadd4a0171e4efa6749fab1d811df4f6a8260e0a21f5b323cca9a5267338ca603efe5e8554186fa7098b70f7f7851b14710ceda282e0960ad5e9cb37c059434d6a1b4c8f70907d7049a90f5986ab3b41c4c9a77014e822b197ac4085a2c7e6b2bece5212d1958afe95a213c410107e8efae3037601ccd77e0765183bb028328e704de7baf2ce236f4eb8da62c44ea1874dc19abfc4acb481e6e41b6c825951321b5dbb9207d68e33206bd8a7174a4246069f7981b2f253139965c41eb6700e57f5e371ddf5cc70eba0321fdf8402a5536e3a9a0d202f8f190aa808921260834fa28f4ecc3794503a1e9dd180e27c8073f4e8830ee5eb88266458d34db3e146bf4aa07dfca3c92bc29ad42bce020e3687188c96faf28b9631e88acf6f9112763fd490db82f18c2fc4334f9bfe37562866224c353757de4e29c9402ad16774ac42a5a46d6d22ac7a63a33d484d0058156dada6c2bb12bee7f642b1c9a1515b7aa814033bc2e100a22c7648f5f625a7c169a0c8278940f _Values: - {fileID: 1381594469} - {fileID: 1381594468} @@ -14653,7 +14653,169 @@ MonoBehaviour: - {fileID: 7218990644326672365, guid: d07bb3561db3fa945b43f4bcffbd28fb, type: 3} - {fileID: 1028237568} - {fileID: 1028237567} - - {fileID: 2800000, guid: f20112bdeec2e8d4d9f80e8390e37263, type: 3} + - {fileID: 2800000, guid: b0f85f7da5042c0448a526d5ecacbfa9, type: 3} + - {fileID: 11500000, guid: b22dbb74eb94afc47b5d75973eb2ac02, type: 3} + - {fileID: 2800000, guid: f87b5805002ec9649bcb1b96d8a16ba9, type: 3} + - {fileID: 2800000, guid: ee148e281f3c41c5b4ff5f8a5afe5a6c, type: 3} + - {fileID: 2800000, guid: f66c4aa44c09b6a42a2b5b9f9334d824, type: 3} + - {fileID: 2800000, guid: 2fd6421f253b4ef1a19526541f9ffc0c, type: 3} + - {fileID: 2800000, guid: 3ee40aa79cd242a5b53b0b0ca4f13f0f, type: 3} + - {fileID: 2800000, guid: a7ec9e7ad8b847b7ae4510af83c5d868, type: 3} + - {fileID: 2800000, guid: 02f78a9ec76d40f49bfac78c64a754d1, type: 3} + - {fileID: 11500000, guid: 13b978e1f66386b44a08579679b8d1ff, type: 3} + - {fileID: 4259592601424320053, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 4259592601424320053, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 7714908464223831977, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 7814226618081965607, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 7475960536308232531, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 3293741353593090497, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 2921577001828998820, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 774977950295046355, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 3293741353593090497, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2752125338809858732, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 912609835647631034, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2944176489136536419, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 7694169814952564644, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 1315613041041961975, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 6898364466814071720, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2047969805760758725, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 4757850957304839892, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2679202421495676462, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5234614663885583549, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8919628807284682368, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 7097884898005116604, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 514270836505701412, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8170277298609262468, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 912609835647631034, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 2944176489136536419, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 6898364466814071720, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 774977950295046355, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 2047969805760758725, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 7097884898005116604, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 514270836505701412, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 8170277298609262468, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 7814226618081965607, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 7475960536308232531, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8009834015934739492, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 7364243904719608872, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 3183801560891420552, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2321556903372042300, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 3087567037512792425, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5559531373109910732, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 9184446008889507580, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 4811636973679609341, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 3551056828837948860, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 3394599716781288918, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 4756638663728937325, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2345353098344388469, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 4332982135153255073, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 7690171638868425400, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8625122601240492421, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2908023405912910125, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8148423003051753238, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5792890708112805772, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 4978265826507658218, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5188256169115331120, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5551092389154919260, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 7812963823113639518, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 7271395237267763792, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 1088216136453195051, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8009834015934739492, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 7364243904719608872, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 3183801560891420552, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 3551056828837948860, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 3394599716781288918, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 4332982135153255073, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 7690171638868425400, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 8625122601240492421, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 5792890708112805772, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 4978265826507658218, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 5188256169115331120, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 5551092389154919260, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 7714908464223831977, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 8160690706659405783, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 4953884918187044333, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 6946484180824730810, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 462005559562327888, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 276564600816103909, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 4485256405266656900, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 3659202591974956877, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5574127344164461865, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 1334193276192568318, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8836011024305959625, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 93384146751404154, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 1371285498413622073, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 3710668421262259867, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8214697603469298472, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 6010678503025540183, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 7220240516150981463, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5939694079241520444, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5078263038134683652, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8471478618121348340, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 1108376177158064608, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 7743337148075770116, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 4224620927663903161, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 355125831410615281, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 6454549756852843221, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 253624056160083184, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 4421562747241209883, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2711967451113446164, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 143606684603708370, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 6248408737342590978, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2356387260667296607, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2387771246002943921, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8832365767348918445, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 3901728204246151022, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5451031166975043475, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5574127344164461865, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 1334193276192568318, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 8836011024305959625, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 93384146751404154, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 8214697603469298472, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 6010678503025540183, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 7220240516150981463, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 5939694079241520444, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 4224620927663903161, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 355125831410615281, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 6454549756852843221, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 253624056160083184, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 4421562747241209883, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 2711967451113446164, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 143606684603708370, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 6248408737342590978, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 2356387260667296607, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 3901728204246151022, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 8120507595671607118, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5145023756108790107, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5967472751040280357, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2251951613705050898, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 559841126100575784, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 6546938958927478753, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 6217558024793849739, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5074318044607185102, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 703277191958196341, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 6475454969463211691, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 1627351685873884114, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 6946431769684344315, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 2170097448491475004, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 3272397433362912587, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 4631908682214952394, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 4072794666892989627, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8033128321737179197, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 5522542723562029807, guid: e56ee216cce1ea9429044153b8282b93, type: 3} + - {fileID: 8120507595671607118, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 5145023756108790107, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 5967472751040280357, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 6546938958927478753, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 6217558024793849739, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 5074318044607185102, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 1627351685873884114, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 6946431769684344315, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 2170097448491475004, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 5522542723562029807, guid: 5d56aba59c68c1a4992893bf869db1f3, type: 3} + - {fileID: 2800000, guid: 3028dc075ba8c584d9bc7d1e0255e038, type: 3} + - {fileID: 2800000, guid: 93f09189124b21e479fc891dbc1b93bf, type: 3} + - {fileID: 2800000, guid: dcc0ed9263c0d524aabeb5f4bd75ecee, type: 3} --- !u!4 &1926461710 Transform: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/EditorGame/Base/GeneralSubmodules/ColorSubmodule.cs b/Assets/Scripts/EditorGame/Base/GeneralSubmodules/ColorSubmodule.cs index 68a32d4c..a9afc426 100644 --- a/Assets/Scripts/EditorGame/Base/GeneralSubmodules/ColorSubmodule.cs +++ b/Assets/Scripts/EditorGame/Base/GeneralSubmodules/ColorSubmodule.cs @@ -96,7 +96,7 @@ namespace Ichni.RhythmGame { IHaveInspection inspector = EditorManager.instance.uiManager.inspector; var container = inspector.GenerateContainer("Color"); - var subcontainer = container.GenerateSubcontainer(1); + var subcontainer = container.GenerateSubcontainer(1, 300f); var baseColor = inspector.GenerateBaseColorPicker(this, subcontainer, "Base Color", nameof(originalBaseColor)); baseColor.AddListenerFunction(Refresh); diff --git a/Assets/Scripts/EditorGame/GameElements/Track/Trail.cs b/Assets/Scripts/EditorGame/GameElements/Track/Trail.cs index a3b679af..7b2442b8 100644 --- a/Assets/Scripts/EditorGame/GameElements/Track/Trail.cs +++ b/Assets/Scripts/EditorGame/GameElements/Track/Trail.cs @@ -111,7 +111,7 @@ namespace Ichni.RhythmGame { foreach (GameElement x in EditorManager.instance.beatmapContainer.gameElementList) { - if (x is IHaveTrail t) + if (x is IHaveTrail t && t.trailRenderer != null) { t.trailRenderer.emitting = emitting; t.trailRenderer.enabled = emitting; diff --git a/Assets/Scripts/EditorGame/Grids/EditorGrid.cs b/Assets/Scripts/EditorGame/Grids/EditorGrid.cs index 10eaeeee..a7a3d378 100644 --- a/Assets/Scripts/EditorGame/Grids/EditorGrid.cs +++ b/Assets/Scripts/EditorGame/Grids/EditorGrid.cs @@ -47,6 +47,11 @@ namespace Ichni.Editor gridMaterial = GetComponent().material; // 同步网格平面的值到材质(方便 Shader 内部判断) gridMaterial.SetFloat("_Plane", gridPlane); + + float lineWidthOf3840 = 2; + float screenWidth = Screen.width; + float lineWidth = lineWidthOf3840 * (screenWidth / 3840f); + gridMaterial.SetFloat("_LineWidth", lineWidth); } void Update() diff --git a/Assets/StreamingAssets/Projects/IceFlowerMaster/Beatmap.json b/Assets/StreamingAssets/Projects/IceFlowerMaster/Beatmap.json index 92b8ae04..e9613b84 100644 --- a/Assets/StreamingAssets/Projects/IceFlowerMaster/Beatmap.json +++ b/Assets/StreamingAssets/Projects/IceFlowerMaster/Beatmap.json @@ -99,7 +99,7 @@ "positionZ" : { "animatedFloatList" : [ { - "startValue" : 0, + "startValue" : -5, "endValue" : 5, "startTime" : 0, "endTime" : 2.580645, @@ -330,16 +330,6 @@ "attachedElementGuid" : { "value" : "1500056c-f5cb-4c71-8096-d6aa6e2ef716" } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.TrackRendererSubmoduleAutoOrient_BM,Assembly-CSharp", - "materialThemeBundleName" : "departure_to_multiverse", - "materialName" : "EnergyTrail0", - "enableEmission" : true, - "emissionIntensity" : 1, - "zWrite" : false, - "attachedElementGuid" : { - "value" : "1500056c-f5cb-4c71-8096-d6aa6e2ef716" - } },{ "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", "isShowingSphere" : true, @@ -1741,16 +1731,6 @@ "attachedElementGuid" : { "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.TrackRendererSubmodulePathGenerator_BM,Assembly-CSharp", - "materialThemeBundleName" : "departure_to_multiverse", - "materialName" : "EnergyTrail0", - "enableEmission" : true, - "emissionIntensity" : 2, - "zWrite" : false, - "attachedElementGuid" : { - "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" - } },{ "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", "isShowingSphere" : true, @@ -2100,16 +2080,6 @@ "attachedElementGuid" : { "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.TrackRendererSubmodulePathGenerator_BM,Assembly-CSharp", - "materialThemeBundleName" : "", - "materialName" : "", - "enableEmission" : false, - "emissionIntensity" : 0, - "zWrite" : false, - "attachedElementGuid" : { - "value" : "84124676-d1d5-432e-97f4-b7144ae3b656" - } },{ "__type" : "Ichni.RhythmGame.Beatmap.TrackTimeSubmoduleStatic_BM,Assembly-CSharp", "trackTotalTime" : 1, @@ -2610,6 +2580,355 @@ "attachedElementGuid" : { "value" : "75d39ea7-9f05-4c49-8896-6463aca12626" } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackPercentPoint_BM,Assembly-CSharp", + "trackPercent" : { + "animatedFloatList" : [ + { + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + } + ] + }, + "elementName" : "New Track Percent Point", + "tags" : [ + + ], + "elementGuid" : { + "value" : "1538fdc1-16df-4579-ac23-b6f1648dfb7a" + }, + "attachedElementGuid" : { + "value" : "1500056c-f5cb-4c71-8096-d6aa6e2ef716" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "1538fdc1-16df-4579-ac23-b6f1648dfb7a" + } + },{ + "__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMTrail_BM,Assembly-CSharp", + "visibleTimeLength" : { + "animatedFloatList" : [ + { + "startValue" : 1, + "endValue" : 1, + "startTime" : 0, + "endTime" : 1, + "animationCurveType" : 0 + } + ] + }, + "enableTimes" : { + "animatedBoolList" : [ + { + "value" : false, + "time" : 0 + },{ + "value" : true, + "time" : 5 + },{ + "value" : false, + "time" : 20 + } + ] + }, + "enableProcessTime" : 1, + "headSize" : 1, + "headRotateSpeed" : { + "animatedFloatList" : [ + { + "startValue" : 10, + "endValue" : 10, + "startTime" : 0, + "endTime" : 20, + "animationCurveType" : 3 + } + ] + }, + "isStatic" : false, + "themeBundleName" : "departure_to_multiverse", + "objectName" : "DTM_Trail", + "elementName" : "New Environment Object", + "tags" : [ + + ], + "elementGuid" : { + "value" : "ad71a13a-d79b-4c58-933b-f2b5c738692f" + }, + "attachedElementGuid" : { + "value" : "1538fdc1-16df-4579-ac23-b6f1648dfb7a" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "ad71a13a-d79b-4c58-933b-f2b5c738692f" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "ad71a13a-d79b-4c58-933b-f2b5c738692f" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : true, + "originalEmissionColor" : { + "r" : 0.430388, + "g" : 0.240733, + "b" : 1, + "a" : 1 + }, + "originalEmissionIntensity" : 1, + "attachedElementGuid" : { + "value" : "ad71a13a-d79b-4c58-933b-f2b5c738692f" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TrackPercentPoint_BM,Assembly-CSharp", + "trackPercent" : { + "animatedFloatList" : [ + { + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + },{ + "startValue" : 0, + "endValue" : 1, + "startTime" : 0, + "endTime" : 21.4, + "animationCurveType" : 0 + } + ] + }, + "elementName" : "New Track Percent Point", + "tags" : [ + + ], + "elementGuid" : { + "value" : "5e1f8cd6-8464-45b5-a544-5c0457516f4c" + }, + "attachedElementGuid" : { + "value" : "4bc6933c-22a2-4ffd-85ea-b3a9deefef0e" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "5e1f8cd6-8464-45b5-a544-5c0457516f4c" + } + },{ + "__type" : "Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap.DTMTrail_BM,Assembly-CSharp", + "visibleTimeLength" : { + "animatedFloatList" : [ + { + "startValue" : 1, + "endValue" : 1, + "startTime" : 0, + "endTime" : 1, + "animationCurveType" : 0 + } + ] + }, + "enableTimes" : { + "animatedBoolList" : [ + { + "value" : false, + "time" : 0 + },{ + "value" : true, + "time" : 5 + } + ] + }, + "enableProcessTime" : 1, + "headSize" : 1, + "headRotateSpeed" : { + "animatedFloatList" : [ + + ] + }, + "isStatic" : false, + "themeBundleName" : "departure_to_multiverse", + "objectName" : "DTM_Trail", + "elementName" : "New Environment Object", + "tags" : [ + + ], + "elementGuid" : { + "value" : "e7f3c3e3-5767-48a9-adaf-4de5e704c6c9" + }, + "attachedElementGuid" : { + "value" : "5e1f8cd6-8464-45b5-a544-5c0457516f4c" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "e7f3c3e3-5767-48a9-adaf-4de5e704c6c9" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -32767, + "endTime" : 32767, + "attachedElementGuid" : { + "value" : "e7f3c3e3-5767-48a9-adaf-4de5e704c6c9" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : true, + "originalEmissionColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "originalEmissionIntensity" : 1, + "attachedElementGuid" : { + "value" : "e7f3c3e3-5767-48a9-adaf-4de5e704c6c9" + } } ], "attachedElementGuid" : { diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/DTM_Trail.prefab b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/DTM_Trail.prefab index ee2f832b..874a9914 100644 --- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/DTM_Trail.prefab +++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/DTM_Trail.prefab @@ -4891,6 +4891,8 @@ MonoBehaviour: enableTimes: value: 0 animations: [] + enableProcessTime: 0.5 + headSize: 1 headRotateSpeed: value: 0 currentAnimationIndex: 0 diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DTMTrail.cs b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DTMTrail.cs index a964796d..3a729a7d 100644 --- a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DTMTrail.cs +++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DTMTrail.cs @@ -15,12 +15,13 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse { public GameObject headPoint, headCircle; public GameObject trailBody; + public bool isHeadEnabled; public List renderers; public ParticleSystem headCircleParticle; public TrailRenderer trailRenderer { get; set; } - public bool isHeadEnabled; + public FlexibleFloat visibleTimeLength; public FlexibleBool enableTimes; public float enableProcessTime = 0.5f; public float headSize = 1f; @@ -29,30 +30,55 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse public override bool haveEmission => true; - public new static DTMTrail GenerateElement(string elementName, Guid id, List tags, + public static DTMTrail GenerateElement(string elementName, Guid id, List tags, bool isFirstGenerated, string themeBundleName, string objectName, GameElement parentElement, - bool isStatic, FlexibleBool enableTimes, FlexibleFloat headRotateSpeed, float enableProcessTime, + bool isStatic, FlexibleFloat visibleTimeLength, FlexibleBool enableTimes, FlexibleFloat headRotateSpeed, float enableProcessTime, float headSize) { + visibleTimeLength ??= new FlexibleFloat(new List() { new AnimatedFloat(0, 1, 1, 1, AnimationCurveType.Linear) }); + DTMTrail dtmTrail = EnvironmentObject.GenerateElement(elementName, id, tags, isFirstGenerated, themeBundleName, objectName, parentElement, isStatic).GetComponent(); dtmTrail.trailRenderer = dtmTrail.trailBody.GetComponent(); dtmTrail.isHeadEnabled = false; + dtmTrail.visibleTimeLength = visibleTimeLength; dtmTrail.enableTimes = enableTimes; dtmTrail.headRotateSpeed = headRotateSpeed; dtmTrail.enableProcessTime = enableProcessTime; dtmTrail.headSize = headSize; - dtmTrail.SetUpTweeners(); - var rotationBySpeedModule = dtmTrail.headCircleParticle.rotationBySpeed; - rotationBySpeedModule.z = 0; + dtmTrail.SetUpTweeners(); return dtmTrail; } - + + public override void SetDefaultSubmodules() + { + base.SetDefaultSubmodules(); + colorSubmodule.emissionEnabled = true; + colorSubmodule.originalEmissionColor = Color.white; + colorSubmodule.originalEmissionIntensity = 1; + } + + public override void FirstSetUpObject(bool isFirstGenerated) + { + if (isFirstGenerated) + { + enableTimes = new FlexibleBool(); + enableTimes.Add(new AnimatedBool(0f, false)); + enableTimes.Add(new AnimatedBool(1f, true)); + } + + var rotationBySpeedModule = headCircleParticle.rotationBySpeed; + rotationBySpeedModule.z = 0; + headPoint.transform.localScale = Vector3.zero; + headCircle.transform.localScale = Vector3.zero; + } + public override void Refresh() { base.Refresh(); + renderers.ForEach(rend => { if (colorSubmodule.emissionEnabled) @@ -84,6 +110,12 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse isHeadEnabled = false; } + visibleTimeLength.UpdateFlexibleFloat(songTime); + if (visibleTimeLength.animations.Count > 0) + { + trailRenderer.time = visibleTimeLength.value; + } + if (isHeadEnabled && headRotateSpeed.animations.Count > 0) { headRotateSpeed.UpdateFlexibleFloat(songTime); @@ -123,9 +155,14 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse public void SetUpTweeners() { + enableHeadSequence?.Kill(true); + disableHeadSequence?.Kill(true); + headBounceSequence?.Kill(true); + enableHeadSequence = DOTween.Sequence(); enableHeadSequence.Append(headPoint.transform.DOScale(headSize, enableProcessTime).SetEase(Ease.OutQuad)); enableHeadSequence.Join(headCircle.transform.DOScale(headSize, enableProcessTime).SetEase(Ease.OutQuad)); + enableHeadSequence.OnComplete(()=>Debug.Log("Enable Head")); enableHeadSequence.SetAutoKill(false); disableHeadSequence = DOTween.Sequence(); @@ -152,7 +189,7 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse public override void SaveBM() { matchedBM = new DTMTrail_BM(elementName, elementGuid, tags, parentElement.matchedBM as GameElement_BM, - themeBundleName, objectName, isStatic, enableTimes, headRotateSpeed, enableProcessTime, headSize); + themeBundleName, objectName, isStatic, visibleTimeLength, enableTimes, headRotateSpeed, enableProcessTime, headSize); } public override void SetUpInspector() @@ -163,6 +200,13 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse var container = inspector.GenerateContainer("DTMTrail"); var subcontainer = container.GenerateSubcontainer(3); + var visibleTimeLengthButton = inspector.GenerateButton(this, subcontainer, "Visible Time Length", () => + { + var ew = inspector.GenerateCompositeParameterWindow( + this, "Visible Time Length", nameof(visibleTimeLength)); + ew.SetAsFlexibleFloat(); + }); + var enableTimeListButton = inspector.GenerateButton(this, subcontainer, "Enable Head Time List", () => { var ew = inspector.GenerateCompositeParameterWindow( @@ -176,9 +220,14 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse this, "Head Rotate Speed", nameof(headRotateSpeed)); ew.SetAsFlexibleFloat(); }); + + var enableProcessTimeInputField = + inspector.GenerateInputField(this, subcontainer, "Enable Process Time", nameof(enableProcessTime)) + .AddListenerFunction(SetUpTweeners); - var enableProcessTimeInputField = inspector.GenerateInputField(this, subcontainer, "Enable Process Time", nameof(enableProcessTime)); - var headSizeInputField = inspector.GenerateInputField(this, subcontainer, "Head Size", nameof(headSize)); + var headSizeInputField = + inspector.GenerateInputField(this, subcontainer, "Head Size", nameof(headSize)) + .AddListenerFunction(SetUpTweeners); } } @@ -187,6 +236,7 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse { public partial class DTMTrail_BM : EnvironmentObject_BM { + public FlexibleFloat_BM visibleTimeLength; public FlexibleBool_BM enableTimes; public float enableProcessTime = 0.5f; public float headSize = 1f; @@ -199,10 +249,11 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse } public DTMTrail_BM(string elementName, Guid elementGuid, List tags, GameElement_BM parentElement, - string themeBundleName, string objectName, bool isStatic, FlexibleBool enableTimes, FlexibleFloat headRotateSpeed, - float enableProcessTime, float headSize): + string themeBundleName, string objectName, bool isStatic, FlexibleFloat visibleTimeLength, + FlexibleBool enableTimes, FlexibleFloat headRotateSpeed, float enableProcessTime, float headSize): base(elementName, elementGuid, tags, parentElement, themeBundleName, objectName, isStatic) { + this.visibleTimeLength = visibleTimeLength.ConvertToBM(); this.enableTimes = enableTimes.ConvertToBM(); this.headRotateSpeed = headRotateSpeed.ConvertToBM(); this.enableProcessTime = enableProcessTime; @@ -212,14 +263,14 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse public override void ExecuteBM() { matchedElement = DTMTrail.GenerateElement(elementName, elementGuid, tags, false, - themeBundleName, objectName, GetElement(attachedElementGuid), isStatic, + themeBundleName, objectName, GetElement(attachedElementGuid), isStatic, visibleTimeLength?.ConvertToGameType(), enableTimes.ConvertToGameType(), headRotateSpeed?.ConvertToGameType(), enableProcessTime, headSize); } public override GameElement DuplicateBM(GameElement parent) { return DTMTrail.GenerateElement(elementName, Guid.NewGuid(), tags, false, - themeBundleName, objectName, parent, isStatic, enableTimes.ConvertToGameType(), + themeBundleName, objectName, parent, isStatic, visibleTimeLength?.ConvertToGameType(), enableTimes.ConvertToGameType(), headRotateSpeed?.ConvertToGameType(), enableProcessTime, headSize); } } diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/NoteVisual/DTMNoteVisual.cs b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/NoteVisual/DTMNoteVisual.cs index 7b424a82..408c070b 100644 --- a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/NoteVisual/DTMNoteVisual.cs +++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/NoteVisual/DTMNoteVisual.cs @@ -41,8 +41,6 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse public partial class DTMNoteVisual { - - public override void SaveBM() { matchedBM = new Beatmap.DTMNoteVisual_BM(elementName, elementGuid, tags,