diff --git a/Assets/Plugins/Easy Save 3/Resources/ES3/ES3GlobalReferences.asset b/Assets/Plugins/Easy Save 3/Resources/ES3/ES3GlobalReferences.asset
index 3274c193..50b8254b 100644
--- a/Assets/Plugins/Easy Save 3/Resources/ES3/ES3GlobalReferences.asset
+++ b/Assets/Plugins/Easy Save 3/Resources/ES3/ES3GlobalReferences.asset
@@ -1605,4 +1605,15 @@ MonoBehaviour:
- {fileID: 8279910253617674445, guid: 43149b488eb37d14185b05d5d2ee0a9a, type: 3}
- {fileID: 11500000, guid: 8aff442fe127d534ba6f0236328cff84, type: 3}
- {fileID: 67623903627768998, guid: 43149b488eb37d14185b05d5d2ee0a9a, type: 3}
- _Values: 526a8851fe85233e7cc810cd2b8a733faa68e71a62b99912cf2f06228873853005edfb00aa354575a31cc8ad1ac7b966f52afefc8351b636e2b71574be99675b6400dfc3607f0069e96d5112b3681f5fcf550a7f3749f10c2c006f2e23d1db370e64801184e106752a681216ffa3837998b5a5688fe7245230fcd93d5728ea479cf46b8ba7516b16ed2e96b5bbb6e20e0c6272c125d7806f67cd366983232521642549cf9088373b29cf12c86a843666a9d2726c53c784328db49f8d499d2140c6bf413c35ce7d12821326d7a7c36313210e18f42f147d60db1f64f3ada3bb2d6666d31a094491222bbde8f495825a4e2f05ece33b3881253ca117543370bf2531ac8ebf10b7f565a03ac9712b88ca58c516c5a7b6d8f161d84e972e95f1f208f318fcbd24a42f1a1594d13a0cca1e4d0b9a28c0e4238a4cd5432183fe0a3d37c5600352a5affe32a0f1cca64d60c95d6de43a2f1ab3ec2f8dafe7e182ac1c0b579975acc6cca75b9cf61ff356e4ff757ac4f0e2446c5178b3cc3b0938e3500b2c3eb04c15e369388d95cb10d3df8656069a951142fc403ed6b4a90102e5146519f66f6d35134e18b132d9ec6c3ec954f282992fe09c9f2a9752fc7c47b5d52b06e06eab61a6d10e4d7cc274d62caa67eb540f7f4be5844b6a66281ce82d2f664f7483a3a0ebff69576b98633aaa8921a5ddbe04814bd97aac297cdb1235373261c4cec06828ec556592c57c95cb2c5c853ad052230733029b09f8776f245772a3ca0276dcc8b833ca146a1411560f76a926a9289a1bf169092fa58ddf9c3a7517c82635364a7f4df403890f9d1ef144fb812196cd7f0c77286780f491baec2cdaf4fd482fda400ba6f61b9da4000716c29e6ca1845b5768bcaf0ecfc98bbb39185d35a921a8142041153dc39aaa1c286f97b630278db035fff6d32e0ef214326ce60b1f02d1fa3100beb18fe2b7e76ee911c7c76ae00c14c122f29acc03601a51f08a4016e1082f6d7eea356c2d4766a7c4e03aa5e33455a9d65f214d9d8402a2681f2dbdd87b070a985bebf6d6a81097a7bf6f1b653f6d44ca68c07e191e3105186bfcf1e65731b726cef277b7a02e2f4f8ba6de14e73c29b17188403b8622b78df10f42a4017cfff026423332e5732a39eecea4c4101a0158da5ca71f8e0cacf1a805a8b07076b2f15811115bf709cdfeb27a2a54c77a62f3f016365a2b209de610da2415e4793787e44c9401f65bb01b6f5693eb1d01b923a2b5bf5a3f57c537732b4a1ce41e1dd3bc5c8f84196316b39ae5142b724ec80f2101722eba6ec83b11cc7422a66c365139bf2fc07134f6c0358c0bda930f573d9dc4051c541157fd8ac87b1d9952a64ba6e19ca69e2499417fddbe2caa24c1a561f21387762d2def8c67a4f06e2bc76e0cb0d75f9409b22d34593aa82d7ba7ae89207f8b652d5f423bce6076d56121e00caac4b88c2c7dcb083a94c883285aa4d5c6ce0a8162bfdd6753d123843ddced44e075745b023dbb7e5b896e8269c01328054c9b302a1ab4da484855f13539de7736f3892f04d9f6479188c48f2cd00d4fa9d9c99a7201753abb270b443240a506dad2e62f21bcf924dbc733497deec366e53a852b5d6e466fed752cfb7898b19bdc423679483d7065d2ed753932d34255148ed5933b2f9bb6e6a9e268170b63bcea6793c524c3515736dfa68f07f4c3e5cd2819166dba29f321139f0d5a074dc689b94fcb3f83cf281fd236e5292abdda6dc835402586d5d0c1605cee625fb13d2d6d18c0428f254a59f1f69a0ef2e209aa3a5f6e2ef35ef170e07360261e3a3ede074843437e1dfbee809a1671c43e2f82acbcd800430f3a0f274f621bc623782b35791639d9b3d6a7a4a251738a9dcae15d1d2c629ec1dee87cac94318016b3a41242a73e5469a8f9e5305b1a9e52653be5bb871d51da8e739a2dbc794808278eefad6148f68c8cf374337c311ef987ce12cf173b716a0b132fe4277edbdd4e22f732d40ef01d45592e93a97ca93fa95e5a129817e09c00a6478b8824b30bce51819f29142579bf2f14716a04ec784291717a27138999bca5ced2397ca56aa623c557fa0aea6b7c2b2d37d36ecd046c4031e66938e3bac7e8e2834609b33cd57e178eca6b83c7852308adbe3e94d428359a07b5400093c0f470edd76c4e79870e9eaba95c32283d069372be6e79067bb6ab7ca454796a807a3129056bd4516d76698e182e2bcd6bccd4d0d55bd256e985ffc3c546e2bb353081161d28e9f2b17c68842a61ffbca8999ef095525156bae067ce736817b45824c349af41156b1c1de1a70c577fb57abce4d3570d25e2df2a5b3cc1489ae5994cd4f9624895167ccd2c878e56b79ca0e2b6cfb2425d4b4aa628d99c27562c7d03f23f7d7819c328ce578ae1527135e0f7dda3ff6a97dca81f440971457a5478000a8b6376e1d8360c581b142d9608e7a1456bfa07b651858937153a686575e98014203e3e284564acf772d0414ace1d3510e7224a5ade01287e0be64f896976eb354cd453dd6c74b85fa2e828b9d4c8b9fdf7d24683ea1f5d51667f1d5e15238dfce40c6aa371127c5bdaaa470b279155bdd3ad6d9730674a2c76017713a8a6b681a4d32ac75e5c6e094fa25e94676779f8d5da313d6e0934833ec218748a6ab334f3c665ab98e2e4d0e388478e09b6c50e887e177c2785ed64615806e08b1e6b46aa6d77d33232a00d0a9e1f09ae3d730b78d804f67dd0a3864c364a40dbc45b01f48e388ad267be45e0da793a5a1c4adc1a0557652262c47b11fe1e96831e163005de15e0fb03221f68b5285849dde06880275b1fe340dba9ac4b77d44955c8fff1aa3ec7ce951ee81cc70492c6e23b11207815a53ccaebba464132d331f694d66968042f655630447ceb4524f930ad89858d64d39f505d3e46807a1100bbe767782751b8dbae93ee5fc7226db8ffaccc4a5544bcb047a020454d5b3229c26b55bebe32232d20cceb1df107ea74ef6b3011a50761a6801b71d94a7d2c046a22d1333431a134bf8204e4ed2af4022af362109e2f2bef44313d81ec1a66a47b3c19c878470a55a2690825a356561e72b38fd7ae01ae4a6e96bb747f192505286ef155af188deaeb8cd4eec2232870ac4269fb76048416d70ae562427dd5bc4403fc346500705927a4eb212c63f36e41d3df3e7d298f24eada7da53229579148e75640d90c0cacd20fd3d11862168be888de916169c0e48b27b6757d3627fefc7d6914ba33b8b137cc9492aa430c88f1098dba073930de2672b5b1567fd6f7162a2a64072a451ccf2c5994d52e5bbfe973432468198e568f78da72731274c4468ee18fc367d4dc573e3c894702f74d106b78d3cd639abd3cfef63523231af4bf491b069c3f6fa51cfe8a26f82a3862d4b8df032e395b7650edaecae8507bfae382678d6e456f60c0820b69a968c953246344f2490055701c155611592b394b9a3c1ee2f55a1bf1f247ccd2d2694ad889b2a6521d6ef8a3102955feb74a8770a5d5a1229266ec4babb2d341af68b75b7f20341902746809447bd2cc041cc65840a4d302386b6bef9ff2fdcf41490c571f4e8127805e731a6c98de179420d656ef8a3a32d12f111d50acd2e01727d13d91114c1fc636929d3615656a0a7bbc9bffa1e8fa965da8113e79c5a1a532ea7e69180454e3301d79c190e8d37329dca220b7df4ecc352b1196c41eb28f0f07fbff1c2bdc8067b8cfbd62bc27462b9e145567c25c1264b234edf3be1e113122b8fe0f916a78044273957140d5010ea7ddc4fa9baa221fb56a55f91470e032c3ed7b7ac540e3304aa888e7b67a23199892ea67d8a8886e3c1377a78f0b3b603c0fdb93fa5c2e4a7d24561caa96003a473b91a75a470a6a98d8a779cf888976dfb7c7ef7a257b79309bde95c7ed4c3e31f237a3cd6f326f0a0bcfdefe65af544078f6f57d7bd96bb14684e8d850aa19c651a98b6a058644e66f933b98d3f00b2986bcc9080f6c13622ba77a1bc4cc0bcdd33418335b655093c331b81c194e667a0d386610db497d85bc8c077879970f0f788481ef1da14bf438ddcf86935441de988d54da39ba18e886f1c49546fc655bb9abaac6878c5c94128d280185080d674ae51107ece948329c69750e65e03bf4c85e45f9d5f44230b5c90e524e0b3bb3cbf2f392c067444ffa037bccaf833cc7382a1dcc2e985810164f89baa0c11e6db27652245a744ccf5d09012d86897f338cd68b7928087b339ae27b70de891043de1680da2a9e6dc2da8aeb7d87841910cf4ee764334c589bab7b57cc374f33e8b0b4bff010953f3aa8bd48d085bc6c8f107a773d9bd8085ae78680199d8806d542fb322c3bd701c5f052438afb772099171a234e388e4c2754e52869eaa729cf3be1ed7e1066351884c3d112e46d5e6f651930b7ab540e30b7f427a95067244828744e1a89a15782afc42d049fa043e686b803d1777123e6d31c36058ddf691518771690e1bb19c4c1ae08e7270a3159380d2f096af52e49ae98b99394ae0b30a5bee3e9482c38bf2dc0f03696c440c8eb8e3d9b0f7256ddb7321eb7fe79589046c8721a11e50ff42a8e2455fb084deb57827e23eba63fe7ea3e5f84b41043a71961f0ce5126253061b78e7fb1fe1dafe4090f80f77b5b5f77a5faafbb6b40194bcb6f5cf81c67325c4fc13417bf66e95cafa0ab01c2616a42b0ba08de2b15cef7a8ca7d6d7a48c7a140dd473d9076360c11520bcb94177895fbe6b89da010779b0bc3910b1657d6f8d809c1e51a2db23983fccdd809677340ac188e6c6f65425065ac31cde52b0b4684ec0d74a95cb12999f1219ddd6091a34f505efdc96a778c388f7f92041aada8f9eca2098a1717f73748fa9f7920d239e571826b330710ef76803c19dc1d267e4578a3f1bd652d666756341165281418be46ac9298418b0e234c6df62403e5e6dd84a5ff83207c7f9fe8d2893c21ab6192dca5698e6d19fcfb4debf52d37bf9b8fb2cb1f7d12632035d30c5091144a44a00b64485e7ca8909556fccaca71aed62a36f98955353140f88e2c72327c9afae1cbeb46af062f3ee5210169112a5ced08811d51173c1498e218ad380442564a0d94d4a7b01976a0d20c469d880ac65d0dea36916d6cd4439108b966e8286445e5c71c857105ab9d738398585c3b235fc67b358fcb4e3e5b38030c80505f8c1b790f545aaf2aded7ea8238e50f2c6133d4e7d39ca10cefcc763eb292062b112c088221b218375064a6f285b279584b0b643f553733108693df771b8e887022ea8ff32272f413070803712d5ee33e24caeb90be938541ff778b61706a531b2580bce919456724969712e6917d19124948bd6ed2e296715c1f97ad1bcd5769330f2656a56bd27e5e798a6a7fcbc427626e326103d6f779089f8329ad839369736893d3d7b9a515c1c36dc4f81cd00dac6395520e1a3741c3fe060f90aeac4987b19c151667416f40f7684def3ef65fc13512f827c6c3729fd495d6c0b4a5709048b555461adb4423269305828430000b9ab1a5634bdd40ef2ab5ebfc172f7451f7dc38f44ca559a53229fecc4110240ca800cede208b3074f4ce53ff24fd0595c81e74014cd75e59579ae6381f0b32b56455eba24a932d91e4d3616cc5e57e068a30d4ca1f8f4dd6899052f7f44a01adb6a64188ce3e684fecc49a919d5d1f913a3f667a40ea6299d2f8f8b46bb74c636f7e7e392f295b8a12b2f554ce9500eaa57737e24bd950156c11dd818e75022a8e9ab75fa21a594f2e8a3b57e369743587910b5c8b361888b5ccc634dda04674e22ba04c32db0587acd350e64fa6454d80847622460d718e44af390f09c167649684afb7e531381087a00e5ac9367d20fc133249add740a062c3a29f6c351c651b747a894e2067f1cde6ed0971e14a41bbf0aade71675dae7b56c1aa440b2e024144bbc135ba3fb4c3492055d86e526ebdcff41324d423a86547c714c35042a23df12748362346bbd7c659ed7b8a0360e41da91826af4f35de0077eeab2966d89a0daa850e790cae6031888835886e5e29b6c7b7f308009da3c217da7df95673ba9d5fee78c30ee65f0ee602b9d47fb09db1bce5ee0a00123a1ea71ade021dd042c7772fb63c7ab09d30cddad64d6efa88a9abd063e55014502f07a1d6253da6fa99d2b4b6af48eebab31fb028e06c822ffba2e9a7ff45b6e493aae93bbb6f9af1e14ba87bef34fcf2e794bffc0d745c69ab821abdbe49752385bf4695c3063fc69ddc8e930546d71f0753e63e8923ce681e206d4ef360a8110ae281cdba383d5decb893f8ef4b47017b606217370815c42d58377d100bcc33c15c77f25205e4babd3577630b3ed440168219f64f42c9a61eba5969004fb9ee2c789492242a1c80b06ff717be50646f6dc5641d077c6b5456923870ea2450ae18c8858c6c08b028f297d8dcc13793a408bfc606a2618009ba1fd68ee62a599175b6053ff61dbd380e95ad88c353e90b1981dd745c46fd649e9ba661cb2c3aa6c78588bcf956d6d27a6970de5f345dcab9b453163936788019aad29804233d2d5cdc06bd407044620013b013f659b495675b43d2402af8c75519d8cf4c115bb9b078eba1e25d0388c73f926d054a6c9e8c6e7f3b03478abd53ea3f23a95b209c5d9296adc737f70d848c97dd1009046820267c915b6bbb8c6a783139812631a21057bc30274e8c5e5a747ee13f6c86ddfcd1f6e82b4b6bd2468e28296901adbe560ac6716d0a5d4876ea0471c4019e5abf58082c97032fa9050c49353a01f6a1c74f47aefd354919b3373616445ccdab782e4a6a120a78d513294d19791340174152c0174e5e4c345e794d13ed33566936366fb9b255767c9f03f14739566925554f5f218e6271da857b3c542541e747b7479dacc820cceff4fd96cccc1d5543f00a5e6f4c0d57638c02646c1535a3e0eb38ff80f3425c351b4e158bf83da6a3cf7f452f9f566d3b10c6df394437fbd5a54a1f6ce22c51ae66938a9b22336b4e5bc19c95f02e8142ccc4702c636a7a525340e6ae1e3ac0a2d0f39533e02ee723ced16bf92b661b89349ec75962234bfc0edcee621943302100f9c5fc984b23faab93fa35d57f26ed5a6fe3bc011a05f43e9241bd1c4ac4ee5eb606ce5e1622807bccadcf2815d871fc234276d97320e6f4d1be06091f18f6d00cd61e780bb48e6e9cc732372be4ac462f3f07f739c8d2d6ecc230d4278a9bb5b7fe1c3e08e907d7d0e5753b52e3df4b95b3c7a1100169bbfcb774b77c46b8edd3837fd3396e3e1946dec81e3df1d7f51d1bc08b3dceaaec1a66c03614a16a1771cff409698427fa5248fdda77454a0a5cd01af12c13cfd85bb1677d2f550510a9164da141a98a7574396c8e2e308aa04e356c1a43a5bc7c61339be514a429a74d0d848d0856374bba5b830d5abf55d4d839d10618ebcc055ad1400e0d5a9ee69cec23c44b19a9a46cb8d49f27cad6208970be4d2cdd71c72675172669bba7a043638e92636f760e1d8a8d2e16d2216f05e07a631815ed87a215153e00843bb211345bc43b45bd1bf9af30a24f43b0f897872b49350bb82f7606ef4e58c8f266b125e31d2ee5aa499d965dc71b4b385f641da77957f27d077b2c4e34546fc2c1a196537425ce277d3175e7cb677fb5d4317015c46f6cbda2a2ea985b33df9e0c581f69b208c53a96f52a47e2094e60051edd993b7b88310d54f61610667d4feeec0bdb7915fe330a555345654ca0ac538a933d56456390e0507706ff52d6d08c86c931ea721a10e4ef5c6f3042333e0b5c956505400857778404d76103cca3d4dc2d14ea6e3f1e5c5bdeba5d2de66211e085c9c552961aacfcfe5ee93292fde55d0708af69d224e50c4b614d14e4e6e6a61d506675d74849db0d1bb0646112b9f17f5bdc224d574d55512d62347f8214402bb6de6227903a0b07b9a46e10669c6161acd20a2d9cc6dba4801f0b5941de172b9aa27fcab738c0cd60f93646942401c87bf669f9f9983d7592ac258f1fcf312c96a754f7e3d5e71b6c287295fd2138a421d4224b751f3101650a36f5edcd526e38f5501230f51b5af0b2732ed92c8d4c1a35500b0e1948898aad6e266123f6c6851e5df92fda8bd446373b28935fdb929783254982b99fe15338777d780b0732445257bbcf867cf4c12452bbab8fe31576ff41e5483f493ebd3e5a089df1a4c4cff71c420897611eff1a09a80ce436c45561057ac9ec7b839b9602902b7357cf808e75a3aca10ddf9e231b6248f14ba2751e5efef61d8dbc72a05a7394f1497371d92865a56ce84cabda24592e2133731e5a1bf4eba7279dff46154dfc9b4bacdaa82b2119e5fd083612531cf9338d516ce76f11f3aa78354d7464ec8134484625d1342ab2eda6c7a2ed2a0205bc69cd2b9946e40a5c9f8420612c5c7eef79fe36f309d80049fca572c94c202b8acf6ef4683f1811d3ae7d8e4709ae3eb4b74c8bd338073abe328b6a1371411080599591bd6717af61ec62458c4946bf551bd87e6754013c36cbcac94b53019e9293f1128c40fc1ccefbedbf9b3e518a86b440d0b540872aa52d3776ce1f044a11fe28e0c53433141fbcb06b6741a0f77a3f4296123117aef33893a0f7794daef7a2ad9d1671c552812bb0f88f1bc3648c3ffc8fdc6dc81fea292c02382b0b996f0274c493031ff7850fea187e0e3e0ffbf72d3676412f76953278c061377652e0e877725801d0895df314ec58505f2414e3f9bf0142f14ecf14a63a845d6ab26567c7696835b7fac8b69469561ad0e5919cd5453034abdd07d65cbba50bf344769d790f760abbdf99f387b8d779f8b445c0a8e788501d6543169d6d2772602c3baf0c465e3f708657b4df24bc0cfa7132efff9a4c0a44da7fec349f9329faf36ca583d8933ded7baede6f2b8e07aa361c2c3b37730588b994cd388df50e1b80bbebb8178921210b2385b7d585184b77966bbbbf643e7f99e236bc3afa7b70bdf8f0e77abf6daefa4d475bf8bc5cc052e74fdb9e3526e6f96b51f9c0de18ef57eb06236bce2fb72918b60dac9978aac18a96ac54602e88d2d6e0e5116613e3cba7fcf249c62c211697b2867e186d6d1c58c8c9b89365f7bc8ff542af1559c205d242059c850c7849473c13ec4b0ab96973c9b89e492bc9be0c502644912ed50e107f5429972f974c4f807057511cf7665054dc21ed244458f43c562acd432589eedd0335a11c005dcd93b1364420f0d7b8726a19f40afd343bfb345bd93e1993a5f9462f1f2cf892acc6107f290c14d42c2de240ae3e82071f310659175b848eac45dc3e663f497495023a45e57df4d1189fd154a359be1c88c0f011da5156f8bc7e2d1bcf2a6fede56eaaab0338ec9c3c3541788a27330587bfb5a54e379b4458320263aa26fe12f241c6eefc121a50ad8c4d0f92226d95b032a38ee03761522c99ad2eca4fb99ccdac95341244f68b599a073d16754dc95f68eb223673f329a2181a95bf471bfcd4b042e58c5ea7f53c18344530233cb64ce4ce616325d440b96c91f92a734aa1b50412c6b733ab413e091ae1c0385ac654d1e2a4167c61f9dd012b20cc5e1fafcd938f2c1075ff188f10a06d3f0e818112cba5599111b832640ca4b85f758a1fd63650ac377929362f05ccd8e232c6137f55f2ff46791186b6301b3c5f2a26212624c5156a3f0cf90cb59ea3515c7dd63cc2ce7f8e2b0eb6510ee4edb411c4853aefae55483ce9c5d5db45dc254cd812b445ff9d5c59af51150ec45b5b1e45fbf1186961ad2ee186536baa968f329005e6f6a1f911611f6cbfa3c0c6877196486ab615f31d393f1dd9790f38fc18c2e37ebf75647c4b1670c92adeae1158f23afe0cffb9b87bdedf487ce068ad5697279a5bbbb81805c6b6a1a429f25a112f316a493608187c9cf99c55adf82c533d8d3df9b793ec55acfcb8b6e7ecad148636ab12d2f78d710f1dbfc11cc35741e3f4e2b62f53c863bbeb62c6af9e6b4f4c87dae4a43e2534e65115662cd5c6165b886623319bbb316e4757e694c7c15277f08a6b178d6220e5e82e22c29dc81b264c6b2637471e18bdf3ad1469f3371e6f3c0fc4b5a500322746091acaddf30b1073c1485b9a1a2ed371af23df4eb626204db2858e036635b362ff0ec1fbb121005efb09cd113d09563e97265423112790e33a17907999122609044166d60f31dc2edcc2b63f0c0ef057d0b093c01f7051d79ea536c8b279f80ee2c40cfba37f2f654a26474f7030f0492739a9e97f182974f08e3869fb137c62c9a85d48021405af1f06f5ba47019a916a800f14dd1e73046568f4ebb93a96c9561a7a382d38b4c3c1a6f67af26fd311d8352b84dc6fc117e49d5295f70f97a56340ef9d84619bcdcb2d2a7bea13f7d495e313830e111218a59dac701949452fc26322cda1358d77d0f95009993c03f7a67eff14fc1368adacf7bcddf22a4d7d8ea6c2b2ca29cd9fa9644cea3f1c4f1e5f5ce867b63033aecbcf7998f26a6afaadd27bf27a50d382b460429fa07e6e8f45db3d4e121b38a28cec19044f656eec31b868ee675b5bf0d094e3e98c2db0b6c2f7213258470ec80a1e7f666a31334ece2fd158e65cf7a07f4c7d7d384f155e3b634258445f4679ab9fe349dc3d5b0261941b5d5c58cf650080b20cc975025933dea2cd74250a6e744a0385404084420f84e45bcc48fe1c6c23a73b5352bddf6176ea026528768789ace911544a25bf03f51b4e595a72141f799eaf8246c1c68d2323ca557aa937fb6be579310e8e49b798c0b6926e7af8fc291c1475380543eb228330265b977761acb63bbf14452deb55f7e9850a341e9d1cc67f976c3d3d8fd69bab6d5ddea3d0c8e7c1da3ec61890b5ff35cf1b431f119b6cf56b1510ceeaf3ca95b0664072cd6445b20d0af9db55aeeee26c086d7318bbbd08ca18c74447e729198c5cc8f6f57203346170edf96bb7b4e6fb0e3cf2613eae6c23483de62c8af9f533204ff8e5f7edfa0538ee57323c62ed9c1e4938221b7aca0b34e7c151169f13961d2f813f059e6b342fa0d5159fc30d391566ff5f447dea9c7ac83ccfc8ec611221bb04331c4b96497043b23255c4a67f191dba3c629b6b423ec3f4f31141e07f0da9f7328743d69d2c3956c790313e0a38958e062baf626036ba26ad32bd84a705d36690bb1af263056cfe9b761e374d529e25520342f46a2f1527de36e78b234aafc16398cfc6525d2b01c0b0c7e9180e74ffd0e3d6ab4821039f580decd2e120dc5026e09ae6216379afd94034ba682bf0305519a4f9de04b01b92c5bd221b03f565081080c4f9175490be2b82298645f00e6b57100340420e58a2c078558b466cb5ca52b624f11405f7a5393b49e0290d51b201f435834593f8bc5b2b6bfa7afc8f31a467ae29034596141dac03be1b1ab623948b61d64d3255a4874220037d0d0b4482494dcb703ba076e18e8e055d9980a331a55b1d573a2d4f01a7455e05b2a5867f1d54046a65c44a80257a583ea5fe123d822d284dededbc779dcd170bbd8f6bcceb7a8545c1c6f52624358c65b970aefb7201680586aa7039c85377484be253c5424b626f7c7d27a25cc7c274a29ea858678d9a45038a08ad7f6666008e21cb0a19cfb231d60e54113f577a42f7bcf901e4550d0d48e6a6d7e4914a3bacbf1d200a43f97d3d3446174d53316ffe6047bb4caac55d30247f7b811a5432463bee4d24865642954cb9617714d773586e53e110b0f500fabf512ec275ff577687a277bd806b7b4876af669bd82a1bb4f42c1092c9bc0930ee46e4d885040b4b10eaf0725fb5282631d578a0a3642d15928432b7103b3fbd54b930c5785c3c8f5be57411c55613ab5436c39e35a9738a18ce4500d2533a2c545338e719126173eef8047626c024e997dd0c47ffde79ac45bbde46a13d6150dfb6428de1d46e43d451b03ca4fc4e270ca4970ab80c2acd33735ea1cce52f4f68aba922fc4d073d91b1e4ae714a06b69348c5025aa908141e8aa5918a330eba81ffa550a57123a553a587f8d8833e838658f17ce0d30bbfa2bc4187f2994ea15dd5d28e5b495c046c1fafb5210f145d36ddf4cdbe6d26aef464f362b2ab4cba56e59b02b1b022d0b4f6e80082c0626d571cafea5b7f1d11517f7d40c24048e9930aa1c38bee537a443b7e4aa9d82acbfe79f46a039d152bfc54abcfd29d0c8c52ff9387e1611f69c835a52000d26686abb7c1c3ca4c13cedf8839c8bc7b59a82e0a9ca96bb21664a5a3ccc6bcc9292bed327a895fd03dfb143b57a6d7a925458efef2f635bd0da232db9692e62574574e9c4911091d48a2335d6bcfa490746271a6e2cf774503c8d3a5213cc08213f71ee693acde2f63c410a0ddc25f112302bbc4ad9035870489fbea6f362e06418f4b74fdfae40b7cbebc591fe7dd3969c28222f8852fa33e97e21da8c99f996a0a5f4e77eb142919f9061ec65d46537df480134ab71e796640225157631bc309671356f98c67215bf721b492e01e312d4e024384d7c63f515aa2a457ea00382343142e709c4d0973a148ad699519795e876ac9dac0ad3a3605a296ce63ceff409e14c14ecc7a9748985b7577f84cc064e8ff940f8935b92b29dc7e86e4da3531e07cba3b9865c35864a083f5b51dd95089f1d76834d62a2cceec77a9f81d2c726e5967846d7a344dc3ed732ab8aee146b6cffcf302cdfc4aa8e66dacee1a5f45b6299bf50a7c2e1b17483d96f7866e1366d4b4a635eb2d59316ea6cd13baf91bc2e1b9640ea5a6130d18aa16cc20d00d2b23d92af82c4d63ee0c822a7c22373f3481aafcad1e1452d8bc70f43b968f15c9ca6a657cde1c249a93fa1375fb6711ca21fec66dd38535a7db70716b3c20075fb4a55764835f562f1ae7acd6f5d80bbaca88c27ffec56f4306262178dc9972a0b54a05f0e4e04eee35b2553eb0c30868111123e4057c688f870fae8eeeb15087ac62212c429608e11f3cb8fb5417232ad79a54fc6a684992fcc7a31e740502a4620b5890a64543ce09224e316da555383b17cd6730c905dc85354cbaed9120a7b33453fabfba69778d3425444cbb78d2dec8dd4c140d0b5fad79abfb90fb7a74d48185dd90f8338530e31b0b5fb66db406b78784e26b0a9ae5d13baeee250c844ae35b96036a71a08d06728ec83649f99bed4f15d2e36d68771fc36134e16a0cd79f564312044f9b452711e9de982f5077bcedff2908562e51f31ee3a7102c908e9848d620fa19989eeb5bf9f55775210f8d15880b9435e1f584940523330b35fa815b464f58307da3849d156350245896c00ccada4b63de32d6335b71e0746cdf90f477b2bb7069be932b90324a44b957c2919cd9be0fba1bc787d973741183f909f4f4459b5b24b05bf4b8e02d54e992edb233721145625fc5a315cb680bb57e5076c3c1c774bb676cec7eca5665491c9f4686c1de090a4f919480f74559474f3e3a90b691555b616e9adefdc367085fec316aaf9277a4a6948bcfcd0b3b2112a42e8c1cd400520b13dbacbcd408ee0673dff4ec1167bdc6de364b1c25735632bbf1a2f2f313751420a06449355f85636236a5d4b80d240b71c53e9db536e59f31de78c5aa04eda09420348ffd0605c24e174611322aecc915ad63b95212cb5686047a14d84048a2b6fac067276bf29536ff133283082ea435be24a79859f2a7ea8b1601810f16f12f5ca4c7967b5d5643327dad00682c82292a21e6e35ff5a31397ae4d7e0ce9b9eafa9d1f520ac44ee38514352844a7825e93d857ee2f0dcf6601b4ffcd10d73649c4c305ca0cd1e09a2cfda1b53f86310fd31115cb6d3545123147afa93a802c5221149b7e5e49ae9c470ee5d2507c59781af15ede13fe4806f7e703ab20c89f522fb06cd415b3b18b6379845f4f73c2b6ed368e49204f3f24cb94867644fd84ef51c8fefe172e8e683fd37a997916487bdab2411557178c81106e5f552b3b4660fd74b117713f314058d9f6b32c91be04fbd763fe1f25545ba7282e5943798f07fdeed08e333d2b93a137c6c24d9fd8eca9bc4571412240939facb6b80d6620addb941af040d02fc6fc085fa95f910e074f42b0874202491f2f632edf788d7ac4e8e618477a19532672818bc63d69cbf2625097344a67952322c5df5b01f2c0767ddb6dba55ab7d976a28063c767d1d3868c382d80a467a8250f525b538129cb7d3ffca21605aada0e318c3c473677fc89f1496a07bc95f7102847b613880cc869fc554f57b5a21f74885d21f349ef2d76cedfef158c2cdf560a7e124214d68634b3d25ad437443f8358ee80009403da17752cd257ebfde62934955223a4619fc1c6ed4f63c60e40856f944352543e48d5ec21afa359acd84581be2876b4865176dc4cf857957c39fcb0af7421e8e7dda89469779448ef5d3174c1eba73a0ec4a79453ac06fef5d3562f701db50132d7d0feea646356cd3e4e2ec92b870d1232b799bc961065beb55aa1d3f5b6bf2a5255e2b0e3206b7a2a21ac263493b37e7d0ee86e42c050623d8f69ddf07542f4ff0466d5a4521cb6f1efaefb50e0d87e09cb019d65c685608158d8cfd3123a2af44b8156a7276a5e63df301fdbb7abf1d32b2090ac57fd6c8e863663b3136531255ff144f6a53c58fce6fca7e19538c3b7122ad2a231fe98bad405a84f614e9be9f084b3a9479a16b6129923d941fa554335438e44327f0361788a129f93f6646a776e2dd613ad1ebc4188b4cb12620cc9b0651a2dc31fe38077daee2e43464a0c24c961d3d7d4a917cb3e0d4635c7b0e972a710d110808907c2b0ffebc3df6e6af1de16fed2d639b074285f159578eba28bda822986ba96abb70518f6b79352bcb74a20bd94beb46b749d8a58c07ebd3bac9267ae62cb3bb8c884c83232cd172884e433106659374d2626a4f9303bb613d1980af006e69e3194a2ddb4b47ce555d9b4c4897024f8f66ffde47760513cd0aa46f1fe61b7463f8873648d50208bf98efeaffb24e15472d17ecda1c795d9f0fd34b40451678ff767e6840eb704a56a50c739925781084c4884c4f833f7a1eaf26d994676054b327876db0f42aa5439fbd80d613083c771d30fa319c3783b6044a90c49622be05b9bf719e0b5e6f651bf74f394050cf479dae4e68a52218f00a23b53fbb68253d0084e2ab68639340609fb36b78498b4be6289dba8f546197a88194e7a850e07b2eeec744927950febe7037ba2a7c695499695892cb1f174e80d06599ee46ba6d789c79ff8b1ac22518404e3ff84c4ff044e3d6f432656653afeb192fa633e1ff3b780237c928a9ccdfa9212de25160215c4379eea9426a87fd2847469c30795ddc6f1b380e6d37014b3b8ce9ac0cab077fb4ed3a4748029fec56d5f46659427235e4eec5d93f5bdb8f44da9abd41650e06e64b38e11b2f405ca575ba8609ab6d7be476279358d01675ecca6b9a428b83f2d1fddbcb132e66ee797362295f55869a6d1fd8cb73a25e1535c2f45066a81b55be0ff2e33313de4e9ba8bf8e27efc81fe4d600a45cf93f74f753c262181a66036bad620e37607c2ecc8e4e11455edbdc3d2510a2457bb4434fd1bf320ad00fd5b1e6b0ca169b76d03f10983a436a127eca9e6d12093b420f06e1419a5fb5db038086a0a05212c5d99ce0e15612f086e6be41676c62033412d7402f085a248f76ca6a4543094c2f46276b89d61c9822f5672858a11db99a83ad7236ed4031cc87ae95745756bc22f58f516c327aa30ac1e2c65fce7c319412d0c295967d1c86f69e01288723366054fa9dee3424cefd0b68740b796e9b03de2987271952b97372ca7694783593e5ac660ad3de429f11fd3b75d1f728009bfc01b6a1635d35fb82621fcded5c83bbf91793aa3465dd9babe68e67b91d2e9afe9ed1a2a311c09dc41012991a424cb4fa403694546f9dd3dd001bf86163b4a08fbacc8c2d1f18e858f6e52352427e96652592861867b970fe023b5c0a39c39e3a4dd72bf128e319284e3c5d89787f65814da1790a2e79d7ffa372d41c740d6e467ca15fe552a53d07acae66a317f97682d5dabc974a6cf33951d46b650d024ba3555bfae5207f2ea864715d7f2084e86217a90db051d6fce795983727105dea569c3db24401916256ac1433d836735ad6bdce7cb60b9a527f5f125087480697c05cb41c5d37d49b79b948fbc25d23b108f30de5df20de044dd24122aa16f08c58c4a390ef5f2d9a4a7d9611d65179e7ee151671a373d36249674d03845f2de7fcf721e5e73bfab5b34eae36c45b505595e4f7120861d0330fbeb978ee2f1fa9ab7d0dce725dcf2a0fcb24f222629ded17f76d9f671ade9bc755f4a5f472a4e26d58e142691fc8f3b22122d48522ee53a4587019624112c65ca895c75274e17d8ff9a085bb5a84f72e7aec45f709eb5a995efe64fd7580d4965860ed4b6f452740a5448c816869b62b861518aa57419941c5d10c8a457b0578741c13bb72be61cb3afbad3b76dd02f54838765f67d6c06605d0efbf396404d5c0ecf3b37c739ec9b34d705b102b485e2cfd2d820e65df9e5cadb6a153dffb280927857516b18629665253e646e489d0e6b214c83582c725cb910f2a28bfe26db7669bc750418b227ba8179e1107a8c0c87977fa0c3da1751055be573e50ad598f19d11f7eaedfd7c2c8bc216799c93a16b09e5037dd79f30710d8a5001e9f34aa8fd1d53577be88a6b1422b073d2355e106911112efe63abcb28f3e548332e567485d8571ae65ba3d601c0940ed95c89ebf4fc70bc509294ae6904926cb6700080dae1c5a586242d7d03b030c118557b8a822ec2d060f5dc0ccc4743d501ef637e2eeb165b222f721919fdb76fbe2a59418fd3111532d0e1d0cdc261dd77f87b144cb290137bc06852bca9c66cc183a16e01fdb4e5008e3b4e0945871b7ea06efd972453af359a2a30854191d378baf0c5df0c248a438613ce7752134eb87c2ea2f74c0592e00dc7882c7ba0412391593bc9a3057ad4f4ba01109527e51a2cc5a4770bf50868e281f0a22d15d389ae80411d52c260319527729f17345644ebb85649a4527e20e1f163f87006e20244398ddc9c17a76a65e60c2367a76fe927ba622a93d2d20ef19df0abd997c18e3974e350c222e1035fb0af8a5ea19899618ad0b5a4c376371b9cce2a1853340da79a6cec8ac0e6f4d96ecad32347afc00a98b5a138f41699f4f593a10ee4eba2e4ad31e91e75242263dbec35f896aa733d1e2f7fad82c4c373e2e7953d47f3ce5317ee8615b731804327eaeb1fa382ab9b2073f0c564afa89e1a930ea346a06427d21d2f57d0771ba0403d3a92502cd89fb405f32bf483c7c77714204a403c7627c0fd0e3f434c3548706eea5e25dafe477b9e674ca38fe3aa2b09211b66ceafe35cadacb2c4e82d083f45447a66966e5e0d983a1165299430d0b86a5c74d9d1bf0eddaac381d47d6c8e90e2a1c461ff4e9870e700f47181ccd6942df38230935926f37934411e202dea595ff9e3d9fac136d43c0c00e2b38d4bedeceda689ea4f244bc8b7d75502896eeb04a22197e90c996cbcae037095f659097fd0f13277507f10c5a8114d261e2e4d52ea21feb45c0b1fabb622bc4bb3b5c26eddd521882c73b43300c240fb5672dacc40d37fe7b8523423ef21dd8322d511e24ed404035fd58f5dd621a52e4c0af2290d800ae035aa2730094578c1b9deffc44fa1539d9931e3d9ad31fe6952ea281bd0568f6d15ce536b4323fca55cdd940731e0d155488b603463d482a8544212d0d2948038e0e80c2531b4f64179e9ee3493741f8a2c24abd1c654a31f08f3c83f6da281758cf8fed2222238bb032cc67e35145726af656944d9b2dfd2fb1fd619a666fe1064b897bb3c122c22fa170150e6d775d7eac62b5a3d81a3d6e3673fd5c442518a2ae6d2fdac040a8d418c3ef0c420b63d7a51fb837da7a21993a1616cae065
+ - {fileID: 2800000, guid: 188dfe7e559f13248ba2c41eb5a59328, type: 3}
+ - {fileID: 2800000, guid: ee148e281f3c41c5b4ff5f8a5afe5a6c, type: 3}
+ - {fileID: 2800000, guid: 2fd6421f253b4ef1a19526541f9ffc0c, type: 3}
+ - {fileID: 2800000, guid: 3ee40aa79cd242a5b53b0b0ca4f13f0f, type: 3}
+ - {fileID: 2800000, guid: f87b5805002ec9649bcb1b96d8a16ba9, type: 3}
+ - {fileID: 2800000, guid: b0f85f7da5042c0448a526d5ecacbfa9, type: 3}
+ - {fileID: 2800000, guid: a7ec9e7ad8b847b7ae4510af83c5d868, type: 3}
+ - {fileID: 2800000, guid: f66c4aa44c09b6a42a2b5b9f9334d824, type: 3}
+ - {fileID: 2800000, guid: 3028dc075ba8c584d9bc7d1e0255e038, type: 3}
+ - {fileID: 2800000, guid: 93f09189124b21e479fc891dbc1b93bf, type: 3}
+ - {fileID: 2800000, guid: dcc0ed9263c0d524aabeb5f4bd75ecee, type: 3}
+ _Values: 526a8851fe85233e7cc810cd2b8a733faa68e71a62b99912cf2f06228873853005edfb00aa354575a31cc8ad1ac7b966f52afefc8351b636e2b71574be99675b6400dfc3607f0069e96d5112b3681f5fcf550a7f3749f10c2c006f2e23d1db370e64801184e106752a681216ffa3837998b5a5688fe7245230fcd93d5728ea479cf46b8ba7516b16ed2e96b5bbb6e20e0c6272c125d7806f67cd366983232521642549cf9088373b29cf12c86a843666a9d2726c53c784328db49f8d499d2140c6bf413c35ce7d12821326d7a7c36313210e18f42f147d60db1f64f3ada3bb2d6666d31a094491222bbde8f495825a4e2f05ece33b3881253ca117543370bf2531ac8ebf10b7f565a03ac9712b88ca58c516c5a7b6d8f161d84e972e95f1f208f318fcbd24a42f1a1594d13a0cca1e4d0b9a28c0e4238a4cd5432183fe0a3d37c5600352a5affe32a0f1cca64d60c95d6de43a2f1ab3ec2f8dafe7e182ac1c0b579975acc6cca75b9cf61ff356e4ff757ac4f0e2446c5178b3cc3b0938e3500b2c3eb04c15e369388d95cb10d3df8656069a951142fc403ed6b4a90102e5146519f66f6d35134e18b132d9ec6c3ec954f282992fe09c9f2a9752fc7c47b5d52b06e06eab61a6d10e4d7cc274d62caa67eb540f7f4be5844b6a66281ce82d2f664f7483a3a0ebff69576b98633aaa8921a5ddbe04814bd97aac297cdb1235373261c4cec06828ec556592c57c95cb2c5c853ad052230733029b09f8776f245772a3ca0276dcc8b833ca146a1411560f76a926a9289a1bf169092fa58ddf9c3a7517c82635364a7f4df403890f9d1ef144fb812196cd7f0c77286780f491baec2cdaf4fd482fda400ba6f61b9da4000716c29e6ca1845b5768bcaf0ecfc98bbb39185d35a921a8142041153dc39aaa1c286f97b630278db035fff6d32e0ef214326ce60b1f02d1fa3100beb18fe2b7e76ee911c7c76ae00c14c122f29acc03601a51f08a4016e1082f6d7eea356c2d4766a7c4e03aa5e33455a9d65f214d9d8402a2681f2dbdd87b070a985bebf6d6a81097a7bf6f1b653f6d44ca68c07e191e3105186bfcf1e65731b726cef277b7a02e2f4f8ba6de14e73c29b17188403b8622b78df10f42a4017cfff026423332e5732a39eecea4c4101a0158da5ca71f8e0cacf1a805a8b07076b2f15811115bf709cdfeb27a2a54c77a62f3f016365a2b209de610da2415e4793787e44c9401f65bb01b6f5693eb1d01b923a2b5bf5a3f57c537732b4a1ce41e1dd3bc5c8f84196316b39ae5142b724ec80f2101722eba6ec83b11cc7422a66c365139bf2fc07134f6c0358c0bda930f573d9dc4051c541157fd8ac87b1d9952a64ba6e19ca69e2499417fddbe2caa24c1a561f21387762d2def8c67a4f06e2bc76e0cb0d75f9409b22d34593aa82d7ba7ae89207f8b652d5f423bce6076d56121e00caac4b88c2c7dcb083a94c883285aa4d5c6ce0a8162bfdd6753d123843ddced44e075745b023dbb7e5b896e8269c01328054c9b302a1ab4da484855f13539de7736f3892f04d9f6479188c48f2cd00d4fa9d9c99a7201753abb270b443240a506dad2e62f21bcf924dbc733497deec366e53a852b5d6e466fed752cfb7898b19bdc423679483d7065d2ed753932d34255148ed5933b2f9bb6e6a9e268170b63bcea6793c524c3515736dfa68f07f4c3e5cd2819166dba29f321139f0d5a074dc689b94fcb3f83cf281fd236e5292abdda6dc835402586d5d0c1605cee625fb13d2d6d18c0428f254a59f1f69a0ef2e209aa3a5f6e2ef35ef170e07360261e3a3ede074843437e1dfbee809a1671c43e2f82acbcd800430f3a0f274f621bc623782b35791639d9b3d6a7a4a251738a9dcae15d1d2c629ec1dee87cac94318016b3a41242a73e5469a8f9e5305b1a9e52653be5bb871d51da8e739a2dbc794808278eefad6148f68c8cf374337c311ef987ce12cf173b716a0b132fe4277edbdd4e22f732d40ef01d45592e93a97ca93fa95e5a129817e09c00a6478b8824b30bce51819f29142579bf2f14716a04ec784291717a27138999bca5ced2397ca56aa623c557fa0aea6b7c2b2d37d36ecd046c4031e66938e3bac7e8e2834609b33cd57e178eca6b83c7852308adbe3e94d428359a07b5400093c0f470edd76c4e79870e9eaba95c32283d069372be6e79067bb6ab7ca454796a807a3129056bd4516d76698e182e2bcd6bccd4d0d55bd256e985ffc3c546e2bb353081161d28e9f2b17c68842a61ffbca8999ef095525156bae067ce736817b45824c349af41156b1c1de1a70c577fb57abce4d3570d25e2df2a5b3cc1489ae5994cd4f9624895167ccd2c878e56b79ca0e2b6cfb2425d4b4aa628d99c27562c7d03f23f7d7819c328ce578ae1527135e0f7dda3ff6a97dca81f440971457a5478000a8b6376e1d8360c581b142d9608e7a1456bfa07b651858937153a686575e98014203e3e284564acf772d0414ace1d3510e7224a5ade01287e0be64f896976eb354cd453dd6c74b85fa2e828b9d4c8b9fdf7d24683ea1f5d51667f1d5e15238dfce40c6aa371127c5bdaaa470b279155bdd3ad6d9730674a2c76017713a8a6b681a4d32ac75e5c6e094fa25e94676779f8d5da313d6e0934833ec218748a6ab334f3c665ab98e2e4d0e388478e09b6c50e887e177c2785ed64615806e08b1e6b46aa6d77d33232a00d0a9e1f09ae3d730b78d804f67dd0a3864c364a40dbc45b01f48e388ad267be45e0da793a5a1c4adc1a0557652262c47b11fe1e96831e163005de15e0fb03221f68b5285849dde06880275b1fe340dba9ac4b77d44955c8fff1aa3ec7ce951ee81cc70492c6e23b11207815a53ccaebba464132d331f694d66968042f655630447ceb4524f930ad89858d64d39f505d3e46807a1100bbe767782751b8dbae93ee5fc7226db8ffaccc4a5544bcb047a020454d5b3229c26b55bebe32232d20cceb1df107ea74ef6b3011a50761a6801b71d94a7d2c046a22d1333431a134bf8204e4ed2af4022af362109e2f2bef44313d81ec1a66a47b3c19c878470a55a2690825a356561e72b38fd7ae01ae4a6e96bb747f192505286ef155af188deaeb8cd4eec2232870ac4269fb76048416d70ae562427dd5bc4403fc346500705927a4eb212c63f36e41d3df3e7d298f24eada7da53229579148e75640d90c0cacd20fd3d11862168be888de916169c0e48b27b6757d3627fefc7d6914ba33b8b137cc9492aa430c88f1098dba073930de2672b5b1567fd6f7162a2a64072a451ccf2c5994d52e5bbfe973432468198e568f78da72731274c4468ee18fc367d4dc573e3c894702f74d106b78d3cd639abd3cfef63523231af4bf491b069c3f6fa51cfe8a26f82a3862d4b8df032e395b7650edaecae8507bfae382678d6e456f60c0820b69a968c953246344f2490055701c155611592b394b9a3c1ee2f55a1bf1f247ccd2d2694ad889b2a6521d6ef8a3102955feb74a8770a5d5a1229266ec4babb2d341af68b75b7f20341902746809447bd2cc041cc65840a4d302386b6bef9ff2fdcf41490c571f4e8127805e731a6c98de179420d656ef8a3a32d12f111d50acd2e01727d13d91114c1fc636929d3615656a0a7bbc9bffa1e8fa965da8113e79c5a1a532ea7e69180454e3301d79c190e8d37329dca220b7df4ecc352b1196c41eb28f0f07fbff1c2bdc8067b8cfbd62bc27462b9e145567c25c1264b234edf3be1e113122b8fe0f916a78044273957140d5010ea7ddc4fa9baa221fb56a55f91470e032c3ed7b7ac540e3304aa888e7b67a23199892ea67d8a8886e3c1377a78f0b3b603c0fdb93fa5c2e4a7d24561caa96003a473b91a75a470a6a98d8a779cf888976dfb7c7ef7a257b79309bde95c7ed4c3e31f237a3cd6f326f0a0bcfdefe65af544078f6f57d7bd96bb14684e8d850aa19c651a98b6a058644e66f933b98d3f00b2986bcc9080f6c13622ba77a1bc4cc0bcdd33418335b655093c331b81c194e667a0d386610db497d85bc8c077879970f0f788481ef1da14bf438ddcf86935441de988d54da39ba18e886f1c49546fc655bb9abaac6878c5c94128d280185080d674ae51107ece948329c69750e65e03bf4c85e45f9d5f44230b5c90e524e0b3bb3cbf2f392c067444ffa037bccaf833cc7382a1dcc2e985810164f89baa0c11e6db27652245a744ccf5d09012d86897f338cd68b7928087b339ae27b70de891043de1680da2a9e6dc2da8aeb7d87841910cf4ee764334c589bab7b57cc374f33e8b0b4bff010953f3aa8bd48d085bc6c8f107a773d9bd8085ae78680199d8806d542fb322c3bd701c5f052438afb772099171a234e388e4c2754e52869eaa729cf3be1ed7e1066351884c3d112e46d5e6f651930b7ab540e30b7f427a95067244828744e1a89a15782afc42d049fa043e686b803d1777123e6d31c36058ddf691518771690e1bb19c4c1ae08e7270a3159380d2f096af52e49ae98b99394ae0b30a5bee3e9482c38bf2dc0f03696c440c8eb8e3d9b0f7256ddb7321eb7fe79589046c8721a11e50ff42a8e2455fb084deb57827e23eba63fe7ea3e5f84b41043a71961f0ce5126253061b78e7fb1fe1dafe4090f80f77b5b5f77a5faafbb6b40194bcb6f5cf81c67325c4fc13417bf66e95cafa0ab01c2616a42b0ba08de2b15cef7a8ca7d6d7a48c7a140dd473d9076360c11520bcb94177895fbe6b89da010779b0bc3910b1657d6f8d809c1e51a2db23983fccdd809677340ac188e6c6f65425065ac31cde52b0b4684ec0d74a95cb12999f1219ddd6091a34f505efdc96a778c388f7f92041aada8f9eca2098a1717f73748fa9f7920d239e571826b330710ef76803c19dc1d267e4578a3f1bd652d666756341165281418be46ac9298418b0e234c6df62403e5e6dd84a5ff83207c7f9fe8d2893c21ab6192dca5698e6d19fcfb4debf52d37bf9b8fb2cb1f7d12632035d30c5091144a44a00b64485e7ca8909556fccaca71aed62a36f98955353140f88e2c72327c9afae1cbeb46af062f3ee5210169112a5ced08811d51173c1498e218ad380442564a0d94d4a7b01976a0d20c469d880ac65d0dea36916d6cd4439108b966e8286445e5c71c857105ab9d738398585c3b235fc67b358fcb4e3e5b38030c80505f8c1b790f545aaf2aded7ea8238e50f2c6133d4e7d39ca10cefcc763eb292062b112c088221b218375064a6f285b279584b0b643f553733108693df771b8e887022ea8ff32272f413070803712d5ee33e24caeb90be938541ff778b61706a531b2580bce919456724969712e6917d19124948bd6ed2e296715c1f97ad1bcd5769330f2656a56bd27e5e798a6a7fcbc427626e326103d6f779089f8329ad839369736893d3d7b9a515c1c36dc4f81cd00dac6395520e1a3741c3fe060f90aeac4987b19c151667416f40f7684def3ef65fc13512f827c6c3729fd495d6c0b4a5709048b555461adb4423269305828430000b9ab1a5634bdd40ef2ab5ebfc172f7451f7dc38f44ca559a53229fecc4110240ca800cede208b3074f4ce53ff24fd0595c81e74014cd75e59579ae6381f0b32b56455eba24a932d91e4d3616cc5e57e068a30d4ca1f8f4dd6899052f7f44a01adb6a64188ce3e684fecc49a919d5d1f913a3f667a40ea6299d2f8f8b46bb74c636f7e7e392f295b8a12b2f554ce9500eaa57737e24bd950156c11dd818e75022a8e9ab75fa21a594f2e8a3b57e369743587910b5c8b361888b5ccc634dda04674e22ba04c32db0587acd350e64fa6454d80847622460d718e44af390f09c167649684afb7e531381087a00e5ac9367d20fc133249add740a062c3a29f6c351c651b747a894e2067f1cde6ed0971e14a41bbf0aade71675dae7b56c1aa440b2e024144bbc135ba3fb4c3492055d86e526ebdcff41324d423a86547c714c35042a23df12748362346bbd7c659ed7b8a0360e41da91826af4f35de0077eeab2966d89a0daa850e790cae6031888835886e5e29b6c7b7f308009da3c217da7df95673ba9d5fee78c30ee65f0ee602b9d47fb09db1bce5ee0a00123a1ea71ade021dd042c7772fb63c7ab09d30cddad64d6efa88a9abd063e55014502f07a1d6253da6fa99d2b4b6af48eebab31fb028e06c822ffba2e9a7ff45b6e493aae93bbb6f9af1e14ba87bef34fcf2e794bffc0d745c69ab821abdbe49752385bf4695c3063fc69ddc8e930546d71f0753e63e8923ce681e206d4ef360a8110ae281cdba383d5decb893f8ef4b47017b606217370815c42d58377d100bcc33c15c77f25205e4babd3577630b3ed440168219f64f42c9a61eba5969004fb9ee2c789492242a1c80b06ff717be50646f6dc5641d077c6b5456923870ea2450ae18c8858c6c08b028f297d8dcc13793a408bfc606a2618009ba1fd68ee62a599175b6053ff61dbd380e95ad88c353e90b1981dd745c46fd649e9ba661cb2c3aa6c78588bcf956d6d27a6970de5f345dcab9b453163936788019aad29804233d2d5cdc06bd407044620013b013f659b495675b43d2402af8c75519d8cf4c115bb9b078eba1e25d0388c73f926d054a6c9e8c6e7f3b03478abd53ea3f23a95b209c5d9296adc737f70d848c97dd1009046820267c915b6bbb8c6a783139812631a21057bc30274e8c5e5a747ee13f6c86ddfcd1f6e82b4b6bd2468e28296901adbe560ac6716d0a5d4876ea0471c4019e5abf58082c97032fa9050c49353a01f6a1c74f47aefd354919b3373616445ccdab782e4a6a120a78d513294d19791340174152c0174e5e4c345e794d13ed33566936366fb9b255767c9f03f14739566925554f5f218e6271da857b3c542541e747b7479dacc820cceff4fd96cccc1d5543f00a5e6f4c0d57638c02646c1535a3e0eb38ff80f3425c351b4e158bf83da6a3cf7f452f9f566d3b10c6df394437fbd5a54a1f6ce22c51ae66938a9b22336b4e5bc19c95f02e8142ccc4702c636a7a525340e6ae1e3ac0a2d0f39533e02ee723ced16bf92b661b89349ec75962234bfc0edcee621943302100f9c5fc984b23faab93fa35d57f26ed5a6fe3bc011a05f43e9241bd1c4ac4ee5eb606ce5e1622807bccadcf2815d871fc234276d97320e6f4d1be06091f18f6d00cd61e780bb48e6e9cc732372be4ac462f3f07f739c8d2d6ecc230d4278a9bb5b7fe1c3e08e907d7d0e5753b52e3df4b95b3c7a1100169bbfcb774b77c46b8edd3837fd3396e3e1946dec81e3df1d7f51d1bc08b3dceaaec1a66c03614a16a1771cff409698427fa5248fdda77454a0a5cd01af12c13cfd85bb1677d2f550510a9164da141a98a7574396c8e2e308aa04e356c1a43a5bc7c61339be514a429a74d0d848d0856374bba5b830d5abf55d4d839d10618ebcc055ad1400e0d5a9ee69cec23c44b19a9a46cb8d49f27cad6208970be4d2cdd71c72675172669bba7a043638e92636f760e1d8a8d2e16d2216f05e07a631815ed87a215153e00843bb211345bc43b45bd1bf9af30a24f43b0f897872b49350bb82f7606ef4e58c8f266b125e31d2ee5aa499d965dc71b4b385f641da77957f27d077b2c4e34546fc2c1a196537425ce277d3175e7cb677fb5d4317015c46f6cbda2a2ea985b33df9e0c581f69b208c53a96f52a47e2094e60051edd993b7b88310d54f61610667d4feeec0bdb7915fe330a555345654ca0ac538a933d56456390e0507706ff52d6d08c86c931ea721a10e4ef5c6f3042333e0b5c956505400857778404d76103cca3d4dc2d14ea6e3f1e5c5bdeba5d2de66211e085c9c552961aacfcfe5ee93292fde55d0708af69d224e50c4b614d14e4e6e6a61d506675d74849db0d1bb0646112b9f17f5bdc224d574d55512d62347f8214402bb6de6227903a0b07b9a46e10669c6161acd20a2d9cc6dba4801f0b5941de172b9aa27fcab738c0cd60f93646942401c87bf669f9f9983d7592ac258f1fcf312c96a754f7e3d5e71b6c287295fd2138a421d4224b751f3101650a36f5edcd526e38f5501230f51b5af0b2732ed92c8d4c1a35500b0e1948898aad6e266123f6c6851e5df92fda8bd446373b28935fdb929783254982b99fe15338777d780b0732445257bbcf867cf4c12452bbab8fe31576ff41e5483f493ebd3e5a089df1a4c4cff71c420897611eff1a09a80ce436c45561057ac9ec7b839b9602902b7357cf808e75a3aca10ddf9e231b6248f14ba2751e5efef61d8dbc72a05a7394f1497371d92865a56ce84cabda24592e2133731e5a1bf4eba7279dff46154dfc9b4bacdaa82b2119e5fd083612531cf9338d516ce76f11f3aa78354d7464ec8134484625d1342ab2eda6c7a2ed2a0205bc69cd2b9946e40a5c9f8420612c5c7eef79fe36f309d80049fca572c94c202b8acf6ef4683f1811d3ae7d8e4709ae3eb4b74c8bd338073abe328b6a1371411080599591bd6717af61ec62458c4946bf551bd87e6754013c36cbcac94b53019e9293f1128c40fc1ccefbedbf9b3e518a86b440d0b540872aa52d3776ce1f044a11fe28e0c53433141fbcb06b6741a0f77a3f4296123117aef33893a0f7794daef7a2ad9d1671c552812bb0f88f1bc3648c3ffc8fdc6dc81fea292c02382b0b996f0274c493031ff7850fea187e0e3e0ffbf72d3676412f76953278c061377652e0e877725801d0895df314ec58505f2414e3f9bf0142f14ecf14a63a845d6ab26567c7696835b7fac8b69469561ad0e5919cd5453034abdd07d65cbba50bf344769d790f760abbdf99f387b8d779f8b445c0a8e788501d6543169d6d2772602c3baf0c465e3f708657b4df24bc0cfa7132efff9a4c0a44da7fec349f9329faf36ca583d8933ded7baede6f2b8e07aa361c2c3b37730588b994cd388df50e1b80bbebb8178921210b2385b7d585184b77966bbbbf643e7f99e236bc3afa7b70bdf8f0e77abf6daefa4d475bf8bc5cc052e74fdb9e3526e6f96b51f9c0de18ef57eb06236bce2fb72918b60dac9978aac18a96ac54602e88d2d6e0e5116613e3cba7fcf249c62c211697b2867e186d6d1c58c8c9b89365f7bc8ff542af1559c205d242059c850c7849473c13ec4b0ab96973c9b89e492bc9be0c502644912ed50e107f5429972f974c4f807057511cf7665054dc21ed244458f43c562acd432589eedd0335a11c005dcd93b1364420f0d7b8726a19f40afd343bfb345bd93e1993a5f9462f1f2cf892acc6107f290c14d42c2de240ae3e82071f310659175b848eac45dc3e663f497495023a45e57df4d1189fd154a359be1c88c0f011da5156f8bc7e2d1bcf2a6fede56eaaab0338ec9c3c3541788a27330587bfb5a54e379b4458320263aa26fe12f241c6eefc121a50ad8c4d0f92226d95b032a38ee03761522c99ad2eca4fb99ccdac95341244f68b599a073d16754dc95f68eb223673f329a2181a95bf471bfcd4b042e58c5ea7f53c18344530233cb64ce4ce616325d440b96c91f92a734aa1b50412c6b733ab413e091ae1c0385ac654d1e2a4167c61f9dd012b20cc5e1fafcd938f2c1075ff188f10a06d3f0e818112cba5599111b832640ca4b85f758a1fd63650ac377929362f05ccd8e232c6137f55f2ff46791186b6301b3c5f2a26212624c5156a3f0cf90cb59ea3515c7dd63cc2ce7f8e2b0eb6510ee4edb411c4853aefae55483ce9c5d5db45dc254cd812b445ff9d5c59af51150ec45b5b1e45fbf1186961ad2ee186536baa968f329005e6f6a1f911611f6cbfa3c0c6877196486ab615f31d393f1dd9790f38fc18c2e37ebf75647c4b1670c92adeae1158f23afe0cffb9b87bdedf487ce068ad5697279a5bbbb81805c6b6a1a429f25a112f316a493608187c9cf99c55adf82c533d8d3df9b793ec55acfcb8b6e7ecad148636ab12d2f78d710f1dbfc11cc35741e3f4e2b62f53c863bbeb62c6af9e6b4f4c87dae4a43e2534e65115662cd5c6165b886623319bbb316e4757e694c7c15277f08a6b178d6220e5e82e22c29dc81b264c6b2637471e18bdf3ad1469f3371e6f3c0fc4b5a500322746091acaddf30b1073c1485b9a1a2ed371af23df4eb626204db2858e036635b362ff0ec1fbb121005efb09cd113d09563e97265423112790e33a17907999122609044166d60f31dc2edcc2b63f0c0ef057d0b093c01f7051d79ea536c8b279f80ee2c40cfba37f2f654a26474f7030f0492739a9e97f182974f08e3869fb137c62c9a85d48021405af1f06f5ba47019a916a800f14dd1e73046568f4ebb93a96c9561a7a382d38b4c3c1a6f67af26fd311d8352b84dc6fc117e49d5295f70f97a56340ef9d84619bcdcb2d2a7bea13f7d495e313830e111218a59dac701949452fc26322cda1358d77d0f95009993c03f7a67eff14fc1368adacf7bcddf22a4d7d8ea6c2b2ca29cd9fa9644cea3f1c4f1e5f5ce867b63033aecbcf7998f26a6afaadd27bf27a50d382b460429fa07e6e8f45db3d4e121b38a28cec19044f656eec31b868ee675b5bf0d094e3e98c2db0b6c2f7213258470ec80a1e7f666a31334ece2fd158e65cf7a07f4c7d7d384f155e3b634258445f4679ab9fe349dc3d5b0261941b5d5c58cf650080b20cc975025933dea2cd74250a6e744a0385404084420f84e45bcc48fe1c6c23a73b5352bddf6176ea026528768789ace911544a25bf03f51b4e595a72141f799eaf8246c1c68d2323ca557aa937fb6be579310e8e49b798c0b6926e7af8fc291c1475380543eb228330265b977761acb63bbf14452deb55f7e9850a341e9d1cc67f976c3d3d8fd69bab6d5ddea3d0c8e7c1da3ec61890b5ff35cf1b431f119b6cf56b1510ceeaf3ca95b0664072cd6445b20d0af9db55aeeee26c086d7318bbbd08ca18c74447e729198c5cc8f6f57203346170edf96bb7b4e6fb0e3cf2613eae6c23483de62c8af9f533204ff8e5f7edfa0538ee57323c62ed9c1e4938221b7aca0b34e7c151169f13961d2f813f059e6b342fa0d5159fc30d391566ff5f447dea9c7ac83ccfc8ec611221bb04331c4b96497043b23255c4a67f191dba3c629b6b423ec3f4f31141e07f0da9f7328743d69d2c3956c790313e0a38958e062baf626036ba26ad32bd84a705d36690bb1af263056cfe9b761e374d529e25520342f46a2f1527de36e78b234aafc16398cfc6525d2b01c0b0c7e9180e74ffd0e3d6ab4821039f580decd2e120dc5026e09ae6216379afd94034ba682bf0305519a4f9de04b01b92c5bd221b03f565081080c4f9175490be2b82298645f00e6b57100340420e58a2c078558b466cb5ca52b624f11405f7a5393b49e0290d51b201f435834593f8bc5b2b6bfa7afc8f31a467ae29034596141dac03be1b1ab623948b61d64d3255a4874220037d0d0b4482494dcb703ba076e18e8e055d9980a331a55b1d573a2d4f01a7455e05b2a5867f1d54046a65c44a80257a583ea5fe123d822d284dededbc779dcd170bbd8f6bcceb7a8545c1c6f52624358c65b970aefb7201680586aa7039c85377484be253c5424b626f7c7d27a25cc7c274a29ea858678d9a45038a08ad7f6666008e21cb0a19cfb231d60e54113f577a42f7bcf901e4550d0d48e6a6d7e4914a3bacbf1d200a43f97d3d3446174d53316ffe6047bb4caac55d30247f7b811a5432463bee4d24865642954cb9617714d773586e53e110b0f500fabf512ec275ff577687a277bd806b7b4876af669bd82a1bb4f42c1092c9bc0930ee46e4d885040b4b10eaf0725fb5282631d578a0a3642d15928432b7103b3fbd54b930c5785c3c8f5be57411c55613ab5436c39e35a9738a18ce4500d2533a2c545338e719126173eef8047626c024e997dd0c47ffde79ac45bbde46a13d6150dfb6428de1d46e43d451b03ca4fc4e270ca4970ab80c2acd33735ea1cce52f4f68aba922fc4d073d91b1e4ae714a06b69348c5025aa908141e8aa5918a330eba81ffa550a57123a553a587f8d8833e838658f17ce0d30bbfa2bc4187f2994ea15dd5d28e5b495c046c1fafb5210f145d36ddf4cdbe6d26aef464f362b2ab4cba56e59b02b1b022d0b4f6e80082c0626d571cafea5b7f1d11517f7d40c24048e9930aa1c38bee537a443b7e4aa9d82acbfe79f46a039d152bfc54abcfd29d0c8c52ff9387e1611f69c835a52000d26686abb7c1c3ca4c13cedf8839c8bc7b59a82e0a9ca96bb21664a5a3ccc6bcc9292bed327a895fd03dfb143b57a6d7a925458efef2f635bd0da232db9692e62574574e9c4911091d48a2335d6bcfa490746271a6e2cf774503c8d3a5213cc08213f71ee693acde2f63c410a0ddc25f112302bbc4ad9035870489fbea6f362e06418f4b74fdfae40b7cbebc591fe7dd3969c28222f8852fa33e97e21da8c99f996a0a5f4e77eb142919f9061ec65d46537df480134ab71e796640225157631bc309671356f98c67215bf721b492e01e312d4e024384d7c63f515aa2a457ea00382343142e709c4d0973a148ad699519795e876ac9dac0ad3a3605a296ce63ceff409e14c14ecc7a9748985b7577f84cc064e8ff940f8935b92b29dc7e86e4da3531e07cba3b9865c35864a083f5b51dd95089f1d76834d62a2cceec77a9f81d2c726e5967846d7a344dc3ed732ab8aee146b6cffcf302cdfc4aa8e66dacee1a5f45b6299bf50a7c2e1b17483d96f7866e1366d4b4a635eb2d59316ea6cd13baf91bc2e1b9640ea5a6130d18aa16cc20d00d2b23d92af82c4d63ee0c822a7c22373f3481aafcad1e1452d8bc70f43b968f15c9ca6a657cde1c249a93fa1375fb6711ca21fec66dd38535a7db70716b3c20075fb4a55764835f562f1ae7acd6f5d80bbaca88c27ffec56f4306262178dc9972a0b54a05f0e4e04eee35b2553eb0c30868111123e4057c688f870fae8eeeb15087ac62212c429608e11f3cb8fb5417232ad79a54fc6a684992fcc7a31e740502a4620b5890a64543ce09224e316da555383b17cd6730c905dc85354cbaed9120a7b33453fabfba69778d3425444cbb78d2dec8dd4c140d0b5fad79abfb90fb7a74d48185dd90f8338530e31b0b5fb66db406b78784e26b0a9ae5d13baeee250c844ae35b96036a71a08d06728ec83649f99bed4f15d2e36d68771fc36134e16a0cd79f564312044f9b452711e9de982f5077bcedff2908562e51f31ee3a7102c908e9848d620fa19989eeb5bf9f55775210f8d15880b9435e1f584940523330b35fa815b464f58307da3849d156350245896c00ccada4b63de32d6335b71e0746cdf90f477b2bb7069be932b90324a44b957c2919cd9be0fba1bc787d973741183f909f4f4459b5b24b05bf4b8e02d54e992edb233721145625fc5a315cb680bb57e5076c3c1c774bb676cec7eca5665491c9f4686c1de090a4f919480f74559474f3e3a90b691555b616e9adefdc367085fec316aaf9277a4a6948bcfcd0b3b2112a42e8c1cd400520b13dbacbcd408ee0673dff4ec1167bdc6de364b1c25735632bbf1a2f2f313751420a06449355f85636236a5d4b80d240b71c53e9db536e59f31de78c5aa04eda09420348ffd0605c24e174611322aecc915ad63b95212cb5686047a14d84048a2b6fac067276bf29536ff133283082ea435be24a79859f2a7ea8b1601810f16f12f5ca4c7967b5d5643327dad00682c82292a21e6e35ff5a31397ae4d7e0ce9b9eafa9d1f520ac44ee38514352844a7825e93d857ee2f0dcf6601b4ffcd10d73649c4c305ca0cd1e09a2cfda1b53f86310fd31115cb6d3545123147afa93a802c5221149b7e5e49ae9c470ee5d2507c59781af15ede13fe4806f7e703ab20c89f522fb06cd415b3b18b6379845f4f73c2b6ed368e49204f3f24cb94867644fd84ef51c8fefe172e8e683fd37a997916487bdab2411557178c81106e5f552b3b4660fd74b117713f314058d9f6b32c91be04fbd763fe1f25545ba7282e5943798f07fdeed08e333d2b93a137c6c24d9fd8eca9bc4571412240939facb6b80d6620addb941af040d02fc6fc085fa95f910e074f42b0874202491f2f632edf788d7ac4e8e618477a19532672818bc63d69cbf2625097344a67952322c5df5b01f2c0767ddb6dba55ab7d976a28063c767d1d3868c382d80a467a8250f525b538129cb7d3ffca21605aada0e318c3c473677fc89f1496a07bc95f7102847b613880cc869fc554f57b5a21f74885d21f349ef2d76cedfef158c2cdf560a7e124214d68634b3d25ad437443f8358ee80009403da17752cd257ebfde62934955223a4619fc1c6ed4f63c60e40856f944352543e48d5ec21afa359acd84581be2876b4865176dc4cf857957c39fcb0af7421e8e7dda89469779448ef5d3174c1eba73a0ec4a79453ac06fef5d3562f701db50132d7d0feea646356cd3e4e2ec92b870d1232b799bc961065beb55aa1d3f5b6bf2a5255e2b0e3206b7a2a21ac263493b37e7d0ee86e42c050623d8f69ddf07542f4ff0466d5a4521cb6f1efaefb50e0d87e09cb019d65c685608158d8cfd3123a2af44b8156a7276a5e63df301fdbb7abf1d32b2090ac57fd6c8e863663b3136531255ff144f6a53c58fce6fca7e19538c3b7122ad2a231fe98bad405a84f614e9be9f084b3a9479a16b6129923d941fa554335438e44327f0361788a129f93f6646a776e2dd613ad1ebc4188b4cb12620cc9b0651a2dc31fe38077daee2e43464a0c24c961d3d7d4a917cb3e0d4635c7b0e972a710d110808907c2b0ffebc3df6e6af1de16fed2d639b074285f159578eba28bda822986ba96abb70518f6b79352bcb74a20bd94beb46b749d8a58c07ebd3bac9267ae62cb3bb8c884c83232cd172884e433106659374d2626a4f9303bb613d1980af006e69e3194a2ddb4b47ce555d9b4c4897024f8f66ffde47760513cd0aa46f1fe61b7463f8873648d50208bf98efeaffb24e15472d17ecda1c795d9f0fd34b40451678ff767e6840eb704a56a50c739925781084c4884c4f833f7a1eaf26d994676054b327876db0f42aa5439fbd80d613083c771d30fa319c3783b6044a90c49622be05b9bf719e0b5e6f651bf74f394050cf479dae4e68a52218f00a23b53fbb68253d0084e2ab68639340609fb36b78498b4be6289dba8f546197a88194e7a850e07b2eeec744927950febe7037ba2a7c695499695892cb1f174e80d06599ee46ba6d789c79ff8b1ac22518404e3ff84c4ff044e3d6f432656653afeb192fa633e1ff3b780237c928a9ccdfa9212de25160215c4379eea9426a87fd2847469c30795ddc6f1b380e6d37014b3b8ce9ac0cab077fb4ed3a4748029fec56d5f46659427235e4eec5d93f5bdb8f44da9abd41650e06e64b38e11b2f405ca575ba8609ab6d7be476279358d01675ecca6b9a428b83f2d1fddbcb132e66ee797362295f55869a6d1fd8cb73a25e1535c2f45066a81b55be0ff2e33313de4e9ba8bf8e27efc81fe4d600a45cf93f74f753c262181a66036bad620e37607c2ecc8e4e11455edbdc3d2510a2457bb4434fd1bf320ad00fd5b1e6b0ca169b76d03f10983a436a127eca9e6d12093b420f06e1419a5fb5db038086a0a05212c5d99ce0e15612f086e6be41676c62033412d7402f085a248f76ca6a4543094c2f46276b89d61c9822f5672858a11db99a83ad7236ed4031cc87ae95745756bc22f58f516c327aa30ac1e2c65fce7c319412d0c295967d1c86f69e01288723366054fa9dee3424cefd0b68740b796e9b03de2987271952b97372ca7694783593e5ac660ad3de429f11fd3b75d1f728009bfc01b6a1635d35fb82621fcded5c83bbf91793aa3465dd9babe68e67b91d2e9afe9ed1a2a311c09dc41012991a424cb4fa403694546f9dd3dd001bf86163b4a08fbacc8c2d1f18e858f6e52352427e96652592861867b970fe023b5c0a39c39e3a4dd72bf128e319284e3c5d89787f65814da1790a2e79d7ffa372d41c740d6e467ca15fe552a53d07acae66a317f97682d5dabc974a6cf33951d46b650d024ba3555bfae5207f2ea864715d7f2084e86217a90db051d6fce795983727105dea569c3db24401916256ac1433d836735ad6bdce7cb60b9a527f5f125087480697c05cb41c5d37d49b79b948fbc25d23b108f30de5df20de044dd24122aa16f08c58c4a390ef5f2d9a4a7d9611d65179e7ee151671a373d36249674d03845f2de7fcf721e5e73bfab5b34eae36c45b505595e4f7120861d0330fbeb978ee2f1fa9ab7d0dce725dcf2a0fcb24f222629ded17f76d9f671ade9bc755f4a5f472a4e26d58e142691fc8f3b22122d48522ee53a4587019624112c65ca895c75274e17d8ff9a085bb5a84f72e7aec45f709eb5a995efe64fd7580d4965860ed4b6f452740a5448c816869b62b861518aa57419941c5d10c8a457b0578741c13bb72be61cb3afbad3b76dd02f54838765f67d6c06605d0efbf396404d5c0ecf3b37c739ec9b34d705b102b485e2cfd2d820e65df9e5cadb6a153dffb280927857516b18629665253e646e489d0e6b214c83582c725cb910f2a28bfe26db7669bc750418b227ba8179e1107a8c0c87977fa0c3da1751055be573e50ad598f19d11f7eaedfd7c2c8bc216799c93a16b09e5037dd79f30710d8a5001e9f34aa8fd1d53577be88a6b1422b073d2355e106911112efe63abcb28f3e548332e567485d8571ae65ba3d601c0940ed95c89ebf4fc70bc509294ae6904926cb6700080dae1c5a586242d7d03b030c118557b8a822ec2d060f5dc0ccc4743d501ef637e2eeb165b222f721919fdb76fbe2a59418fd3111532d0e1d0cdc261dd77f87b144cb290137bc06852bca9c66cc183a16e01fdb4e5008e3b4e0945871b7ea06efd972453af359a2a30854191d378baf0c5df0c248a438613ce7752134eb87c2ea2f74c0592e00dc7882c7ba0412391593bc9a3057ad4f4ba01109527e51a2cc5a4770bf50868e281f0a22d15d389ae80411d52c260319527729f17345644ebb85649a4527e20e1f163f87006e20244398ddc9c17a76a65e60c2367a76fe927ba622a93d2d20ef19df0abd997c18e3974e350c222e1035fb0af8a5ea19899618ad0b5a4c376371b9cce2a1853340da79a6cec8ac0e6f4d96ecad32347afc00a98b5a138f41699f4f593a10ee4eba2e4ad31e91e75242263dbec35f896aa733d1e2f7fad82c4c373e2e7953d47f3ce5317ee8615b731804327eaeb1fa382ab9b2073f0c564afa89e1a930ea346a06427d21d2f57d0771ba0403d3a92502cd89fb405f32bf483c7c77714204a403c7627c0fd0e3f434c3548706eea5e25dafe477b9e674ca38fe3aa2b09211b66ceafe35cadacb2c4e82d083f45447a66966e5e0d983a1165299430d0b86a5c74d9d1bf0eddaac381d47d6c8e90e2a1c461ff4e9870e700f47181ccd6942df38230935926f37934411e202dea595ff9e3d9fac136d43c0c00e2b38d4bedeceda689ea4f244bc8b7d75502896eeb04a22197e90c996cbcae037095f659097fd0f13277507f10c5a8114d261e2e4d52ea21feb45c0b1fabb622bc4bb3b5c26eddd521882c73b43300c240fb5672dacc40d37fe7b8523423ef21dd8322d511e24ed404035fd58f5dd621a52e4c0af2290d800ae035aa2730094578c1b9deffc44fa1539d9931e3d9ad31fe6952ea281bd0568f6d15ce536b4323fca55cdd940731e0d155488b603463d482a8544212d0d2948038e0e80c2531b4f64179e9ee3493741f8a2c24abd1c654a31f08f3c83f6da281758cf8fed2222238bb032cc67e35145726af656944d9b2dfd2fb1fd619a666fe1064b897bb3c122c22fa170150e6d775d7eac62b5a3d81a3d6e3673fd5c442518a2ae6d2fdac040a8d418c3ef0c420b63d7a51fb837da7a21993a1616cae0656c553fde127939158c58caf9883bef7f278c08ad6387e715e30f7e8947f8ec657e9c356b6695e523f5bf66f0665403678c5385dde34b011a6d2ac022f7c25c6d6c647bec05831943712ca123edd87c720d16fdf3730e8232
diff --git a/Assets/Scenes/EditorScene.unity b/Assets/Scenes/EditorScene.unity
index e1f18fb2..9c9c71e2 100644
--- a/Assets/Scenes/EditorScene.unity
+++ b/Assets/Scenes/EditorScene.unity
@@ -174,14 +174,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: aee0e6022210846a7bd6e0e20af73e3f, type: 3}
m_Name:
m_EditorClassIdentifier:
- timelineTabRect: {fileID: 1700873338}
+ timelineTabRect: {fileID: 0}
timePointerModule: {fileID: 1744644990}
musicPlayer: {fileID: 1502848757}
- TimeField: {fileID: 1834821448}
- BeatField: {fileID: 916536462}
- GetinputArea: {fileID: 1027966091}
- timelineTabPrefab: {fileID: 2457717289953408719, guid: 4b8e53d787aedce4c99c84ff45821227,
- type: 3}
+ TimeField: {fileID: 0}
+ BeatField: {fileID: 0}
+ GetinputArea: {fileID: 0}
+ timelineTabPrefab: {fileID: 0}
--- !u!1 &37219226
GameObject:
m_ObjectHideFlags: 0
@@ -1561,7 +1560,7 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 728685386}
m_HandleRect: {fileID: 728685385}
m_Direction: 2
- m_Value: 0
+ m_Value: 1
m_Size: 1
m_NumberOfSteps: 0
m_OnValueChanged:
@@ -4365,7 +4364,7 @@ MonoBehaviour:
uiManager: {fileID: 1039576900}
backgroundController: {fileID: 1197505585}
cameraManager: {fileID: 1197505586}
- timeline: {fileID: 30852810}
+ timeline: {fileID: 0}
currentJudgeType: 2
basePrefabs: {fileID: 11400000, guid: 266f4a39c512c46eea7e44336e4fc600, type: 2}
--- !u!4 &1197505579
@@ -8035,7 +8034,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:
@@ -8874,7 +8873,7 @@ MonoBehaviour:
openPrefabs: 0
prefabs: []
idRef:
- _Keys: 19fa7c8b7a3a004fc497f181b6e026078db49f8d499d21408923e4a607ce3a595981be3ba9ff4c769b8f130ebe47887ebdfb98ebe5da7049210e18f42f147d60c6bf413c35ce7d12db1f64f3ada3bb2d821326d7a7c363136666d31a094491222bbde8f495825a4e2f05ece33b3881253ca117543370bf2531ac8ebf10b7f565a03ac9712b88ca58c516c5a7b6d8f161d9edf2f0d7536a18cb29cd07833a5a3b4c7ae726cc17482e559c16f3c9b08b330df8ea680ec3b112fb2cdae8148f027d92fcc7a31e740502060f5dc0ccc4743d6cbda2a2ea985b33ceaaec1a66c03614f318fcbd24a42f1ad60e54113f577a421594d13a0cca1e4dea74ef6b3011a507d84e972e95f1f208c29e6ca1845b5768a29ea858678d9a45dd71c72675172669d2216f05e07a6318526a8851fe85233ecdfeb27a2a54c77acf2f0622887385307cc810cd2b8a733f308aa04e356c1a4343b0f897872b4935cad6208970be4d2cf27d077b2c4e3454a429a74d0d848d0856374bba5b830d5a1c80b06ff717be50822ffba2e9a7ff4587ac62212c429608d6f7162a2a64072a2505286ef155af18b8b137cc9492aa430bb82f7606ef4e587d4feeec0bdb7915a98a7574396c8e2e8332e567485d85710a55a2690825a356de044dd24122aa16cb6700080dae1c5afbe2a59418fd3111573d9dc4051c54111fafcd938f2c107505edfb00aa3545750cacd20fd3d118628f24eada7da532296de43a2f1ab3ec2f40174152c0174e5ed6d08c86c931ea726390e0507706ff52bcaf0ecfc98bbb39566936366fb9b255a7ae89207f8b652d88310d54f616106692fde55d0708af69fa88a9abd063e55043de1680da2a9e6d579975acc6cca75b961aacfcfe5ee932d224e50c4b614d14bba7a043638e92631518771690e1bb19dced44e075745b028dafe7e182ac1c0bae65ba3d601c0940232d20cceb1df107aed62a36f989553501753abb270b44324d7d8ea6c2b2ca297f8214402bb6de62c8eb8e3d9b0f7256185d35a921a8142098b19bdc42367948b6e493aae93bbb6f41153dc39aaa1c28d34255148ed5933b025933dea2cd7425bcb047a020454d5b0b9ab1a5634bdd403229c26b55bebe32908e9848d620fa19a0ac538a933d5645ebcc055ad1400e0de2b71574be99675bf8a3102955feb74a2c3eb04c15e369386f97b630278db035378baf0c5df0c2488deaeb8cd4eec223eb87c2ea2f74c059586242d7d03b030c5a9ee69cec23c44b4e60051edd993b7bc5600352a5affe328d95cb10d3df8656e07cba3b9865c358a438613ce775213415ed87a215153e001a10e4ef5c6f3042f4c3e5cd2819166d6112b9f17f5bdc220857778404d76103118557b8a822ec2db3cc3b0938e3500b561e72b38fd7ae010c88f1098dba07392870ac4269fb7604ae4a6e96bb747f19d5bc4403fc346500d5432183fe0a3d37333e0b5c95650540fe330a555345654cb222f721919fdb76454a0a5cd01af12cb7ea06efd972453a5bbfe973432468198e568f78da72731205a296ce63ceff4027fefc7d6914ba336fc2c1a196537425df9e0c581f69b2087fb5d4317015c46f3f1e5c5bdeba5d2df359a2a30854191da2335d6bcfa490744d574d55512d623419a9a46cb8d49f27bf55d4d839d10618a0f1cca64d60c95de66211e085c9c552c53a96f52a47e2097c7d27a25cc7c274f36e41d3df3e7d29069a951142fc403e37bc06852bca9c66ce277d3175e7cb6713cfd85bb1677d2fc509294ae69049262e00dc7882c7ba04550510a9164da141cca3d4dc2d14ea6ea5bc7c61339be514a16a1771cff40969d4dc573e3c894702705927a4eb212c63501ef637e2eeb1659e52653be5bb871dc8f266b125e31d2ee5aa499d965dc71b12391593bc9a30575008e3b4e09458718416d70ae562427d168be888de916169ad4f4ba01109527ee4e6e6a61d506675d74849db0d1bb064ed95c89ebf4fc70b843bb211345bc43b4b385f641da77957fcf2e794bffc0d74532d0e1d0cdc261dd77f87b144cb2901579148e75640d90c451ccf2c5994d52ec0e48b27b6757d3674c4468ee18fc367efe63abcb28f3e5430de2672b5b1567fcc183a16e01fdb4e8427fa5248fdda7745bd1bf9af30a24f6f760e1d8a8d2e169cf46b8ba7516b16ed2e96b5bbb6e20eeb540f7f4be5844b79e7ee151671a373a4e26d58e142691f576b98633aaa8921a5ddbe04814bd97a61c4cec06828ec5598b5a5688fe724522d9a4a7d9611d651d36249674d03845f0c6272c125d7806fe2bb353081161d28c122f29acc03601a51f08a4016e1082f30fcd93d5728ea47b79ca0e2b6cfb242a9d65f214d9d8402fab5b34eae36c45bd0330fbeb978ee2fcf2a0fcb24f222621fa9ab7d0dce725d9ded17f76d9f671ad6c06605d0efbf3940a506dad2e62f21bcf924dbc733497d038a08ad7f6666006a66281ce82d2f6619f66f6d35134e18a31cc8ad1ac7b966cf550a7f3749f10c0e64801184e106752a681216ffa3837967cd366983232521642549cf9088373ba9d2726c53c7843229cf12c86a8436660b9a28c0e4238a4c7ac4f0e2446c5178d6b4a90102e51465b132d9ec6c3ec954f282992fe09c9f2a6d7eea356c2d4766a7c4e03aa5e334559752fc7c47b5d52b06e06eab61a6d10e4f7483a3a0ebff69f6c0358c0bda930f4d7cc274d62caa67c537732b4a1ce41e4e79870e9eaba95cdaf4fd482fda400b1dd3bc5c8f8419633140f88e2c72327c9afae1cbeb46af06ac297cdb123537326592c57c95cb2c5c853ad052230733029b09f8776f245772a3ca0276dcc8b833ca146a1411560f76a926a9289a1bf169092fa58ddf9c3a7517c82635364a7f4df403890f9d1ef144fb812196cd7f0c77286780f491baec2ca6f61b9da400071600beb18fe2b7e76e86d5d0c1605cee62a2681f2dbdd87b071d79c190e8d373290a985bebf6d6a810a8113e79c5a1a532eec366e53a852b5d6e466fed752cfb7897a7bf6f1b653f6d0c571f4e8127805ec3515736dfa68f07ba29f321139f0d5a44ca68c07e191e316809447bd2cc041c05186bfcf1e65731b726cef277b7a02e29b17188403b8622365139bf2fc071347e1dfbee809a1671c43e2f82acbcd800b78df10f42a4017c8a9dcae15d1d2c62fff026423332e57357fd8ac87b1d9952a64ba6e19ca69e24acf1a805a8b07076b2f15811115bf70962f3f016365a2b20b01b6f5693eb1d01ec4babb2d341af68b923a2b5bf5a3f577bfae382678d6e455f423bce6076d56121e00caac4b88c2cc83b11cc7422a66cf74d106b78d3cd635aa4d5c6ce0a81623dbb7e5b896e826999417fddbe2caa248eba28bda822986bc1a561f21387762d2def8c67a4f06e2bc76e0cb0d75f9409074dc689b94fcb3f83cf281fd236e5297dcb083a94c883282de7fcf721e5e73b505595e4f7120861c01328054c9b302af4022af362109e2f2bef44313d81ec1a39de7736f3892f04d9f6479188c48f2cd00d4fa9d9c99a72d4516d76698e182e2abdda6dc8354025c623782b35791639d9b3d6a7a4a251738016b3a41242a73e716a0b132fe4277ef01d45592e93a97c88b5ccc634dda046cd046c4031e66938e3bac7e8e2834609651b747a894e2067a554335438e44327f1cde6ed0971e14a83c7852308adbe3ed656ef8a3a32d12f111d50acd2e01727d13d91114c1fc636e65f0ee602b9d47fb09db1bce5ee0a0037e7d0ee86e42c0594d428359a07b5400093c0f470edd76c5c69ab821abdbe49752385bf4695c3063fc69ddc8e9305462bcd6bccd4d0d55ba8110ae281cdba388e7dda89469779443d5decb893f8ef4b57c39fcb0af7421ed256e985ffc3c54695167ccd2c878e567135e0f7dda3ff6a97dca81f440971457a5478000a8b6376e1d8360c581b142d9608e7a1456bfa07564a0d94d4a7b01976a0d20c469d880ac65d0dea36916d6c9048b555461adb44f08c58c4a390ef5f95c81e74014cd75e59579ae6381f0b32a134bf8204e4ed2a3587910b5c8b361874e22ba04c32db059abd3cfef63523236f60c0820b69a9681af4bf491b069c3f5b7650edaecae8503862d4b8df032e396fa51cfe8a26f82ac953246344f2490055701c155611592b394b9a3c1ee2f55a1bf1f247ccd2d26907fbff1c2bdc80674ad889b2a6521d6e8770a5d5a1229266b75b7f2034190274c65840a4d302386b6bef9ff2fdcf4149731a6c98de17942073ba9d5fee78c30e5fa2c9a03e68ea0f36204474695ee17c4bff0675b00ed30ed406d360c39fe63b929d3615656a0a7bbc9bffa1e8fa965dea7e69180454e330dca220b7df4ecc352b1196c41eb28f0fb8cfbd62bc27462b9e145567c25c1264b234edf3be1e113122b8fe0f916a78044273957140d5010ea7ddc4fa9baa221fb56a55f91470e032c3ed7b7ac540e3304aa888e7b67a23199892ea67d8a8886e3c1377a78f0b3b603c0fdb93fa5c2e4a7d24561caa96003a473b91a75a470a6a98d8a779cf888976dfb7c7ef7a257b79309bde95c7ed4c3e31f237a3cd6f326f0a0bcfdefe65af544078f6f57d7bd96bb14684e8d850aa19c651a98b6a058644e66f933b98d3f00b2986bcc9080f6c13622ba77a1bc4cc0bcdd33418335b655093c331b81c194e667a0d386610db497d85bc8c077879970f0f788481ef1da14bf438ddcf86935441de988d54da39ba18e886f1c49546fc655bb9abaac6878c5c94128d280185080d674ae51107ece948329c69750e65e03b339ae27b70de8910f4c85e45f9d5f44230b5c90e524e0b3bb3cbf2f392c067444ffa037bccaf833cc7382a1dcc2e985810164f89baa0c11e6db27652245a744ccf5d09012d86897f338cd68b7928087ba8909556fccaca71c2da8aeb7d87841910cf4ee764334c58a6fa99d2b4b6af48ef5d3562f701db50a0ec4a79453ac06f8ef5d3174c1eba739bab7b57cc374f33e8b0b4bff010953f3aa8bd48d085bc6c8f107a773d9bd8085ae78680199d8806d542fb322c3bd701c5f052438afb772099171a234e388e4c2754e52869eaa729cf3be1ed7e1066351884c3d112e46d5e6f651930b7ab540e30b7f427a95067244828744e1a89a15782afc42d049fa043e686b803d1777123e6d31c36058ddf69c4c1ae08e7270a3159380d2f096af52e49ae98b99394ae0b30a5bee3e9482c38bf2dc0f03696c440ddb7321eb7fe79589046c8721a11e50ff42a8e2455fb084deb57827e23eba63fe7ea3e5f84b41043a71961f0ce5126253061b78e7fb1fe1dafe4090f80f77b5b5f77a5faafbb6b40194bcb6f5cf81c67325c4fc13417bf66e95cafa0ab01c2616a42b0ba08de2b15cef7a8ca7d6d7a48c7a140dd473d9076360c11520bcb94177895fbe6b89da010779b0bc3910b1657d6f8d809c1e51a2db23983fccdd809677340ac188e6c6f65425065ac31cde52b0b4684ec0d74a95cb12999f1219ddd6091a34f505efdc96a778c388f7f92041aada8f9eca2098a1717f73748fa9f7920d239e571826b330710ef76803c19dc1d267e4578a3f1bd652d666756341165281418be46ac9298418b0e234c6df62403e5e6dd84a5ff83207c7f9fe8d2893c21ab6192dca5698e6d19fcfb4debf52d37bf9b8fb2cb1f7d12632035d30c5091144a44a00b64485e7c9af1e14ba87bef3415472d17ecda1c792f3ee5210169112a5ced08811d51173c1498e218ad38044208bf98efeaffb24e78d513294d197913de9bc755f4a5f472c8f3b22122d48522ee53a4587019624112c65ca895c75274e17d8ff9a085bb5a84f72e7aec45f709d4439108b966e8286445e5c71c857105ab9d738398585c3b235fc67b358fcb4e3e5b38030c80505f8c1b790f545aaf2aded7ea8238e50f2c6133d4e7d39ca10cefcc763eb292062b112c088221b218375064a6f285b279584b0b643f553733108693df771b8e887022ea8ff32272f4137463f8873648d502070803712d5ee33e24caeb90be938541ff778b61706a531b2580bce919456724969712e6917d191213cd0aa46f1fe61b4948bd6ed2e296715c1f97ad1bcd5769330f2656a56bd27e5e798a6a7fcbc427626e326103d6f7794f8f66ffde477605ce555d9b4c48970269e3194a2ddb4b47bb613d1980af006e089f8329ad8393699374d2626a4f9303736893d3d7b9a515c1c36dc4f81cd00dac6395520e1a3741c3fe060f90aeac4987b19c151667416f40f7684def3ef65fc13512f827c6c3729fd495d6c0b4a5702326930582843000ef2ab5ebfc172f7451f7dc38f44ca559a53229fecc411024d172884e43310665b3bb8c884c83232cebd3bac9267ae62c0ca800cede208b30eb46b749d8a58c07352bcb74a20bd94ba96abb70518f6b7974f4ce53ff24fd05a7b33453fabfba69778d3425444cbb785fad79abfb90fb7a27903a0b07b9a46e639b074285f15957b56455eba24a932df6e6af1de16fed2d08907c2b0ffebc3d91e4d3616cc5e57e068a30d4ca1f8f4dd6899052f7f44a01adb6a64188ce3e684fecc49a919d5d1f913a3f667a40ea6299d2f8f8b46bb74c636f7e7e392f295b7b0e972a710d11084a917cb3e0d4635c64a0c24c961d3d7dfe38077daee2e43420cc9b0651a2dc31d1ebc4188b4cb1268a12b2f554ce9500eaa57737e24bd950156c11dd818e75022a8e9ab75fa21a596646a776e2dd613a4f2e8a3b57e3697465666ad918140b761d05cd1280c357590e579e14898dcd4fd0ba74453c4ad26948e6a6d7e4914a3b87acd350e64fa645f0361788a129f93f4d80847622460d718e44af390f09c167649684afb7e531381087a00e5ac9367d20fc133249add740a062c3a29f6c351c41bbf0aade71675dae7b56c1aa440b2ea16b6129923d941fe9be9f084b3a9479024144bbc135ba3fb4c3492055d86e52e98bad405a84f6148c3b7122ad2a231fc58fce6fca7e1953531255ff144f6a536ebdcff41324d423d6c8e863663b3136bf1d32b2090ac57fa5e63df301fdbb7aa86547c714c35042a23df12748362346a2af44b8156a72765608158d8cfd312387e09cb019d65c68cb6f1efaefb50e0dbbd7c659ed7b8a0360e41da91826af4f35de0077eeab2966d89a0daa850e790c2f4ff0466d5a45210623d8f69ddf0754ae6031888835886e5e29b6c7b7f308009da3c217da7df956b7a2a21ac263493b123a1ea71ade021dd042c7772fb63c7ab09d30cddad64d6ef2a5255e2b0e32065beb55aa1d3f5b6bd1232b799bc9610614502f07a1d6253d6cd3e4e2ec92b870132d7d0feea64635eebab31fb028e06cd71f0753e63e8923ce681e206d4ef36047017b60621737084865176dc4cf85799acd84581be2876b43e48d5ec21afa3560e40856f944352515c42d58377d100bcc33c15c77f25205e4babd3577630b3ed440168219f64f424619fc1c6ed4f63cbfde62934955223ac9a61eba5969004fb9ee2c789492242a403da17752cd257e7443f8358ee800094d68634b3d25ad43c2cdf560a7e12421646f6dc5641d077c9ef2d76cedfef1586b5456923870ea2450ae18c8858c6c08b028f297d8dcc13793a408bfc606a2618009ba1fd68ee62a599175b6053ff61d5a21f74885d21f3480cc869fc554f57bc95f7102847b6138bd380e95ad88c353677fc89f1496a07b5aada0e318c3c473129cb7d3ffca2160467a8250f525b5387d1d3868c382d80ae90b1981dd745c46ab7d976a28063c76f2c0767ddb6dba55fd649e9ba661cb2c3aa6c78588bcf956d6d27a6970de5f3467952322c5df5b0169cbf2625097344a5dcab9b453163936788019aad29804233d2d5cdc06bd407019532672818bc63d8d7ac4e8e618477a44620013b013f65902491f2f632edf78910e074f42b08742d02fc6fc085fa95fb495675b43d2402af8c75519d8cf4c116620addb941af0402240939facb6b80d5bb9b078eba1e25d9fd8eca9bc4571413d2b93a137c6c24d0388c73f926d054a6c9e8c6e7f3b03478abd53ea3f23a95b209c5d9296adc737f70d848c97dd1009046820267c915b6bbb8c6a7831398126798f07fdeed08e3325545ba7282e594331a21057bc30274e91be04fbd763fe1f8c5e5a747ee13f6c86ddfcd1f6e82b4b6bd2468e282969014c345e794d13ed33767c9f03f14739566925554f5f218e6271da857b3c542541e747b7479dacc820cceff4fd96cccc1d5543f00a5e6f4c0d57638c02646c1535a3e0eb38ff80f3425c351b4e158bf83da6a3cf7f452f9f566d3b10c6df394437fbd5a54a1f6ce22c51ae66938a9b22336b4e5bc19c95f02e8142ccc4702c636a7a525340e6ae1e3ac0a2d0f39533e02ee723ced16bf92b661b89349ec75962234bfc0edcee621943302100f9c5fc984b23faab93fa35d57f26ed5a6fe3bc011a05f43e9241bd1c4ac4ee5eb606ce5e1622807bccadcf2815d871fc234276d97320e6f4d1be06091ff7bcf901e4550d0d10669c6161acd20a2d9cc6dba4801f0b5941de172b9aa27fcab738c0cd60f93646942401c87bf669f9f9983d7592ac258f1fcf312c96a754f7e3d5e71b6c287295fd2138a421d4224b751f3101650a36f5edcd526e38f5501230f51b5af0b2732ed92c8d4c1a35500b0e1948898aad6ef92fda8bd446373b266123f6c6851e5d28935fdb929783254982b99fe15338777d780b0732445257bbcf867cf4c12452bbab8fe31576ff41e5483f493ebd3e5a089df1a4c4cff71c420897611eff1a09a80ce436c45561057ac9ec7b839b9602902b7357cf808e75a3aca10ddf9e231b6248f14ba2751e5efef61d8dbc72a05a7394f1497371d92865a56ce84cabda24592e2133731e5a1bf4eba7279dff46154dfc9b4bacdaa82b2119e5fd083612531cf9338d516ce76f11f3aa78354d7464ec8134484625d1342ab2eda6c7a2ed2a0205bc69cd2b9946e40a5c9f8420612c5c7eef79fe36f309d80049fca572c94c202b8acf6ef4683f1811d3ae7d8e4709ae3eb4b74c8bd338073abe328b6a1371411080599591bd6717af61ec62458c4946bf551bd87e6754013c36cbcac94b53019e9293f1128c40fc1ccefbedbf9b3e518a86b440d0b540872aa52d3776ce1f044a11fe28e0c53433141fbcb06b6741a0f77a3f4296123117aef33893a0f7794daef7a2ad9d1671c552812bb0f88f1bc3648c3ffc8fdc6dc81fea292c02382b0b996f0274c493031ff7850fea187e0e3e0ffbf72d3676412f76953278c061377652e0e877725801d0895df314ec58505f2414e3f9bf0142f14ecf14a63a845d6ab26567c7696835b7fac8b69469561ad0e5919cd5453034abdd07d65cbba50bf344769d790f760abbdf99f387b8d779f8b445c0a8e788501d6543169d6d2772602c3baf0c465e3f708657b4df24bc0cfa7132efff9a4c0a44da7fec349f9329faf36ca583d8933ded7baede6f2b8e07aa361c2c3b37730588b994cd388df50e1b80bbebb8178921210b2385b7d585184b77966bbbbf643e7f99e236bc3afa7b70bdf8f0e77abf6daefa4d475bf8bc5cc052e74fdb9e3526e6f96b51f9c0de18ef57eb06236bce2fb72918b60dac9978aac18a96ac54602e88d2d6e0e5116613e3cba7fcf249c62c211697b2867e186d6d1c58c8c9b89365f7bc8ff542af1559c205d242059c850c7849473c13ec4b0ab96973c9b89e492bc9be0c502644912ed50e107f5429972f974c4f807057511cf7665054dc21ed244458f43c562acd432589eedd0335a11c005dcd93b1364420f0d7b8726a19f40afd343bfb345bd93e1993a5f9462f1f2cf892acc6107f290c14d42c2de240ae3e82071f310659175b848eac45dc3e663f497495023a45e57df4d1189fd154a359be1c88c0f011da5156f8bc7e2d1bcf2a6fede56eaaab0338ec9c3c3541788a27330587bfb5a54e379b4458320263aa26fe12f241c6eefc121a50ad8c4d0f92226d95b032a38ee03761522c99ad2eca4fb99ccdac95341244f68b599a073d16754dc95f68eb223673f329a2181a95bf471bfcd4b042e58c5ea7f53c18344530233cb64ce4ce616325d440b96c91f92a734aa1b50412c6b733ab413e091ae1c0385ac654d1e2a4167c61f9dd012b20cc5eff188f10a06d3f0e818112cba5599111b832640ca4b85f758a1fd63650ac377929362f05ccd8e232c6137f55f2ff4679c117e49d5295f70f5077bcedff290856c2e37ebf75647c4b96c9561a7a382d38452fc26322cda135e3f4e2b62f53c863acfcb8b6e7ecad14e5e82e22c29dc81bb0b6c2f721325847f9db55aeeee26c086eec31b868ee675b6e4757e694c7c152e186536baa968f32d382b460429fa07e0543eb228330265bbdf3ad1469f3371e0f1dbfc11cc35741431f119b6cf56b15204db2858e0366356f3c0fc4b5a5003297a56340ef9d84616afaadd27bf27a5073046568f4ebb93ad371af23df4eb6260eb6510ee4edb411155e3b634258445f38a28cec19044f65bddf6176ea026528334ece2fd158e65c6d7318bbbd08ca18f057d0b093c01f70a937fb6be579310e264c6b2637471e1877f08a6b178d62202974f08e3869fb1390e33a17907999123cf2613eae6c234825bf03f51b4e595ae7c151169f13961df0492739a9e97f187dd63cc2ce7f8e2b0ec80a1e7f666a312f316a493608187c03f7a67eff14fc1372141f799eaf8246edf96bb7b4e6fb0e5b886623319bbb319cf99c55adf82c533d8d3df9b793ec552746091acaddf30b8636ab12d2f78d71f23afe0cffb9b87bdc2edcc2b63f0c0e3d3d8fd69bab6d5d45fbf1186961ad2e1218a59dac7019492f654a26474f70304c87dae4a43e25347af8fc291c147538c74447e729198c5c10ceeaf3ca95b0663f1dd9790f38fc187c62c9a85d480214c6b6a1a429f25a114938221b7aca0b34563e972654231127f80ee2c40cfba37f33aecbcf7998f26af7a07f4c7d7d384f341e9d1cc67f976c005efb09cd113d09452deb55f7e9850ad311d8352b84dc6f1f6cbfa3c0c6877126212624c5156a3fc4853aefae55483cb362ff0ec1fbb121dedf487ce068ad5684420f84e45bcc481186b6301b3c5f2a8e49b798c0b6926e4679ab9fe349dc3ddea3d0c8e7c1da3e5b0261941b5d5c58c1c68d2323ca557af7d495e313830e116e8f45db3d4e121b1073c1485b9a1a2ecf650080b20cc9755bf0d094e3e98c2d9a916a800f14dd1ecd9fa9644cea3f1ce65115662cd5c616c8f6f5720334617096486ab615f31d398d77d0f95009993c97279a5bbbb81805d812b445ff9d5c599bcdcb2d2a7bea13e9c5d5db45dc254c4072cd6445b20d0a768789ace911544ac61890b5ff35cf1b05af1f06f5ba47014f1e5f5ce867b630af51150ec45b5b1e68adacf7bcddf22a977761acb63bbf140a6e744a03854040bbeb62c6af9e6b4f1670c92adeae11583de62c8af9f533204ff8e5f7edfa053851d79ea536c8b279fe1c6c23a73b53522609044166d60f31b4c3c1a6f67af26f9005e6f6a1f91161ee57323c62ed9c1e0cf90cb59ea3515c9e14c14ecc7a9748985b7577f84cc064e8ff940f8935b92b8e21cb0a19cfb231acbf1d200a43f97d3d3446174d53316ffe6047bb4caac55d463bee4d2486564230247f7b811a5432954cb9617714d773586e53e110b0f500fabf512ec275ff577687a277bd806b7b4876af669bd82a1bb4f42c1092c9bc0930ee46e4d885040b4b10eaf0725fb5282631d578a0a3642d15928432b7103b3fbd54b930c5785c3c8f5be57411c55613ab5436c39e35a9738a18ce4500d2533a2c545338e719126173eef8047626c024e997dd0c47ffde79ac45bbde46a13d6150dfb6428de1d46e43d451b03ca4fc4e270ca4970ab80c2acd33735ea1cce52f4f68aba922fc4d073d91b1e4ae714a06b69348c5025aa908141e8aa5918a330eba81ffa550a57123a553a587f8d8833e838658f17ce0d30bbfa2bc4187f2994ea15dd5d28e5b495c046c1fafb5210f145d36ddf4cdbe6d26aef464f362b2ab4cba56e59b02b1b022d0b4f6e80082c0626d571cafea5b7f1d11517f7d40c24048e9930aa1c38bee537a443b7e4aa9d82acbfe79f46a039d152bfc54abcfd29d0c8c52ff9387e1611f69c835a52000d26686abb7c1c3ca4c13cedf8839c8bc7b59a82e0a9ca96bb21664a5a3ccc6bcc9292bed327a895fd03dfb143b57a6d7a925458efef2f635bd0da232db9692e62574574e9c4911091d48b99a83ad7236ed401e9f34aa8fd1d53577be88a6b1422b073d2355e106911112d2dec8dd4c140d0bbe61cb3afbad3b76dd02f54838765f676404d5c0ecf3b37c739ec9b34d705b102b485e2cfd2d820e65df9e5cadb6a153dffb280927857516b18629665253e646e489d0e6b214c83582c725cb910f2a28bfe26db7669bc750418b227ba8179e1107a8c0c87977fa0c3da1751055be573e50ad598f19d11f7eaedfd7c2c8bc216799c93a16b09e5037dd79f30710d8a50074d48185dd90f83329dc7e86e4da353164a083f5b51dd95089f1d76834d62a2cceec77a9f81d2c726e5967846d7a344dc3ed732ab8aee146b6cffcf302cdfc4aa8e66dacee1a5f45ee0c822a7c22373f3481aafcad1e1452c9ca6a657cde1c24d8bc70f43b968f159a93fa1375fb6711ca21fec66dd38535a7db70716b3c2007baca88c27ffec56f5fb4a55764835f562f1ae7acd6f5d80b2ad79a54fc6a68494306262178dc9972a0b54a05f0e4e04ee11f3cb8fb541723ee35b2553eb0c30868111123e4057c688f870fae8eeeb15031cc87ae9574575668771fc36134e16a9ae5d13baeee250c8530e31b0b5fb66db406b78784e26b0a844ae35b96036a71a08d06728ec83649f99bed4f15d2e36d0cd79f564312044f9b452711e9de982f2e51f31ee3a7102c989eeb5bf9f55775210f8d15880b9435e1f584940523330b35fa815b464f58307da3849d156350245896c00ccada4b63de32d6335b71e0746cdf90f477b2bb7069be932b90324a44b957c2919cd9be0fba1bc787d973741183f909f4f4459b5b24b05bf4b8e02d54e992edb233721145625fc5a315cb680bb57e5076c3c1c774bb676cec7eca5665491c9f4686c1de090a4f919480f74559474f3e3a90b691555b616e9adefdc367085fec316aaf9277a4a6948bcfcd0b3b2112a42e8c1cd400520b13dbacbcd408ee0673dff4ec1167bdc6de364b1c25735632bbf1a2f2f313751420a06449355f85636236a5d4b80d240b71c53e9db536e59f31de78c5aa04eda09420348ffd0605c24e174611322aecc915ad63b95212cb5686047a14d84048a2b6fac067276bf29536ff133283082ea435be24a79859f2a7ea8b1601810f16f12f5ca4c7967b5d5643327dad00682c82292a21e6e35ff5a31397ae4d7e0ce9b9eafa9d1f520ac44ee38514352844a7825e93d857ee2f0dcf6601b4ffcd10d73649c4c305ca0cd1e09a2cfda1b53f86310fd31115cb6d3545123147afa93a802c5221149b7e5e49ae9c470ee5d2507c59781af15ede13fe4806f7e703ab20c89f522fb06cd415b3b18b6379845f4f73c2b6ed368e49204f3f24cb94867644fd84ef51c8fefe172e8e683fd37a997916487bdab2411557178c81106e5f552b3b4660fd74b117713f314058d9f6b32ca25e1535c2f4506655869a6d1fd8cb732e66ee797362295f8b83f2d1fddbcb13d01675ecca6b9a42ab6d7be4762793582f405ca575ba8609650e06e64b38e11b5bdb8f44da9abd41427235e4eec5d93f029fec56d5f46659ab077fb4ed3a474837014b3b8ce9ac0c795ddc6f1b380e6d6a87fd2847469c3060215c4379eea942a9ccdfa9212de251e1ff3b780237c9286653afeb192fa6334ff044e3d6f43265c22518404e3ff84cba6d789c79ff8b1a174e80d06599ee46695499695892cb1f50febe7037ba2a7ce07b2eeec74492796197a88194e7a8508b4be6289dba8f549340609fb36b7849253d0084e2ab686318f00a23b53fbb68cf479dae4e68a5226f651bf74f394050be05b9bf719e0b5e83b6044a90c496223c771d30fa319c37a5439fbd80d6130854b327876db0f42a7a1eaf26d99467601084c4884c4f833f4a56a50c7399257878ff767e6840eb705d9f0fd34b404516a81b55be0ff2e33313de4e9ba8bf8e27efc81fe4d600a45cf93f74f753c262189822f5672858a11d4c2f46276b89d61c248f76ca6a454309033412d7402f085af086e6be41676c6212c5d99ce0e15612b5db038086a0a0523b420f06e1419a5f6a127eca9e6d12099b76d03f10983a43d00fd5b1e6b0ca167bb4434fd1bf320a5edbdc3d2510a245607c2ecc8e4e11451a66036bad620e37bc22f58f516c327aa30ac1e2c65fce7c319412d0c295967d1c86f69e01288723366054fa9dee3424cefd0b68740b796e9b03de2987271952b97372ca7694783593e5ac660ad3de429f11fd3b75d1f728009bfc01b6a1635d23b108f30de5df20b970fe023b5c0a39c39e3a4dd72bf128d49b79b948fbc25deb5a995efe64fd7580d4965860ed4b6f452740a5448c816869b62b861518aa57419941c5d10c8a457b0578741c13bb72c6f6f0fc0bf79b5e0b7c58aa41c08d68a2d292e5c2043a0d33baa9d28850b32e34634c8ad25b4d15876ac9dac0ad3a36bc3f090c34230e0ed3f45c964713583fbde330c6a16ee75b308676dd740396467a83d57c05d227563847006c0ce31947bd8ccdee2b87744c58aeddadac309a28bd8f6bcceb7a8545fff6d32e0ef2143265c44a80257a583e3255a4874220037da5fe123d822d284dededbc779dcd170bfc8f31a467ae29031ab623948b61d64db2a5867f1d54046a4596141dac03be1b9980a331a55b1d570d0b4482494dcb7093f8bc5b2b6bfa7a3a2d4f01a7455e053ba076e18e8e055d8ba31bc33edb3a710b868e596d7b4e4c92d1df17c958e40108dd2b4c502afc06ba26ad32bd84a7052b01c0b0c7e9180eafc16398cfc6525dc1c6f52624358c65b970aefb72016805f0305519a4f9de04d331f694d66968042b23d92af82c4d63dc5026e09ae621631527de36e78b234ac2e1b9640ea5a6135490be2b822986454be253c5424b626f1ab4da484855f1356575e98014203e3ef52afefc8351b63686aa7039c8537748ce09224e316da55566a47b3c19c87847e96d5112b3681f5f9e25520342f46a2fb651858937153a68b01b92c5bd221b03f565081080c4f917958e062baf62603674ffd0e3d6ab48213956c790313e0a38039f580decd2e120d36690bb1af263056cfe9b761e374d5279afd94034ba682bf00e6b57100340425227085000237967b22d34593aa82d7b66d4b4a635eb2d590d51b201f435834539c01b5b07e42023a06fbf81ef4d0d32284564acf772d041be1aca1c0786c2207578536a7c60b26f5778de093c89fa1301b1133f15810905e62a6d19a7a29f4dfefbe58e91b6a63fbd5029776f04f635e148e4aa8c7cf50b92b1af593134e905182b0b40a36c824a0ad381c557929615df5cc7a1420a3f7b100ee0bd9aff8f0dc7d0a0bc074a6e4ccc2fb560feba6323b83ac7710374b80dec9050b24c40e50a628f8b2833521d2935eb928e3f5f8654abbd75d5c700113a89aea8979a21990bea403c72b973a9651d9da6ef07464d4b16a45d09b5bbd16360394e1e044b3b135387797f9cf80e1e99240c9a58febd30040b52c1815d3e2f6ed8d1f3c2c86a69d9b9428ebfcde80e4e848f6e51c9f45d0880dcef62036a4fc6a8ee74c901e12fb9a3c19fbb2f70379730674a2c76017723430e05ecad813733d115be1484f929e911c7c76ae00c14b20cab9744a3274ba36028f58a941926f15a34e10b9a9d72d5d9bd0713dce43e6415af3725f784396b5aa84dd576c261b8eecdb950181d1670396d1e602f5e7fbb996e8a1b1efe072905b39abc15b85fe9a340fe5561714bf899c8ec8a66d864b928923b0737452a122b1daa34482c7a0e33ca43109fd51cf6457d4b19156e7022e71f6b7c83a81fea6a10807e1b7f3f3abd0542cfe48a1a5275304db4904327677233e49868086ddbea2c7baf569b26c63d85d61ab040067239bdf1b4f6d47aaf38190ce79ba75d3b8d991a48f19503d90a13f2161a424a332d725eaa17b92d4258d6178f57f22a69d76372e9da427f5b463441f5396e367b64dab92948b2232c932610e5828b3104c177c148309e0cc7ce951ee81cc70470f2baf14cfa237ac80c9d2b7c38014d7679b9aa4cce652646fcbb484ecf80493a31b6c8723e2827b8dbae93ee5fc722b7a1d7f120b7ad353fd6b431880b3f5e736b54b0c024d3070b279155bdd3ad6d74ac995110353f4b5d1e9d1259a8b902550e78db7c4d2d2e0ea8aaf91587996d6db8ffaccc4a55441100bbe767782751d39f505d3e46807acdcf7d731e5c25096a972c9691d2fb35b2515ab2acf88b268ad267be45e0da798295a1471fc79e1b48f5bb76d4ba1b061790bbeb863c3f3aad75ab67e14b192a4457f4b4fd6c285d748a6ab334f3c66506efb163e87a9f6c939e37c34c885344a9996556e4c9c503236f45d35030fb7dba18f275eea223271618d5421455de32aa390a6406d2783c29ae3f7835cb1c3d664bf6cc6921aa4cbc8c6bfd9e0817794e782917259676736ed061621d63a31e94676779f8d5da313512a85f4cab9c778ebea77a677b9e20693ad5435dfbe730dd6c74b85fa2e828d5825e98c0472e5917b3cd4e4e883906ec5f77981003f30ccebf34a8c6188339d588ca30f6cbc7478f4e901a48ed6f1f4ace1d3510e7224a5ade01287e0be64f896976eb354cd453b9d4c8b9fdf7d24683ea1f5d51667f1d5e15238dfce40c6aa371127c5bdaaa4713a8a6b681a4d32ac75e5c6e094fa25e3d6e0934833ec218ab98e2e4d0e388478e09b6c50e887e1709ae3d730b78d8047c2785ed64615806e08b1e6b46aa6d77d33232a00d0a9e1ff67dd0a3864c364a40dbc45b01f48e383a5a1c4adc1a0557652262c47b11fe1e96831e163005de15e0fb03221f68b5285849dde06880275b1fe340dba9ac4b77d44955c8fff1aa3e92c6e23b11207815a53ccaebba4641322f655630447ceb4524f930ad89858d6401cf58fe844e2026766a65807bd61f01cf6bdc29ac950349d941d7a16bf1ab45d0ab58093f7a4b24580e45749ab833472e8f4adc10467369d4a2d7c526c1917bbf20afcf7e16c255e0477f4525881b6e8be18d235831cb7538eedce152104a698336cc4597fc3a18340a43a73a47714a87693a44336d220feb24978f3ae0020f6d1637a4ab9ffa78e3590fb112dbc57fa1d99744b470620ea824a68d9a5422140d5314517f15f5259c4cd772822cde0fa1e8d0ec87b83b2179464ccf468712387b24be65f016ff751c8d1ffeb72b6e2c03b6ecb184358d54e80c343a9d3a94143a9ff65e6d781f4818b9f6eb28c5264e29e02d038b3b434e4fed821c1e3b281e07f53be7cbef417b2aca36c2d3878323e6e6627e6897a075e344ac5bfb3b66531feb0ee2fff1e639604dd2aa8dfadd2a8e5afdfb6159796296b1ca109b9c77109d1c1f416a99dd283463e2e53a0a1817997d325ec2940e7765704c4e26d59d02c5e347aa191f942837262ec53b5e9c749ab3771d6a184e080fa8ddf94d8f015d392055e2ae3dce47eda469173c2c4c3d0ec1b4735e7f9822cfb0463e03728a39278c8b1b08bac62983bf0b0e8265453af51aec8cda8eff46b878b05f830c4b5f2fa2efb0a031343888def09f7489a0686c0c49e985fe5e498bd162900966a5700b6b3d2455f5db26b1dbfb04619f2d411819ca8f5635e52d013824cecea32f11856094084b7b137631229b60f963ab135cdf871063eae540af95d972e5550a0e5416773dccc9726b2d41c078d0462664e3382aad2b3f756584ab471faa7aa479d256f21d1492b86d93e3c25a55a1ef686e758ead2b5de26c8dddc2781191164d9d47a6795309505105f7a5393b49e0298043e5b883e5ef1cbcdfb035ecf64e757386a9f154307f25f910bd0dfa751565253c2c6e439bef59eea534f0424b3959f93106cd5f5efc503df44e6c5c02e84737b4ef503520ce279650dffa656f6845b7e8eb3691b7fa3940dc314e4d83fc0f71844572a417db1901d1c9f080fd14320d18aa16cc20d00db6299bf50a7c2e1b17483d96f7866e13316ea6cd13baf91b74f7dcba11e1277e45496feeaee38a1354d088e02af5a1323cfaca4011f6473df163c14460b72053acc42d5aa7ed6b1b5ddc445186f55c6967f008f354976f4ea4620b5890a64543fece03b4deb94c62af353466c8478a4e71516211c4673b19bf2add6fae2dfe1454de5776f020fa5d701eff44d53dce2065ba64a6fa81126993ea740896bc117d362012e9ef145d6e4cbf81e26680ee7ea443f60c37a7e52dcced09db9402f32c2f7c0db52be53051a40a0d45fc0a3012fcf66553c6044621fbc0e2fef47d264e4c51ee1d725c56777447692c999f31291d1bd68b6747f2343dd1501438d1ba25e5bf924df84d84574ddcdf7f9b19875a7046e3efab4e49055eba5943ac6aaf5d72bcb725f21ccf6b60d128bbd88d30224bf6847fb5a9d032f768534c5837fb4974c20da82e53b3548987b08388fa2113ea7c8da3ef2f121c8dea2e8ac9821268338dd0646427ae62aad9f62ef94daa0d8a6762dca9585a45510ee4bbdad7740b9a19b616ca86773d32d4b337dabfea256cc3009edfca4124338ab4720c693d2d9b146b1f686cbc10dfa00d7e0b911f6edb40b0e92829d430276eb5aac515b565ed1e2c10d5f5722881107d7fd7bf305e6b4597ccb9540572c0c5070649edb43616576f139bf1661a337895c659abf71862ecc1808216546619bad09bfd78716ca3b8957fafe23c5d544d00ce1534341331105ba2d4cb4c00fcf6d2aa3efde755ea026a124177c844d6e1d3cae97aaf4e111c9612e2316827946b7c47ef6de1513555e413ca22d1562860330d077ee97d4784bb5a93f9374765bd8129057fab44c224ff3f5fc318114b3fea81fd5a201583fe8e74283be42e72d386785c04a4590d78cf2c7e28dd7c94555b2d1b46bb3f236954fcf2df9301f7d13274c35f4b4ee44475858bf396592212e0d2dfb71346713a6539a65fb32de5cd35acf668b8330b0c49d6d136b32ed3fbdae0fec0223f4114fc7605ee577c6fb85f4241159c475aacc8d36d3c753a873667ab84d32e24540a11f59ad0c6079b39b9766a098f1767dd79ae08b02d7e8937fd3c550201431a7b12c8fb58532a8c30915809135a70c77f12624cdd2c5c246c949c2c754e67c8897019e4a7ec3f30a321d71fd574762473fd2aea9c6f3cb04a5a713b4902018107df6c7c8bab1f51a2cc5a4770bf50868e281f0a22d15d389ae80411d52c260319527729f17345644ebb85649a4527e20e1f163f87006e20244398ddc9c17a76a65e60c2367a76fe927ba622a93d2d20ef19df0abd997c18e3974e350c222e1035fb0af8a5ea19899618ad0b5a4c376371b9cce2a1853340da79a6cec8ac0e6f4d96ecad32347afc00a98b5a138f41699f4f593a10ee4eba2e4ad31e91e75242263dbec35f896aa733d1e2f7fad82c4c373e2e7953d47f3ce5317ee8615b731804327eaeb1fa382ab9b2073f0c564afa89e1a930ea346a06427d21d2f57d0771ba0403d3a92502cd89fb405f32bf483c7c77714204a403c7627c0fd0e3f434c3548706eea5e25dafe477b9e674ca38fe3aa2b09211b66ceafe35cadacb2c4e82d083f45447a66966e5e0d983a1165299430d0b86a5c74d9d1bf0eddaac381d47d6c8e90e2a1c461ff4e9870e700f47181ccd6942df38230935926f37934411e202dea595ff9e3d9fac136d43c0c00e2b38d4bedeceda689ea4f244bc8b7d75502896eeb04a22197e90c996cbcae037095f659097fd0f13277507f10c5a8114d261e2e4d52ea21feb45c0b1fabb622bc4bb3b5c26eddd521882c73b43300c240fb5672dacc40d37fe7b8523423ef21dd8322d511e24ed404035fd58f5dd621a52e4c0af2290d800ae035aa2730094578c1b9deffc44fa1539d9931e3d9ad31fe6952ea281bd0568f6d15ce536b4323fca55cdd940731e0d155488b603463d482a8544212d0d2948def905d518ea217c4dc373d2cbb09a3bf05a444f8fefed44d47b47c5860cda2bcef4a2a865d9ea2fa79ed5699a577c714298bd4840a42c599f9e05d70df1d6354574f62ec457de2cf8b83045281c8460e20c67cc1ca2ef0217197732dbbea4671758cf8fed22222331f08f3c83f6da28f8a2c24abd1c654a64179e9ee3493741038e0e80c2531b4fc617944545dc8a28bc8df859a5d378098fd6b6792a85c6284fa2800c2e4e35492c7ba3faa29c26651d38c726cb45293daeb338f177266240af94095da381050ac34185207673ab0db0505cf2bea05c0979425e7a1643d105e89d56c95a7bf6603dd1e90dcb49b321a1babed935907d4ef113d7e6df7f2006ec74c626e31d4d2c47bcb5ecb64f3e3071c3e52ffd54c4562007d846a4108042f2ef2157828d3e4208eb21f24569053faef88ae3650ff740391d46ebf693d0573df8f9c62ee6ad01fed8d7eecc2dee4a0398f59c9a64a81cf8e01e6547524c64bd782f3d63cc6d384a88e58d3709740bd204127176920d5e60e931b237b74554758d55baa3d351362bbde7234936541095edc9b49a422429942f21856544fe02cd3a02c55e2eaf02b3dc46b9abea142896211e49ed90b9316a2b4fd2f4d79b6e43150e7cc7e6903d6333fd410494817e444a1a866248f05ef3342e8a7d82f72441d7fcc0f890ef7b4da453de7104c902aecd173ff222d0048bb032cc67e35145726af656944d9b2dfd2fb1fd619a666fe1064b897bb3c122c22fa170150e6d775d7eac62b5a3d81a3d6e3673fd5c442518a2ae6d2fdac040a8d418c3ef0c420b63d7a51fb837da7a21993a1616cae065da6fa4ff8f0d7b02fa0db7521e11db43
+ _Keys: 19fa7c8b7a3a004fc497f181b6e026078db49f8d499d21408923e4a607ce3a595981be3ba9ff4c769b8f130ebe47887ebdfb98ebe5da7049210e18f42f147d60c6bf413c35ce7d12db1f64f3ada3bb2d821326d7a7c363136666d31a094491222bbde8f495825a4e2f05ece33b3881253ca117543370bf2531ac8ebf10b7f565a03ac9712b88ca58c516c5a7b6d8f161d9edf2f0d7536a18cb29cd07833a5a3b4c7ae726cc17482e559c16f3c9b08b330df8ea680ec3b112fb2cdae8148f027d92fcc7a31e740502060f5dc0ccc4743d6cbda2a2ea985b33ceaaec1a66c03614f318fcbd24a42f1ad60e54113f577a421594d13a0cca1e4dea74ef6b3011a507d84e972e95f1f208c29e6ca1845b5768a29ea858678d9a45dd71c72675172669d2216f05e07a6318526a8851fe85233ecdfeb27a2a54c77acf2f0622887385307cc810cd2b8a733f308aa04e356c1a4343b0f897872b4935cad6208970be4d2cf27d077b2c4e3454a429a74d0d848d0856374bba5b830d5a1c80b06ff717be50822ffba2e9a7ff4587ac62212c429608d6f7162a2a64072a2505286ef155af18b8b137cc9492aa430bb82f7606ef4e587d4feeec0bdb7915a98a7574396c8e2e8332e567485d85710a55a2690825a356de044dd24122aa16cb6700080dae1c5afbe2a59418fd3111573d9dc4051c54111fafcd938f2c107505edfb00aa3545750cacd20fd3d118628f24eada7da532296de43a2f1ab3ec2f40174152c0174e5ed6d08c86c931ea726390e0507706ff52bcaf0ecfc98bbb39566936366fb9b255a7ae89207f8b652d88310d54f616106692fde55d0708af69fa88a9abd063e55043de1680da2a9e6d579975acc6cca75b961aacfcfe5ee932d224e50c4b614d14bba7a043638e92631518771690e1bb19dced44e075745b028dafe7e182ac1c0bae65ba3d601c0940232d20cceb1df107aed62a36f989553501753abb270b44324d7d8ea6c2b2ca297f8214402bb6de62c8eb8e3d9b0f7256185d35a921a8142098b19bdc42367948b6e493aae93bbb6f41153dc39aaa1c28d34255148ed5933b025933dea2cd7425bcb047a020454d5b0b9ab1a5634bdd403229c26b55bebe32908e9848d620fa19a0ac538a933d5645ebcc055ad1400e0de2b71574be99675bf8a3102955feb74a2c3eb04c15e369386f97b630278db035378baf0c5df0c2488deaeb8cd4eec223eb87c2ea2f74c059586242d7d03b030c5a9ee69cec23c44b4e60051edd993b7bc5600352a5affe328d95cb10d3df8656e07cba3b9865c358a438613ce775213415ed87a215153e001a10e4ef5c6f3042f4c3e5cd2819166d6112b9f17f5bdc220857778404d76103118557b8a822ec2db3cc3b0938e3500b561e72b38fd7ae010c88f1098dba07392870ac4269fb7604ae4a6e96bb747f19d5bc4403fc346500d5432183fe0a3d37333e0b5c95650540fe330a555345654cb222f721919fdb76454a0a5cd01af12cb7ea06efd972453a5bbfe973432468198e568f78da72731205a296ce63ceff4027fefc7d6914ba336fc2c1a196537425df9e0c581f69b2087fb5d4317015c46f3f1e5c5bdeba5d2df359a2a30854191da2335d6bcfa490744d574d55512d623419a9a46cb8d49f27bf55d4d839d10618a0f1cca64d60c95de66211e085c9c552c53a96f52a47e2097c7d27a25cc7c274f36e41d3df3e7d29069a951142fc403e37bc06852bca9c66ce277d3175e7cb6713cfd85bb1677d2fc509294ae69049262e00dc7882c7ba04550510a9164da141cca3d4dc2d14ea6ea5bc7c61339be514a16a1771cff40969d4dc573e3c894702705927a4eb212c63501ef637e2eeb1659e52653be5bb871dc8f266b125e31d2ee5aa499d965dc71b12391593bc9a30575008e3b4e09458718416d70ae562427d168be888de916169ad4f4ba01109527ee4e6e6a61d506675d74849db0d1bb064ed95c89ebf4fc70b843bb211345bc43b4b385f641da77957fcf2e794bffc0d74532d0e1d0cdc261dd77f87b144cb2901579148e75640d90c451ccf2c5994d52ec0e48b27b6757d3674c4468ee18fc367efe63abcb28f3e5430de2672b5b1567fcc183a16e01fdb4e8427fa5248fdda7745bd1bf9af30a24f6f760e1d8a8d2e169cf46b8ba7516b16ed2e96b5bbb6e20eeb540f7f4be5844b79e7ee151671a373a4e26d58e142691f576b98633aaa8921a5ddbe04814bd97a61c4cec06828ec5598b5a5688fe724522d9a4a7d9611d651d36249674d03845f0c6272c125d7806fe2bb353081161d28c122f29acc03601a51f08a4016e1082f30fcd93d5728ea47b79ca0e2b6cfb242a9d65f214d9d8402fab5b34eae36c45bd0330fbeb978ee2fcf2a0fcb24f222621fa9ab7d0dce725d9ded17f76d9f671ad6c06605d0efbf3940a506dad2e62f21bcf924dbc733497d038a08ad7f6666006a66281ce82d2f6619f66f6d35134e18a31cc8ad1ac7b966cf550a7f3749f10c0e64801184e106752a681216ffa3837967cd366983232521642549cf9088373ba9d2726c53c7843229cf12c86a8436660b9a28c0e4238a4c7ac4f0e2446c5178d6b4a90102e51465b132d9ec6c3ec954f282992fe09c9f2a6d7eea356c2d4766a7c4e03aa5e334559752fc7c47b5d52b06e06eab61a6d10e4f7483a3a0ebff69f6c0358c0bda930f4d7cc274d62caa67c537732b4a1ce41e4e79870e9eaba95cdaf4fd482fda400b1dd3bc5c8f8419633140f88e2c72327c9afae1cbeb46af06ac297cdb123537326592c57c95cb2c5c853ad052230733029b09f8776f245772a3ca0276dcc8b833ca146a1411560f76a926a9289a1bf169092fa58ddf9c3a7517c82635364a7f4df403890f9d1ef144fb812196cd7f0c77286780f491baec2ca6f61b9da400071600beb18fe2b7e76e86d5d0c1605cee62a2681f2dbdd87b071d79c190e8d373290a985bebf6d6a810a8113e79c5a1a532eec366e53a852b5d6e466fed752cfb7897a7bf6f1b653f6d0c571f4e8127805ec3515736dfa68f07ba29f321139f0d5a44ca68c07e191e316809447bd2cc041c05186bfcf1e65731b726cef277b7a02e29b17188403b8622365139bf2fc071347e1dfbee809a1671c43e2f82acbcd800b78df10f42a4017c8a9dcae15d1d2c62fff026423332e57357fd8ac87b1d9952a64ba6e19ca69e24acf1a805a8b07076b2f15811115bf70962f3f016365a2b20b01b6f5693eb1d01ec4babb2d341af68b923a2b5bf5a3f577bfae382678d6e455f423bce6076d56121e00caac4b88c2cc83b11cc7422a66cf74d106b78d3cd635aa4d5c6ce0a81623dbb7e5b896e826999417fddbe2caa248eba28bda822986bc1a561f21387762d2def8c67a4f06e2bc76e0cb0d75f9409074dc689b94fcb3f83cf281fd236e5297dcb083a94c883282de7fcf721e5e73b505595e4f7120861c01328054c9b302af4022af362109e2f2bef44313d81ec1a39de7736f3892f04d9f6479188c48f2cd00d4fa9d9c99a72d4516d76698e182e2abdda6dc8354025c623782b35791639d9b3d6a7a4a251738016b3a41242a73e716a0b132fe4277ef01d45592e93a97c88b5ccc634dda046cd046c4031e66938e3bac7e8e2834609651b747a894e2067a554335438e44327f1cde6ed0971e14a83c7852308adbe3ed656ef8a3a32d12f111d50acd2e01727d13d91114c1fc636e65f0ee602b9d47fb09db1bce5ee0a0037e7d0ee86e42c0594d428359a07b5400093c0f470edd76c5c69ab821abdbe49752385bf4695c3063fc69ddc8e9305462bcd6bccd4d0d55ba8110ae281cdba388e7dda89469779443d5decb893f8ef4b57c39fcb0af7421ed256e985ffc3c54695167ccd2c878e567135e0f7dda3ff6a97dca81f440971457a5478000a8b6376e1d8360c581b142d9608e7a1456bfa07564a0d94d4a7b01976a0d20c469d880ac65d0dea36916d6c9048b555461adb44f08c58c4a390ef5f95c81e74014cd75e59579ae6381f0b32a134bf8204e4ed2a3587910b5c8b361874e22ba04c32db059abd3cfef63523236f60c0820b69a9681af4bf491b069c3f5b7650edaecae8503862d4b8df032e396fa51cfe8a26f82ac953246344f2490055701c155611592b394b9a3c1ee2f55a1bf1f247ccd2d26907fbff1c2bdc80674ad889b2a6521d6e8770a5d5a1229266b75b7f2034190274c65840a4d302386b6bef9ff2fdcf4149731a6c98de17942073ba9d5fee78c30e5fa2c9a03e68ea0f36204474695ee17c4bff0675b00ed30ed406d360c39fe63b929d3615656a0a7bbc9bffa1e8fa965dea7e69180454e330dca220b7df4ecc352b1196c41eb28f0fb8cfbd62bc27462b9e145567c25c1264b234edf3be1e113122b8fe0f916a78044273957140d5010ea7ddc4fa9baa221fb56a55f91470e032c3ed7b7ac540e3304aa888e7b67a23199892ea67d8a8886e3c1377a78f0b3b603c0fdb93fa5c2e4a7d24561caa96003a473b91a75a470a6a98d8a779cf888976dfb7c7ef7a257b79309bde95c7ed4c3e31f237a3cd6f326f0a0bcfdefe65af544078f6f57d7bd96bb14684e8d850aa19c651a98b6a058644e66f933b98d3f00b2986bcc9080f6c13622ba77a1bc4cc0bcdd33418335b655093c331b81c194e667a0d386610db497d85bc8c077879970f0f788481ef1da14bf438ddcf86935441de988d54da39ba18e886f1c49546fc655bb9abaac6878c5c94128d280185080d674ae51107ece948329c69750e65e03b339ae27b70de8910f4c85e45f9d5f44230b5c90e524e0b3bb3cbf2f392c067444ffa037bccaf833cc7382a1dcc2e985810164f89baa0c11e6db27652245a744ccf5d09012d86897f338cd68b7928087ba8909556fccaca71c2da8aeb7d87841910cf4ee764334c58a6fa99d2b4b6af48ef5d3562f701db50a0ec4a79453ac06f8ef5d3174c1eba739bab7b57cc374f33e8b0b4bff010953f3aa8bd48d085bc6c8f107a773d9bd8085ae78680199d8806d542fb322c3bd701c5f052438afb772099171a234e388e4c2754e52869eaa729cf3be1ed7e1066351884c3d112e46d5e6f651930b7ab540e30b7f427a95067244828744e1a89a15782afc42d049fa043e686b803d1777123e6d31c36058ddf69c4c1ae08e7270a3159380d2f096af52e49ae98b99394ae0b30a5bee3e9482c38bf2dc0f03696c440ddb7321eb7fe79589046c8721a11e50ff42a8e2455fb084deb57827e23eba63fe7ea3e5f84b41043a71961f0ce5126253061b78e7fb1fe1dafe4090f80f77b5b5f77a5faafbb6b40194bcb6f5cf81c67325c4fc13417bf66e95cafa0ab01c2616a42b0ba08de2b15cef7a8ca7d6d7a48c7a140dd473d9076360c11520bcb94177895fbe6b89da010779b0bc3910b1657d6f8d809c1e51a2db23983fccdd809677340ac188e6c6f65425065ac31cde52b0b4684ec0d74a95cb12999f1219ddd6091a34f505efdc96a778c388f7f92041aada8f9eca2098a1717f73748fa9f7920d239e571826b330710ef76803c19dc1d267e4578a3f1bd652d666756341165281418be46ac9298418b0e234c6df62403e5e6dd84a5ff83207c7f9fe8d2893c21ab6192dca5698e6d19fcfb4debf52d37bf9b8fb2cb1f7d12632035d30c5091144a44a00b64485e7c9af1e14ba87bef3415472d17ecda1c792f3ee5210169112a5ced08811d51173c1498e218ad38044208bf98efeaffb24e78d513294d197913de9bc755f4a5f472c8f3b22122d48522ee53a4587019624112c65ca895c75274e17d8ff9a085bb5a84f72e7aec45f709d4439108b966e8286445e5c71c857105ab9d738398585c3b235fc67b358fcb4e3e5b38030c80505f8c1b790f545aaf2aded7ea8238e50f2c6133d4e7d39ca10cefcc763eb292062b112c088221b218375064a6f285b279584b0b643f553733108693df771b8e887022ea8ff32272f4137463f8873648d502070803712d5ee33e24caeb90be938541ff778b61706a531b2580bce919456724969712e6917d191213cd0aa46f1fe61b4948bd6ed2e296715c1f97ad1bcd5769330f2656a56bd27e5e798a6a7fcbc427626e326103d6f7794f8f66ffde477605ce555d9b4c48970269e3194a2ddb4b47bb613d1980af006e089f8329ad8393699374d2626a4f9303736893d3d7b9a515c1c36dc4f81cd00dac6395520e1a3741c3fe060f90aeac4987b19c151667416f40f7684def3ef65fc13512f827c6c3729fd495d6c0b4a5702326930582843000ef2ab5ebfc172f7451f7dc38f44ca559a53229fecc411024d172884e43310665b3bb8c884c83232cebd3bac9267ae62c0ca800cede208b30eb46b749d8a58c07352bcb74a20bd94ba96abb70518f6b7974f4ce53ff24fd05a7b33453fabfba69778d3425444cbb785fad79abfb90fb7a27903a0b07b9a46e639b074285f15957b56455eba24a932df6e6af1de16fed2d08907c2b0ffebc3d91e4d3616cc5e57e068a30d4ca1f8f4dd6899052f7f44a01adb6a64188ce3e684fecc49a919d5d1f913a3f667a40ea6299d2f8f8b46bb74c636f7e7e392f295b7b0e972a710d11084a917cb3e0d4635c64a0c24c961d3d7dfe38077daee2e43420cc9b0651a2dc31d1ebc4188b4cb1268a12b2f554ce9500eaa57737e24bd950156c11dd818e75022a8e9ab75fa21a596646a776e2dd613a4f2e8a3b57e3697465666ad918140b761d05cd1280c357590e579e14898dcd4fd0ba74453c4ad26948e6a6d7e4914a3b87acd350e64fa645f0361788a129f93f4d80847622460d718e44af390f09c167649684afb7e531381087a00e5ac9367d20fc133249add740a062c3a29f6c351c41bbf0aade71675dae7b56c1aa440b2ea16b6129923d941fe9be9f084b3a9479024144bbc135ba3fb4c3492055d86e52e98bad405a84f6148c3b7122ad2a231fc58fce6fca7e1953531255ff144f6a536ebdcff41324d423d6c8e863663b3136bf1d32b2090ac57fa5e63df301fdbb7aa86547c714c35042a23df12748362346a2af44b8156a72765608158d8cfd312387e09cb019d65c68cb6f1efaefb50e0dbbd7c659ed7b8a0360e41da91826af4f35de0077eeab2966d89a0daa850e790c2f4ff0466d5a45210623d8f69ddf0754ae6031888835886e5e29b6c7b7f308009da3c217da7df956b7a2a21ac263493b123a1ea71ade021dd042c7772fb63c7ab09d30cddad64d6ef2a5255e2b0e32065beb55aa1d3f5b6bd1232b799bc9610614502f07a1d6253d6cd3e4e2ec92b870132d7d0feea64635eebab31fb028e06cd71f0753e63e8923ce681e206d4ef36047017b60621737084865176dc4cf85799acd84581be2876b43e48d5ec21afa3560e40856f944352515c42d58377d100bcc33c15c77f25205e4babd3577630b3ed440168219f64f424619fc1c6ed4f63cbfde62934955223ac9a61eba5969004fb9ee2c789492242a403da17752cd257e7443f8358ee800094d68634b3d25ad43c2cdf560a7e12421646f6dc5641d077c9ef2d76cedfef1586b5456923870ea2450ae18c8858c6c08b028f297d8dcc13793a408bfc606a2618009ba1fd68ee62a599175b6053ff61d5a21f74885d21f3480cc869fc554f57bc95f7102847b6138bd380e95ad88c353677fc89f1496a07b5aada0e318c3c473129cb7d3ffca2160467a8250f525b5387d1d3868c382d80ae90b1981dd745c46ab7d976a28063c76f2c0767ddb6dba55fd649e9ba661cb2c3aa6c78588bcf956d6d27a6970de5f3467952322c5df5b0169cbf2625097344a5dcab9b453163936788019aad29804233d2d5cdc06bd407019532672818bc63d8d7ac4e8e618477a44620013b013f65902491f2f632edf78910e074f42b08742d02fc6fc085fa95fb495675b43d2402af8c75519d8cf4c116620addb941af0402240939facb6b80d5bb9b078eba1e25d9fd8eca9bc4571413d2b93a137c6c24d0388c73f926d054a6c9e8c6e7f3b03478abd53ea3f23a95b209c5d9296adc737f70d848c97dd1009046820267c915b6bbb8c6a7831398126798f07fdeed08e3325545ba7282e594331a21057bc30274e91be04fbd763fe1f8c5e5a747ee13f6c86ddfcd1f6e82b4b6bd2468e282969014c345e794d13ed33767c9f03f14739566925554f5f218e6271da857b3c542541e747b7479dacc820cceff4fd96cccc1d5543f00a5e6f4c0d57638c02646c1535a3e0eb38ff80f3425c351b4e158bf83da6a3cf7f452f9f566d3b10c6df394437fbd5a54a1f6ce22c51ae66938a9b22336b4e5bc19c95f02e8142ccc4702c636a7a525340e6ae1e3ac0a2d0f39533e02ee723ced16bf92b661b89349ec75962234bfc0edcee621943302100f9c5fc984b23faab93fa35d57f26ed5a6fe3bc011a05f43e9241bd1c4ac4ee5eb606ce5e1622807bccadcf2815d871fc234276d97320e6f4d1be06091ff7bcf901e4550d0d10669c6161acd20a2d9cc6dba4801f0b5941de172b9aa27fcab738c0cd60f93646942401c87bf669f9f9983d7592ac258f1fcf312c96a754f7e3d5e71b6c287295fd2138a421d4224b751f3101650a36f5edcd526e38f5501230f51b5af0b2732ed92c8d4c1a35500b0e1948898aad6ef92fda8bd446373b266123f6c6851e5d28935fdb929783254982b99fe15338777d780b0732445257bbcf867cf4c12452bbab8fe31576ff41e5483f493ebd3e5a089df1a4c4cff71c420897611eff1a09a80ce436c45561057ac9ec7b839b9602902b7357cf808e75a3aca10ddf9e231b6248f14ba2751e5efef61d8dbc72a05a7394f1497371d92865a56ce84cabda24592e2133731e5a1bf4eba7279dff46154dfc9b4bacdaa82b2119e5fd083612531cf9338d516ce76f11f3aa78354d7464ec8134484625d1342ab2eda6c7a2ed2a0205bc69cd2b9946e40a5c9f8420612c5c7eef79fe36f309d80049fca572c94c202b8acf6ef4683f1811d3ae7d8e4709ae3eb4b74c8bd338073abe328b6a1371411080599591bd6717af61ec62458c4946bf551bd87e6754013c36cbcac94b53019e9293f1128c40fc1ccefbedbf9b3e518a86b440d0b540872aa52d3776ce1f044a11fe28e0c53433141fbcb06b6741a0f77a3f4296123117aef33893a0f7794daef7a2ad9d1671c552812bb0f88f1bc3648c3ffc8fdc6dc81fea292c02382b0b996f0274c493031ff7850fea187e0e3e0ffbf72d3676412f76953278c061377652e0e877725801d0895df314ec58505f2414e3f9bf0142f14ecf14a63a845d6ab26567c7696835b7fac8b69469561ad0e5919cd5453034abdd07d65cbba50bf344769d790f760abbdf99f387b8d779f8b445c0a8e788501d6543169d6d2772602c3baf0c465e3f708657b4df24bc0cfa7132efff9a4c0a44da7fec349f9329faf36ca583d8933ded7baede6f2b8e07aa361c2c3b37730588b994cd388df50e1b80bbebb8178921210b2385b7d585184b77966bbbbf643e7f99e236bc3afa7b70bdf8f0e77abf6daefa4d475bf8bc5cc052e74fdb9e3526e6f96b51f9c0de18ef57eb06236bce2fb72918b60dac9978aac18a96ac54602e88d2d6e0e5116613e3cba7fcf249c62c211697b2867e186d6d1c58c8c9b89365f7bc8ff542af1559c205d242059c850c7849473c13ec4b0ab96973c9b89e492bc9be0c502644912ed50e107f5429972f974c4f807057511cf7665054dc21ed244458f43c562acd432589eedd0335a11c005dcd93b1364420f0d7b8726a19f40afd343bfb345bd93e1993a5f9462f1f2cf892acc6107f290c14d42c2de240ae3e82071f310659175b848eac45dc3e663f497495023a45e57df4d1189fd154a359be1c88c0f011da5156f8bc7e2d1bcf2a6fede56eaaab0338ec9c3c3541788a27330587bfb5a54e379b4458320263aa26fe12f241c6eefc121a50ad8c4d0f92226d95b032a38ee03761522c99ad2eca4fb99ccdac95341244f68b599a073d16754dc95f68eb223673f329a2181a95bf471bfcd4b042e58c5ea7f53c18344530233cb64ce4ce616325d440b96c91f92a734aa1b50412c6b733ab413e091ae1c0385ac654d1e2a4167c61f9dd012b20cc5eff188f10a06d3f0e818112cba5599111b832640ca4b85f758a1fd63650ac377929362f05ccd8e232c6137f55f2ff4679c117e49d5295f70f5077bcedff290856c2e37ebf75647c4b96c9561a7a382d38452fc26322cda135e3f4e2b62f53c863acfcb8b6e7ecad14e5e82e22c29dc81bb0b6c2f721325847f9db55aeeee26c086eec31b868ee675b6e4757e694c7c152e186536baa968f32d382b460429fa07e0543eb228330265bbdf3ad1469f3371e0f1dbfc11cc35741431f119b6cf56b15204db2858e0366356f3c0fc4b5a5003297a56340ef9d84616afaadd27bf27a5073046568f4ebb93ad371af23df4eb6260eb6510ee4edb411155e3b634258445f38a28cec19044f65bddf6176ea026528334ece2fd158e65c6d7318bbbd08ca18f057d0b093c01f70a937fb6be579310e264c6b2637471e1877f08a6b178d62202974f08e3869fb1390e33a17907999123cf2613eae6c234825bf03f51b4e595ae7c151169f13961df0492739a9e97f187dd63cc2ce7f8e2b0ec80a1e7f666a312f316a493608187c03f7a67eff14fc1372141f799eaf8246edf96bb7b4e6fb0e5b886623319bbb319cf99c55adf82c533d8d3df9b793ec552746091acaddf30b8636ab12d2f78d71f23afe0cffb9b87bdc2edcc2b63f0c0e3d3d8fd69bab6d5d45fbf1186961ad2e1218a59dac7019492f654a26474f70304c87dae4a43e25347af8fc291c147538c74447e729198c5c10ceeaf3ca95b0663f1dd9790f38fc187c62c9a85d480214c6b6a1a429f25a114938221b7aca0b34563e972654231127f80ee2c40cfba37f33aecbcf7998f26af7a07f4c7d7d384f341e9d1cc67f976c005efb09cd113d09452deb55f7e9850ad311d8352b84dc6f1f6cbfa3c0c6877126212624c5156a3fc4853aefae55483cb362ff0ec1fbb121dedf487ce068ad5684420f84e45bcc481186b6301b3c5f2a8e49b798c0b6926e4679ab9fe349dc3ddea3d0c8e7c1da3e5b0261941b5d5c58c1c68d2323ca557af7d495e313830e116e8f45db3d4e121b1073c1485b9a1a2ecf650080b20cc9755bf0d094e3e98c2d9a916a800f14dd1ecd9fa9644cea3f1ce65115662cd5c616c8f6f5720334617096486ab615f31d398d77d0f95009993c97279a5bbbb81805d812b445ff9d5c599bcdcb2d2a7bea13e9c5d5db45dc254c4072cd6445b20d0a768789ace911544ac61890b5ff35cf1b05af1f06f5ba47014f1e5f5ce867b630af51150ec45b5b1e68adacf7bcddf22a977761acb63bbf140a6e744a03854040bbeb62c6af9e6b4f1670c92adeae11583de62c8af9f533204ff8e5f7edfa053851d79ea536c8b279fe1c6c23a73b53522609044166d60f31b4c3c1a6f67af26f9005e6f6a1f91161ee57323c62ed9c1e0cf90cb59ea3515c9e14c14ecc7a9748985b7577f84cc064e8ff940f8935b92b8e21cb0a19cfb231acbf1d200a43f97d3d3446174d53316ffe6047bb4caac55d463bee4d2486564230247f7b811a5432954cb9617714d773586e53e110b0f500fabf512ec275ff577687a277bd806b7b4876af669bd82a1bb4f42c1092c9bc0930ee46e4d885040b4b10eaf0725fb5282631d578a0a3642d15928432b7103b3fbd54b930c5785c3c8f5be57411c55613ab5436c39e35a9738a18ce4500d2533a2c545338e719126173eef8047626c024e997dd0c47ffde79ac45bbde46a13d6150dfb6428de1d46e43d451b03ca4fc4e270ca4970ab80c2acd33735ea1cce52f4f68aba922fc4d073d91b1e4ae714a06b69348c5025aa908141e8aa5918a330eba81ffa550a57123a553a587f8d8833e838658f17ce0d30bbfa2bc4187f2994ea15dd5d28e5b495c046c1fafb5210f145d36ddf4cdbe6d26aef464f362b2ab4cba56e59b02b1b022d0b4f6e80082c0626d571cafea5b7f1d11517f7d40c24048e9930aa1c38bee537a443b7e4aa9d82acbfe79f46a039d152bfc54abcfd29d0c8c52ff9387e1611f69c835a52000d26686abb7c1c3ca4c13cedf8839c8bc7b59a82e0a9ca96bb21664a5a3ccc6bcc9292bed327a895fd03dfb143b57a6d7a925458efef2f635bd0da232db9692e62574574e9c4911091d48b99a83ad7236ed401e9f34aa8fd1d53577be88a6b1422b073d2355e106911112d2dec8dd4c140d0bbe61cb3afbad3b76dd02f54838765f676404d5c0ecf3b37c739ec9b34d705b102b485e2cfd2d820e65df9e5cadb6a153dffb280927857516b18629665253e646e489d0e6b214c83582c725cb910f2a28bfe26db7669bc750418b227ba8179e1107a8c0c87977fa0c3da1751055be573e50ad598f19d11f7eaedfd7c2c8bc216799c93a16b09e5037dd79f30710d8a50074d48185dd90f83329dc7e86e4da353164a083f5b51dd95089f1d76834d62a2cceec77a9f81d2c726e5967846d7a344dc3ed732ab8aee146b6cffcf302cdfc4aa8e66dacee1a5f45ee0c822a7c22373f3481aafcad1e1452c9ca6a657cde1c24d8bc70f43b968f159a93fa1375fb6711ca21fec66dd38535a7db70716b3c2007baca88c27ffec56f5fb4a55764835f562f1ae7acd6f5d80b2ad79a54fc6a68494306262178dc9972a0b54a05f0e4e04ee11f3cb8fb541723ee35b2553eb0c30868111123e4057c688f870fae8eeeb15031cc87ae9574575668771fc36134e16a9ae5d13baeee250c8530e31b0b5fb66db406b78784e26b0a844ae35b96036a71a08d06728ec83649f99bed4f15d2e36d0cd79f564312044f9b452711e9de982f2e51f31ee3a7102c989eeb5bf9f55775210f8d15880b9435e1f584940523330b35fa815b464f58307da3849d156350245896c00ccada4b63de32d6335b71e0746cdf90f477b2bb7069be932b90324a44b957c2919cd9be0fba1bc787d973741183f909f4f4459b5b24b05bf4b8e02d54e992edb233721145625fc5a315cb680bb57e5076c3c1c774bb676cec7eca5665491c9f4686c1de090a4f919480f74559474f3e3a90b691555b616e9adefdc367085fec316aaf9277a4a6948bcfcd0b3b2112a42e8c1cd400520b13dbacbcd408ee0673dff4ec1167bdc6de364b1c25735632bbf1a2f2f313751420a06449355f85636236a5d4b80d240b71c53e9db536e59f31de78c5aa04eda09420348ffd0605c24e174611322aecc915ad63b95212cb5686047a14d84048a2b6fac067276bf29536ff133283082ea435be24a79859f2a7ea8b1601810f16f12f5ca4c7967b5d5643327dad00682c82292a21e6e35ff5a31397ae4d7e0ce9b9eafa9d1f520ac44ee38514352844a7825e93d857ee2f0dcf6601b4ffcd10d73649c4c305ca0cd1e09a2cfda1b53f86310fd31115cb6d3545123147afa93a802c5221149b7e5e49ae9c470ee5d2507c59781af15ede13fe4806f7e703ab20c89f522fb06cd415b3b18b6379845f4f73c2b6ed368e49204f3f24cb94867644fd84ef51c8fefe172e8e683fd37a997916487bdab2411557178c81106e5f552b3b4660fd74b117713f314058d9f6b32ca25e1535c2f4506655869a6d1fd8cb732e66ee797362295f8b83f2d1fddbcb13d01675ecca6b9a42ab6d7be4762793582f405ca575ba8609650e06e64b38e11b5bdb8f44da9abd41427235e4eec5d93f029fec56d5f46659ab077fb4ed3a474837014b3b8ce9ac0c795ddc6f1b380e6d6a87fd2847469c3060215c4379eea942a9ccdfa9212de251e1ff3b780237c9286653afeb192fa6334ff044e3d6f43265c22518404e3ff84cba6d789c79ff8b1a174e80d06599ee46695499695892cb1f50febe7037ba2a7ce07b2eeec74492796197a88194e7a8508b4be6289dba8f549340609fb36b7849253d0084e2ab686318f00a23b53fbb68cf479dae4e68a5226f651bf74f394050be05b9bf719e0b5e83b6044a90c496223c771d30fa319c37a5439fbd80d6130854b327876db0f42a7a1eaf26d99467601084c4884c4f833f4a56a50c7399257878ff767e6840eb705d9f0fd34b404516a81b55be0ff2e33313de4e9ba8bf8e27efc81fe4d600a45cf93f74f753c262189822f5672858a11d4c2f46276b89d61c248f76ca6a454309033412d7402f085af086e6be41676c6212c5d99ce0e15612b5db038086a0a0523b420f06e1419a5f6a127eca9e6d12099b76d03f10983a43d00fd5b1e6b0ca167bb4434fd1bf320a5edbdc3d2510a245607c2ecc8e4e11451a66036bad620e37bc22f58f516c327aa30ac1e2c65fce7c319412d0c295967d1c86f69e01288723366054fa9dee3424cefd0b68740b796e9b03de2987271952b97372ca7694783593e5ac660ad3de429f11fd3b75d1f728009bfc01b6a1635d23b108f30de5df20b970fe023b5c0a39c39e3a4dd72bf128d49b79b948fbc25deb5a995efe64fd7580d4965860ed4b6f452740a5448c816869b62b861518aa57419941c5d10c8a457b0578741c13bb72c6f6f0fc0bf79b5e0b7c58aa41c08d68a2d292e5c2043a0d33baa9d28850b32e34634c8ad25b4d15876ac9dac0ad3a36bc3f090c34230e0ed3f45c964713583fbde330c6a16ee75b308676dd740396467a83d57c05d227563847006c0ce31947bd8ccdee2b87744c58aeddadac309a28bd8f6bcceb7a8545fff6d32e0ef2143265c44a80257a583e3255a4874220037da5fe123d822d284dededbc779dcd170bfc8f31a467ae29031ab623948b61d64db2a5867f1d54046a4596141dac03be1b9980a331a55b1d570d0b4482494dcb7093f8bc5b2b6bfa7a3a2d4f01a7455e053ba076e18e8e055d8ba31bc33edb3a710b868e596d7b4e4c92d1df17c958e40108dd2b4c502afc06ba26ad32bd84a7052b01c0b0c7e9180eafc16398cfc6525dc1c6f52624358c65b970aefb72016805f0305519a4f9de04d331f694d66968042b23d92af82c4d63dc5026e09ae621631527de36e78b234ac2e1b9640ea5a6135490be2b822986454be253c5424b626f1ab4da484855f1356575e98014203e3ef52afefc8351b63686aa7039c8537748ce09224e316da55566a47b3c19c87847e96d5112b3681f5f9e25520342f46a2fb651858937153a68b01b92c5bd221b03f565081080c4f917958e062baf62603674ffd0e3d6ab48213956c790313e0a38039f580decd2e120d36690bb1af263056cfe9b761e374d5279afd94034ba682bf00e6b57100340425227085000237967b22d34593aa82d7b66d4b4a635eb2d590d51b201f435834539c01b5b07e42023a06fbf81ef4d0d32284564acf772d041be1aca1c0786c2207578536a7c60b26f5778de093c89fa1301b1133f15810905e62a6d19a7a29f4dfefbe58e91b6a63fbd5029776f04f635e148e4aa8c7cf50b92b1af593134e905182b0b40a36c824a0ad381c557929615df5cc7a1420a3f7b100ee0bd9aff8f0dc7d0a0bc074a6e4ccc2fb560feba6323b83ac7710374b80dec9050b24c40e50a628f8b2833521d2935eb928e3f5f8654abbd75d5c700113a89aea8979a21990bea403c72b973a9651d9da6ef07464d4b16a45d09b5bbd16360394e1e044b3b135387797f9cf80e1e99240c9a58febd30040b52c1815d3e2f6ed8d1f3c2c86a69d9b9428ebfcde80e4e848f6e51c9f45d0880dcef62036a4fc6a8ee74c901e12fb9a3c19fbb2f70379730674a2c76017723430e05ecad813733d115be1484f929e911c7c76ae00c14b20cab9744a3274ba36028f58a941926f15a34e10b9a9d72d5d9bd0713dce43e6415af3725f784396b5aa84dd576c261b8eecdb950181d1670396d1e602f5e7fbb996e8a1b1efe072905b39abc15b85fe9a340fe5561714bf899c8ec8a66d864b928923b0737452a122b1daa34482c7a0e33ca43109fd51cf6457d4b19156e7022e71f6b7c83a81fea6a10807e1b7f3f3abd0542cfe48a1a5275304db4904327677233e49868086ddbea2c7baf569b26c63d85d61ab040067239bdf1b4f6d47aaf38190ce79ba75d3b8d991a48f19503d90a13f2161a424a332d725eaa17b92d4258d6178f57f22a69d76372e9da427f5b463441f5396e367b64dab92948b2232c932610e5828b3104c177c148309e0cc7ce951ee81cc70470f2baf14cfa237ac80c9d2b7c38014d7679b9aa4cce652646fcbb484ecf80493a31b6c8723e2827b8dbae93ee5fc722b7a1d7f120b7ad353fd6b431880b3f5e736b54b0c024d3070b279155bdd3ad6d74ac995110353f4b5d1e9d1259a8b902550e78db7c4d2d2e0ea8aaf91587996d6db8ffaccc4a55441100bbe767782751d39f505d3e46807acdcf7d731e5c25096a972c9691d2fb35b2515ab2acf88b268ad267be45e0da798295a1471fc79e1b48f5bb76d4ba1b061790bbeb863c3f3aad75ab67e14b192a4457f4b4fd6c285d748a6ab334f3c66506efb163e87a9f6c939e37c34c885344a9996556e4c9c503236f45d35030fb7dba18f275eea223271618d5421455de32aa390a6406d2783c29ae3f7835cb1c3d664bf6cc6921aa4cbc8c6bfd9e0817794e782917259676736ed061621d63a31e94676779f8d5da313512a85f4cab9c778ebea77a677b9e20693ad5435dfbe730dd6c74b85fa2e828d5825e98c0472e5917b3cd4e4e883906ec5f77981003f30ccebf34a8c6188339d588ca30f6cbc7478f4e901a48ed6f1f4ace1d3510e7224a5ade01287e0be64f896976eb354cd453b9d4c8b9fdf7d24683ea1f5d51667f1d5e15238dfce40c6aa371127c5bdaaa4713a8a6b681a4d32ac75e5c6e094fa25e3d6e0934833ec218ab98e2e4d0e388478e09b6c50e887e1709ae3d730b78d8047c2785ed64615806e08b1e6b46aa6d77d33232a00d0a9e1ff67dd0a3864c364a40dbc45b01f48e383a5a1c4adc1a0557652262c47b11fe1e96831e163005de15e0fb03221f68b5285849dde06880275b1fe340dba9ac4b77d44955c8fff1aa3e92c6e23b11207815a53ccaebba4641322f655630447ceb4524f930ad89858d6401cf58fe844e2026766a65807bd61f01cf6bdc29ac950349d941d7a16bf1ab45d0ab58093f7a4b24580e45749ab833472e8f4adc10467369d4a2d7c526c1917bbf20afcf7e16c255e0477f4525881b6e8be18d235831cb7538eedce152104a698336cc4597fc3a18340a43a73a47714a87693a44336d220feb24978f3ae0020f6d1637a4ab9ffa78e3590fb112dbc57fa1d99744b470620ea824a68d9a5422140d5314517f15f5259c4cd772822cde0fa1e8d0ec87b83b2179464ccf468712387b24be65f016ff751c8d1ffeb72b6e2c03b6ecb184358d54e80c343a9d3a94143a9ff65e6d781f4818b9f6eb28c5264e29e02d038b3b434e4fed821c1e3b281e07f53be7cbef417b2aca36c2d3878323e6e6627e6897a075e344ac5bfb3b66531feb0ee2fff1e639604dd2aa8dfadd2a8e5afdfb6159796296b1ca109b9c77109d1c1f416a99dd283463e2e53a0a1817997d325ec2940e7765704c4e26d59d02c5e347aa191f942837262ec53b5e9c749ab3771d6a184e080fa8ddf94d8f015d392055e2ae3dce47eda469173c2c4c3d0ec1b4735e7f9822cfb0463e03728a39278c8b1b08bac62983bf0b0e8265453af51aec8cda8eff46b878b05f830c4b5f2fa2efb0a031343888def09f7489a0686c0c49e985fe5e498bd162900966a5700b6b3d2455f5db26b1dbfb04619f2d411819ca8f5635e52d013824cecea32f11856094084b7b137631229b60f963ab135cdf871063eae540af95d972e5550a0e5416773dccc9726b2d41c078d0462664e3382aad2b3f756584ab471faa7aa479d256f21d1492b86d93e3c25a55a1ef686e758ead2b5de26c8dddc2781191164d9d47a6795309505105f7a5393b49e0298043e5b883e5ef1cbcdfb035ecf64e757386a9f154307f25f910bd0dfa751565253c2c6e439bef59eea534f0424b3959f93106cd5f5efc503df44e6c5c02e84737b4ef503520ce279650dffa656f6845b7e8eb3691b7fa3940dc314e4d83fc0f71844572a417db1901d1c9f080fd14320d18aa16cc20d00db6299bf50a7c2e1b17483d96f7866e13316ea6cd13baf91b74f7dcba11e1277e45496feeaee38a1354d088e02af5a1323cfaca4011f6473df163c14460b72053acc42d5aa7ed6b1b5ddc445186f55c6967f008f354976f4ea4620b5890a64543fece03b4deb94c62af353466c8478a4e71516211c4673b19bf2add6fae2dfe1454de5776f020fa5d701eff44d53dce2065ba64a6fa81126993ea740896bc117d362012e9ef145d6e4cbf81e26680ee7ea443f60c37a7e52dcced09db9402f32c2f7c0db52be53051a40a0d45fc0a3012fcf66553c6044621fbc0e2fef47d264e4c51ee1d725c56777447692c999f31291d1bd68b6747f2343dd1501438d1ba25e5bf924df84d84574ddcdf7f9b19875a7046e3efab4e49055eba5943ac6aaf5d72bcb725f21ccf6b60d128bbd88d30224bf6847fb5a9d032f768534c5837fb4974c20da82e53b3548987b08388fa2113ea7c8da3ef2f121c8dea2e8ac9821268338dd0646427ae62aad9f62ef94daa0d8a6762dca9585a45510ee4bbdad7740b9a19b616ca86773d32d4b337dabfea256cc3009edfca4124338ab4720c693d2d9b146b1f686cbc10dfa00d7e0b911f6edb40b0e92829d430276eb5aac515b565ed1e2c10d5f5722881107d7fd7bf305e6b4597ccb9540572c0c5070649edb43616576f139bf1661a337895c659abf71862ecc1808216546619bad09bfd78716ca3b8957fafe23c5d544d00ce1534341331105ba2d4cb4c00fcf6d2aa3efde755ea026a124177c844d6e1d3cae97aaf4e111c9612e2316827946b7c47ef6de1513555e413ca22d1562860330d077ee97d4784bb5a93f9374765bd8129057fab44c224ff3f5fc318114b3fea81fd5a201583fe8e74283be42e72d386785c04a4590d78cf2c7e28dd7c94555b2d1b46bb3f236954fcf2df9301f7d13274c35f4b4ee44475858bf396592212e0d2dfb71346713a6539a65fb32de5cd35acf668b8330b0c49d6d136b32ed3fbdae0fec0223f4114fc7605ee577c6fb85f4241159c475aacc8d36d3c753a873667ab84d32e24540a11f59ad0c6079b39b9766a098f1767dd79ae08b02d7e8937fd3c550201431a7b12c8fb58532a8c30915809135a70c77f12624cdd2c5c246c949c2c754e67c8897019e4a7ec3f30a321d71fd574762473fd2aea9c6f3cb04a5a713b4902018107df6c7c8bab1f51a2cc5a4770bf50868e281f0a22d15d389ae80411d52c260319527729f17345644ebb85649a4527e20e1f163f87006e20244398ddc9c17a76a65e60c2367a76fe927ba622a93d2d20ef19df0abd997c18e3974e350c222e1035fb0af8a5ea19899618ad0b5a4c376371b9cce2a1853340da79a6cec8ac0e6f4d96ecad32347afc00a98b5a138f41699f4f593a10ee4eba2e4ad31e91e75242263dbec35f896aa733d1e2f7fad82c4c373e2e7953d47f3ce5317ee8615b731804327eaeb1fa382ab9b2073f0c564afa89e1a930ea346a06427d21d2f57d0771ba0403d3a92502cd89fb405f32bf483c7c77714204a403c7627c0fd0e3f434c3548706eea5e25dafe477b9e674ca38fe3aa2b09211b66ceafe35cadacb2c4e82d083f45447a66966e5e0d983a1165299430d0b86a5c74d9d1bf0eddaac381d47d6c8e90e2a1c461ff4e9870e700f47181ccd6942df38230935926f37934411e202dea595ff9e3d9fac136d43c0c00e2b38d4bedeceda689ea4f244bc8b7d75502896eeb04a22197e90c996cbcae037095f659097fd0f13277507f10c5a8114d261e2e4d52ea21feb45c0b1fabb622bc4bb3b5c26eddd521882c73b43300c240fb5672dacc40d37fe7b8523423ef21dd8322d511e24ed404035fd58f5dd621a52e4c0af2290d800ae035aa2730094578c1b9deffc44fa1539d9931e3d9ad31fe6952ea281bd0568f6d15ce536b4323fca55cdd940731e0d155488b603463d482a8544212d0d2948def905d518ea217c4dc373d2cbb09a3bf05a444f8fefed44d47b47c5860cda2bcef4a2a865d9ea2fa79ed5699a577c714298bd4840a42c599f9e05d70df1d6354574f62ec457de2cf8b83045281c8460e20c67cc1ca2ef0217197732dbbea4671758cf8fed22222331f08f3c83f6da28f8a2c24abd1c654a64179e9ee3493741038e0e80c2531b4fc617944545dc8a28bc8df859a5d378098fd6b6792a85c6284fa2800c2e4e35492c7ba3faa29c26651d38c726cb45293daeb338f177266240af94095da381050ac34185207673ab0db0505cf2bea05c0979425e7a1643d105e89d56c95a7bf6603dd1e90dcb49b321a1babed935907d4ef113d7e6df7f2006ec74c626e31d4d2c47bcb5ecb64f3e3071c3e52ffd54c4562007d846a4108042f2ef2157828d3e4208eb21f24569053faef88ae3650ff740391d46ebf693d0573df8f9c62ee6ad01fed8d7eecc2dee4a0398f59c9a64a81cf8e01e6547524c64bd782f3d63cc6d384a88e58d3709740bd204127176920d5e60e931b237b74554758d55baa3d351362bbde7234936541095edc9b49a422429942f21856544fe02cd3a02c55e2eaf02b3dc46b9abea142896211e49ed90b9316a2b4fd2f4d79b6e43150e7cc7e6903d6333fd410494817e444a1a866248f05ef3342e8a7d82f72441d7fcc0f890ef7b4da453de7104c902aecd173ff222d0048bb032cc67e35145726af656944d9b2dfd2fb1fd619a666fe1064b897bb3c122c22fa170150e6d775d7eac62b5a3d81a3d6e3673fd5c442518a2ae6d2fdac040a8d418c3ef0c420b63d7a51fb837da7a21993a1616cae065da6fa4ff8f0d7b02fa0db7521e11db436c553fde127939158c58caf9883bef7f278c08ad6387e715e30f7e8947f8ec657e9c356b6695e523f5bf66f0665403678c5385dde34b011a6d2ac022f7c25c6d712ca123edd87c720d16fdf3730e8232
_Values:
- {fileID: 1381594469}
- {fileID: 1381594468}
@@ -10741,6 +10740,16 @@ MonoBehaviour:
- {fileID: 67623903627768998, guid: 43149b488eb37d14185b05d5d2ee0a9a, type: 3}
- {fileID: 1700873341}
- {fileID: 1700873340}
+ - {fileID: 2800000, guid: 188dfe7e559f13248ba2c41eb5a59328, type: 3}
+ - {fileID: 2800000, guid: ee148e281f3c41c5b4ff5f8a5afe5a6c, type: 3}
+ - {fileID: 2800000, guid: 2fd6421f253b4ef1a19526541f9ffc0c, type: 3}
+ - {fileID: 2800000, guid: 3ee40aa79cd242a5b53b0b0ca4f13f0f, type: 3}
+ - {fileID: 2800000, guid: f87b5805002ec9649bcb1b96d8a16ba9, type: 3}
+ - {fileID: 2800000, guid: b0f85f7da5042c0448a526d5ecacbfa9, type: 3}
+ - {fileID: 2800000, guid: a7ec9e7ad8b847b7ae4510af83c5d868, type: 3}
+ - {fileID: 2800000, guid: f66c4aa44c09b6a42a2b5b9f9334d824, 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/DynamicUI/DynamicUIElements/Simple/DynamicUIToggle.cs b/Assets/Scripts/DynamicUI/DynamicUIElements/Simple/DynamicUIToggle.cs
index a58ddab1..a63ce15a 100644
--- a/Assets/Scripts/DynamicUI/DynamicUIElements/Simple/DynamicUIToggle.cs
+++ b/Assets/Scripts/DynamicUI/DynamicUIElements/Simple/DynamicUIToggle.cs
@@ -14,8 +14,15 @@ namespace Ichni.Editor
public override void Initialize(IBaseElement baseElement, string title, string parameterName)
{
base.Initialize(baseElement, title, parameterName);
- toggle.isOn = (bool)connectedBaseElement.GetType().GetField(parameterName).GetValue(connectedBaseElement); //获取对应变量的值
- toggle.onValueChanged.AddListener(ApplyParameters);
+ if (parameterName != string.Empty)
+ {
+ toggle.isOn = (bool)connectedBaseElement.GetType().GetField(parameterName).GetValue(connectedBaseElement); //获取对应变量的值
+ toggle.onValueChanged.AddListener(ApplyParameters);
+ }
+ else
+ {
+ toggle.isOn = false;
+ }
}
private void ApplyParameters(bool value)
diff --git a/Assets/Scripts/DynamicUI/Hierarchy/HierarchyTab.cs b/Assets/Scripts/DynamicUI/Hierarchy/HierarchyTab.cs
index a560d3f5..63e92e4c 100644
--- a/Assets/Scripts/DynamicUI/Hierarchy/HierarchyTab.cs
+++ b/Assets/Scripts/DynamicUI/Hierarchy/HierarchyTab.cs
@@ -91,7 +91,7 @@ namespace Ichni.Editor
{
EditorManager.instance.operationManager.SelectElement(connectedGameElement);
EditorManager.instance.uiManager.inspector.SetInspector(connectedGameElement);
- EditorManager.instance.timeline.SetTimeLine(connectedGameElement);
+ EditorManager.instance.timeline.SetTimeLine(connectedGameElement); // TODO: Error
}
private void ExpandOrFold()
diff --git a/Assets/Scripts/EditorGame/Animations/AnimationBase.cs b/Assets/Scripts/EditorGame/Animations/AnimationBase.cs
index b610e29f..9df644ad 100644
--- a/Assets/Scripts/EditorGame/Animations/AnimationBase.cs
+++ b/Assets/Scripts/EditorGame/Animations/AnimationBase.cs
@@ -8,7 +8,7 @@ using UnityEngine.Serialization;
namespace Ichni.RhythmGame
{
- public abstract class AnimationBase : GameElement, IHaveTimeDurationSubmodule
+ public abstract partial class AnimationBase : GameElement, IHaveTimeDurationSubmodule
{
public GameElement animatedObject;
public FlexibleReturnType animationReturnType;
@@ -21,6 +21,10 @@ namespace Ichni.RhythmGame
submoduleList.Add(timeDurationSubmodule);
}
+ ///
+ /// 更新动画
+ ///
+ /// 歌曲时间
protected abstract void UpdateAnimation(float songTime);
protected virtual void Update()
@@ -30,6 +34,16 @@ namespace Ichni.RhythmGame
UpdateAnimation(EditorManager.instance.songInformation.songTime);
}
}
+
+ ///
+ /// 施加时间偏移,即移动所有Flexible参数的时间
+ ///
+ ///
+ public virtual void ApplyTimeOffset(float offset)
+ {
+ timeDurationSubmodule.startTime += offset;
+ timeDurationSubmodule.endTime += offset;
+ }
}
namespace Beatmap
diff --git a/Assets/Scripts/EditorGame/Animations/Color/BaseColorChange.cs b/Assets/Scripts/EditorGame/Animations/Color/BaseColorChange.cs
index f052be8a..8102735f 100644
--- a/Assets/Scripts/EditorGame/Animations/Color/BaseColorChange.cs
+++ b/Assets/Scripts/EditorGame/Animations/Color/BaseColorChange.cs
@@ -63,6 +63,15 @@ namespace Ichni.RhythmGame
animationReturnType = FlexibleReturnType.MiddleInterval;
}
}
+
+ public override void ApplyTimeOffset(float offset)
+ {
+ base.ApplyTimeOffset(offset);
+ colorR.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ colorG.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ colorB.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ colorA.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ }
}
public partial class BaseColorChange
diff --git a/Assets/Scripts/EditorGame/Animations/Color/EmissionColorChange.cs b/Assets/Scripts/EditorGame/Animations/Color/EmissionColorChange.cs
index 915493ce..dc49b0e0 100644
--- a/Assets/Scripts/EditorGame/Animations/Color/EmissionColorChange.cs
+++ b/Assets/Scripts/EditorGame/Animations/Color/EmissionColorChange.cs
@@ -66,6 +66,15 @@ namespace Ichni.RhythmGame
animationReturnType = FlexibleReturnType.MiddleInterval;
}
}
+
+ public override void ApplyTimeOffset(float offset)
+ {
+ base.ApplyTimeOffset(offset);
+ colorR.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ colorG.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ colorB.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ colorI.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ }
}
public partial class EmissionColorChange
diff --git a/Assets/Scripts/EditorGame/Animations/Track/TrackTotalTimeChange.cs b/Assets/Scripts/EditorGame/Animations/Track/TrackTotalTimeChange.cs
index fb32bd69..da8b451c 100644
--- a/Assets/Scripts/EditorGame/Animations/Track/TrackTotalTimeChange.cs
+++ b/Assets/Scripts/EditorGame/Animations/Track/TrackTotalTimeChange.cs
@@ -45,6 +45,12 @@ namespace Ichni.RhythmGame
targetTrackTimeSubmoduleStatic.trackTotalTime = totalTime.value;
}
}
+
+ public override void ApplyTimeOffset(float offset)
+ {
+ base.ApplyTimeOffset(offset);
+ totalTime.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ }
}
public partial class TrackTotalTimeChange
diff --git a/Assets/Scripts/EditorGame/Animations/Transform/Displacement.cs b/Assets/Scripts/EditorGame/Animations/Transform/Displacement.cs
index 9748fd69..8956a1a5 100644
--- a/Assets/Scripts/EditorGame/Animations/Transform/Displacement.cs
+++ b/Assets/Scripts/EditorGame/Animations/Transform/Displacement.cs
@@ -59,6 +59,14 @@ namespace Ichni.RhythmGame
animationReturnType = FlexibleReturnType.MiddleInterval;
}
}
+
+ public override void ApplyTimeOffset(float offset)
+ {
+ base.ApplyTimeOffset(offset);
+ positionX.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ positionY.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ positionZ.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ }
}
public partial class Displacement
diff --git a/Assets/Scripts/EditorGame/Animations/Transform/LookAt.cs b/Assets/Scripts/EditorGame/Animations/Transform/LookAt.cs
index 8308b935..4a13046f 100644
--- a/Assets/Scripts/EditorGame/Animations/Transform/LookAt.cs
+++ b/Assets/Scripts/EditorGame/Animations/Transform/LookAt.cs
@@ -71,6 +71,12 @@ namespace Ichni.RhythmGame
matchedBM = new LookAt_BM(elementName, elementGuid, tags, parentElement.matchedBM as GameElement_BM,
enabling.ConvertToBM(), lookAtObject.elementGuid);
}
+
+ public override void ApplyTimeOffset(float offset)
+ {
+ base.ApplyTimeOffset(offset);
+ enabling.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ }
}
namespace Beatmap
diff --git a/Assets/Scripts/EditorGame/Animations/Transform/Scale.cs b/Assets/Scripts/EditorGame/Animations/Transform/Scale.cs
index 3f927e9f..7b7dd362 100644
--- a/Assets/Scripts/EditorGame/Animations/Transform/Scale.cs
+++ b/Assets/Scripts/EditorGame/Animations/Transform/Scale.cs
@@ -59,6 +59,14 @@ namespace Ichni.RhythmGame
animationReturnType = FlexibleReturnType.MiddleInterval;
}
}
+
+ public override void ApplyTimeOffset(float offset)
+ {
+ base.ApplyTimeOffset(offset);
+ scaleX.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ scaleY.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ scaleZ.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ }
}
public partial class Scale
diff --git a/Assets/Scripts/EditorGame/Animations/Transform/Swirl.cs b/Assets/Scripts/EditorGame/Animations/Transform/Swirl.cs
index b2e3dd9a..4b61a5ae 100644
--- a/Assets/Scripts/EditorGame/Animations/Transform/Swirl.cs
+++ b/Assets/Scripts/EditorGame/Animations/Transform/Swirl.cs
@@ -61,6 +61,14 @@ namespace Ichni.RhythmGame
animationReturnType = FlexibleReturnType.MiddleInterval;
}
}
+
+ public override void ApplyTimeOffset(float offset)
+ {
+ base.ApplyTimeOffset(offset);
+ eulerAngleX.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ eulerAngleY.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ eulerAngleZ.animations.ForEach(anim => anim.ApplyTimeOffset(offset));
+ }
}
public partial class Swirl
diff --git a/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleBool.cs b/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleBool.cs
index 14423fe4..d6f608fe 100644
--- a/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleBool.cs
+++ b/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleBool.cs
@@ -15,6 +15,11 @@ namespace Ichni.RhythmGame
this.value = value;
this.time = time;
}
+
+ public void ApplyTimeOffset(float offset)
+ {
+ time += offset;
+ }
}
[System.Serializable]
diff --git a/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleFloat.cs b/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleFloat.cs
index a0d96f29..60b78b66 100644
--- a/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleFloat.cs
+++ b/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleFloat.cs
@@ -26,6 +26,12 @@ namespace Ichni.RhythmGame
this.endTime = endTime;
this.animationCurveType = animationCurveType;
}
+
+ public void ApplyTimeOffset(float offset)
+ {
+ startTime += offset;
+ endTime += offset;
+ }
///
/// 按照起始时间排序
diff --git a/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleInt.cs b/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleInt.cs
index 1e150bba..759d39af 100644
--- a/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleInt.cs
+++ b/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleInt.cs
@@ -21,6 +21,11 @@ namespace Ichni.RhythmGame
this.value = value;
this.time = time;
}
+
+ public void ApplyTimeOffset(float offset)
+ {
+ time += offset;
+ }
}
[System.Serializable]
diff --git a/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleMain.cs b/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleMain.cs
index d373c27e..c704ee77 100644
--- a/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleMain.cs
+++ b/Assets/Scripts/EditorGame/Base/FlexibleTypes/FlexibleMain.cs
@@ -2,7 +2,7 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
-namespace Ichni
+namespace Ichni.RhythmGame
{
public enum FlexibleReturnType
{
diff --git a/Assets/Scripts/EditorGame/Base/GeneralSubmodules/EffectSubmodule.cs b/Assets/Scripts/EditorGame/Base/GeneralSubmodules/EffectSubmodule.cs
index 20dfbcd9..8cd03e53 100644
--- a/Assets/Scripts/EditorGame/Base/GeneralSubmodules/EffectSubmodule.cs
+++ b/Assets/Scripts/EditorGame/Base/GeneralSubmodules/EffectSubmodule.cs
@@ -45,7 +45,8 @@ namespace Ichni.RhythmGame
List effectList = new List();
foreach (var effectBM in effect.Value)
{
- effectList.Add(effectBM.ConvertToGameType());
+ Debug.Log(attachedGameElement.GetType().ToString());
+ effectList.Add(effectBM.ConvertToGameType(attachedGameElement));
}
effectCollection.Add(effect.Key, effectList);
}
@@ -283,7 +284,7 @@ namespace Ichni.RhythmGame
/// 转换为游戏类
///
///
- public abstract EffectBase ConvertToGameType();
+ public abstract EffectBase ConvertToGameType(GameElement attachedGameElement);
}
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/EditorGame/GameElements/GameElement.cs b/Assets/Scripts/EditorGame/GameElements/GameElement.cs
index 95dc53f8..fba64d96 100644
--- a/Assets/Scripts/EditorGame/GameElements/GameElement.cs
+++ b/Assets/Scripts/EditorGame/GameElements/GameElement.cs
@@ -161,6 +161,26 @@ namespace Ichni.RhythmGame
submodule.SetUpInspector();
}
}
+
+ ///
+ /// 获取自身和所有子GameElement
+ ///
+ public List GetAllGameElementsFromThis()
+ {
+ void GetAllChildrenRecursively(GameElement parent, List elements)
+ {
+ foreach (var child in parent.childElementList)
+ {
+ elements.Add(child);
+ GetAllChildrenRecursively(child, elements);
+ }
+ }
+
+ List gameElements = new List { this };
+ GetAllChildrenRecursively(this, gameElements);
+
+ return gameElements;
+ }
}
namespace Beatmap
diff --git a/Assets/Scripts/EditorGame/GameElements/GeneralEffects/BloomShake.cs b/Assets/Scripts/EditorGame/GameElements/GeneralEffects/BloomShake.cs
index 4017154e..dcf21262 100644
--- a/Assets/Scripts/EditorGame/GameElements/GeneralEffects/BloomShake.cs
+++ b/Assets/Scripts/EditorGame/GameElements/GeneralEffects/BloomShake.cs
@@ -64,7 +64,7 @@ namespace Ichni.RhythmGame
this.bloomPeak = bloomPeak;
}
- public override EffectBase ConvertToGameType()
+ public override EffectBase ConvertToGameType(GameElement attachedGameElement)
{
return new BloomShake(bloomTime, bloomPeak);
}
diff --git a/Assets/Scripts/EditorGame/GameElements/Track/Track.cs b/Assets/Scripts/EditorGame/GameElements/Track/Track.cs
index c4677c32..82364276 100644
--- a/Assets/Scripts/EditorGame/GameElements/Track/Track.cs
+++ b/Assets/Scripts/EditorGame/GameElements/Track/Track.cs
@@ -152,18 +152,16 @@ namespace Ichni.RhythmGame
var xField = qcWindow.GenerateGetterInputField(qcContainer, "X offset", "0");
var yField = qcWindow.GenerateGetterInputField(qcContainer, "Y offset", "0");
var zField = qcWindow.GenerateGetterInputField(qcContainer, "Z offset", "0");
+ var timeField = qcWindow.GenerateGetterInputField(qcContainer, "Time offset", "0");
+ var iterationField = qcWindow.GenerateGetterInputField(qcContainer, "Iteration", "0");
+ var includeAnimationToggle = qcWindow.GenerateToggle(null, qcContainer, "Include Animation", string.Empty);
qcWindow.GenerateButton(this, qcContainer, "Copy", () =>
{
- CopyPasteDeleteModule cpd = EditorManager.instance.operationManager.CopyPasteDeleteModule;
- cpd.CopyElement(this);
- cpd.PasteElement(parentElement);
- Track newTrack = cpd.pastedElementList[0] as Track;
- newTrack.trackPathSubmodule.pathNodeList.ForEach(pn =>
- {
- Vector3 offset = new Vector3(xField.GetResult(), yField.GetResult(), zField.GetResult());
- pn.transformSubmodule.originalPosition += offset;
- pn.transformSubmodule.Refresh();
- });
+ Vector3 positionOffset = new Vector3(xField.GetResult(), yField.GetResult(), zField.GetResult());
+ float timeOffset = timeField.GetResult();
+ int iteration = iterationField.GetResult();
+ bool includeAnimation = includeAnimationToggle.toggle.isOn;
+ QuickCopy(positionOffset, timeOffset, includeAnimation, iteration);
});
});
diff --git a/Assets/Scripts/EditorGame/GameElements/Track/TrackTools.cs b/Assets/Scripts/EditorGame/GameElements/Track/TrackTools.cs
new file mode 100644
index 00000000..e4ce9264
--- /dev/null
+++ b/Assets/Scripts/EditorGame/GameElements/Track/TrackTools.cs
@@ -0,0 +1,76 @@
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using Ichni.Editor;
+using UnityEngine;
+
+namespace Ichni.RhythmGame
+{
+ public partial class Track
+ {
+ ///
+ /// 快速复制粘贴Track
+ ///
+ /// 单位位置整体偏移
+ /// 单位时间偏移
+ /// 迭代次数,即产生几个粘贴的Track
+ private void QuickCopy(Vector3 unitPositionOffset, float unitTimeOffset, bool includeAnimations = true, int iteration = 1)
+ {
+ if(iteration <= 0) return;
+
+ CopyPasteDeleteModule cpd = EditorManager.instance.operationManager.CopyPasteDeleteModule;
+ cpd.CopyElement(this);
+ for (int i = 1; i <= iteration; i++)
+ {
+ cpd.PasteElement(parentElement);
+ Track newTrack = cpd.pastedElementList[0] as Track;
+ Vector3 positionOffset = unitPositionOffset * i;
+ float timeOffset = unitTimeOffset * i;
+
+ //对Track的所有有效的Submodule和子GameElement进行偏移
+ if (newTrack.trackTimeSubmodule is TrackTimeSubmoduleMovable movable)
+ {
+ movable.trackStartTime += timeOffset;
+ movable.trackEndTime += timeOffset;
+ }
+
+ newTrack.trackPathSubmodule.pathNodeList.ForEach(pn =>
+ {
+ pn.transformSubmodule.originalPosition += positionOffset;
+ pn.transformSubmodule.Refresh();
+ });
+
+
+ List allNewGameElements = newTrack.GetAllGameElementsFromThis();
+
+ List percentPoints = allNewGameElements
+ .FindAll(x => x is TrackPercentPoint).Cast().ToList();
+ percentPoints.ForEach(pp =>
+ {
+ pp.trackPercent.animations.ForEach(anim => anim.ApplyTimeOffset(timeOffset));
+ });
+
+
+ List notes = allNewGameElements.FindAll(x => x is NoteBase).Cast().ToList();
+ notes.ForEach(note =>
+ {
+ note.exactJudgeTime += timeOffset;
+ note.Refresh();
+ });
+
+ if (includeAnimations)
+ {
+ List animations = allNewGameElements
+ .FindAll(x => x.GetType().IsSubclassOf(typeof(AnimationBase))).Cast().ToList();
+
+ animations.ForEach(anim =>
+ {
+ anim.ApplyTimeOffset(timeOffset);
+ });
+ }
+ }
+
+ cpd.pastedElementList.Clear();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/EditorGame/GameElements/Track/TrackTools.cs.meta b/Assets/Scripts/EditorGame/GameElements/Track/TrackTools.cs.meta
new file mode 100644
index 00000000..82b6d7ac
--- /dev/null
+++ b/Assets/Scripts/EditorGame/GameElements/Track/TrackTools.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 91eb99ad678b44efe90bd2699a9502f3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteBadExpand.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteBadExpand.cs
index 132bad8e..7af56185 100644
--- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteBadExpand.cs
+++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteBadExpand.cs
@@ -11,10 +11,10 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
public class BasicNoteBadExpand : NoteBadEffect
{
Renderer noteMainRenderer;
- public BasicNoteBadExpand(NoteBase note)
+ public BasicNoteBadExpand(NoteVisualBase noteVisual)
{
- this.note = note;
- this.noteVisual = note.noteVisual.GetComponent();
+ this.note = noteVisual.note;
+ this.noteVisual = note.noteVisual;
this.noteMainRenderer = noteVisual.noteMain.GetComponent();
this.effectTime = 0.1f;
}
@@ -59,9 +59,9 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
}
- public override EffectBase ConvertToGameType()
+ public override EffectBase ConvertToGameType(GameElement attachedGameElement)
{
- return new BasicNoteBadExpand(GameElement_BM.GetElement(attachedNoteID) as NoteBase);
+ return new BasicNoteBadExpand(attachedGameElement as NoteVisualBase);
}
}
}
diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGenerateExpand.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGenerateExpand.cs
index 1a215945..10b12986 100644
--- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGenerateExpand.cs
+++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGenerateExpand.cs
@@ -12,12 +12,12 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
{
public class BasicNoteGenerateExpand : NoteGenerateEffect
{
- public BasicNoteGenerateExpand(NoteBase note)
+ public BasicNoteGenerateExpand(NoteVisualBase noteVisual)
{
- this.note = note;
+ this.note = noteVisual.note;
+ this.noteVisual = noteVisual;
this.generateTime = 1f;
this.effectTime = 0.1f;
- this.noteVisual = note.noteVisual.GetComponent();
}
public override void Recover()
@@ -61,9 +61,9 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
}
- public override EffectBase ConvertToGameType()
+ public override EffectBase ConvertToGameType(GameElement attachedGameElement)
{
- return new BasicNoteGenerateExpand(GameElement_BM.GetElement(attachedNoteID) as NoteBase);
+ return new BasicNoteGenerateExpand(attachedGameElement as NoteVisualBase);
}
}
}
diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGoodBurst.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGoodBurst.cs
index b746446d..d13cb331 100644
--- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGoodBurst.cs
+++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGoodBurst.cs
@@ -13,10 +13,10 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
{
private GameObject effectRing;
- public BasicNoteGoodBurst(NoteBase note)
+ public BasicNoteGoodBurst(NoteVisualBase noteVisual)
{
- this.note = note;
- this.noteVisual = note.noteVisual.GetComponent();
+ this.note = noteVisual.note;
+ this.noteVisual = noteVisual;
this.effectRing = noteVisual.effectPartList[0];
this.effectTime = 0.1f;
}
@@ -64,9 +64,9 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
}
- public override EffectBase ConvertToGameType()
+ public override EffectBase ConvertToGameType(GameElement attachedGameElement)
{
- return new BasicNoteGoodBurst(GameElement_BM.GetElement(attachedNoteID) as NoteBase);
+ return new BasicNoteGoodBurst(attachedGameElement as NoteVisualBase);
}
}
}
diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteMissPale.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteMissPale.cs
index d5a6181b..9f7b9ae8 100644
--- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteMissPale.cs
+++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteMissPale.cs
@@ -12,10 +12,10 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
{
Renderer noteMainRenderer;
- public BasicNoteMissPale(NoteBase note)
+ public BasicNoteMissPale(NoteVisualBase noteVisual)
{
- this.note = note;
- this.noteVisual = note.noteVisual.GetComponent();
+ this.note = noteVisual.note;
+ this.noteVisual = noteVisual;
this.noteMainRenderer = noteVisual.noteMain.GetComponent();
this.effectTime = 0.2f;
}
@@ -59,10 +59,10 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
{
}
-
- public override EffectBase ConvertToGameType()
+
+ public override EffectBase ConvertToGameType(GameElement attachedGameElement)
{
- return new BasicNoteMissPale(GameElement_BM.GetElement(attachedNoteID) as NoteBase);
+ return new BasicNoteMissPale(attachedGameElement as NoteVisualBase);
}
}
}
diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNotePerfectBurst.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNotePerfectBurst.cs
index dbef245f..1de5b51b 100644
--- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNotePerfectBurst.cs
+++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNotePerfectBurst.cs
@@ -13,10 +13,10 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
{
private GameObject effectRing;
- public BasicNotePerfectBurst(NoteBase note)
+ public BasicNotePerfectBurst(NoteVisualBase noteVisual)
{
- this.note = note;
- this.noteVisual = note.noteVisual.GetComponent();
+ this.note = noteVisual.note;
+ this.noteVisual = noteVisual;
this.effectRing = noteVisual.effectPartList[0];
this.effectTime = 0.1f;
}
@@ -64,9 +64,9 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
}
- public override EffectBase ConvertToGameType()
+ public override EffectBase ConvertToGameType(GameElement attachedGameElement)
{
- return new BasicNotePerfectBurst(GameElement_BM.GetElement(attachedNoteID) as NoteBase);
+ return new BasicNotePerfectBurst(attachedGameElement as NoteVisualBase);
}
}
}
diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteVisual.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteVisual.cs
index b7058fa2..08c9abdb 100644
--- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteVisual.cs
+++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteVisual.cs
@@ -22,11 +22,11 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
if (isFirstGenerated)
{
- noteVisual.effectSubmodule.effectCollection["Generate"].Add(new BasicNoteGenerateExpand(noteVisual.note));
- noteVisual.effectSubmodule.effectCollection["Perfect"].Add(new BasicNotePerfectBurst(noteVisual.note));
- noteVisual.effectSubmodule.effectCollection["Good"].Add(new BasicNoteGoodBurst(noteVisual.note));
- noteVisual.effectSubmodule.effectCollection["Bad"].Add(new BasicNoteBadExpand(noteVisual.note));
- noteVisual.effectSubmodule.effectCollection["Miss"].Add(new BasicNoteMissPale(noteVisual.note));
+ noteVisual.effectSubmodule.effectCollection["Generate"].Add(new BasicNoteGenerateExpand(noteVisual));
+ noteVisual.effectSubmodule.effectCollection["Perfect"].Add(new BasicNotePerfectBurst(noteVisual));
+ noteVisual.effectSubmodule.effectCollection["Good"].Add(new BasicNoteGoodBurst(noteVisual));
+ noteVisual.effectSubmodule.effectCollection["Bad"].Add(new BasicNoteBadExpand(noteVisual));
+ noteVisual.effectSubmodule.effectCollection["Miss"].Add(new BasicNoteMissPale(noteVisual));
}
return noteVisual;