Blob
#0x01c6356173056379797f84600b09ba52764392f93957a021df9d4e2ca142f2e9
Versioned Hash:
0x01c6356173056379797f84600b09ba52764392f93957a021df9d4e2ca142f2e9
Commitment:
0xaa85890014d401aa4c2fe235da9e6ddc11f99bdf6520c7786a056ce9b67ec506e9350e82a22a04a9efb83d4af5549527
Proof:
0xa6e4e860c5d23d830d4941e209b0c35c96e0feca5da09e5c9dff291c8fcf60078855e07436850aa3aec3c7a4f9837dfc
Size:
128 KiB
Transaction Hash:
Block:
Data:
0x3500008e1400bf162d11bde6938e86df87ccba12770c000000008dfc78daecbd105c54ddfaff3d439784b434d2dd218d847477977497a4439788b420312028a83e52d225084a7787744ac710f2bc50f07bdfe7f1be9da3e77ccff93dcf6fbf5e32e1ecd96ff6bed6b53efb5a6baff9ec0a65c0910258eeec8882f6239c801fa606031e069b2bbea23c271c98cfc41ab75b909ebbe3b15e3050ab1819bcb0139d028af3060a26b4933b9d322cb655ac943a70c9d21615364bc1dd16e40fb6620a236ea804860120c020b0d98bcac7842b0d285863fed8ca92c85b45ab11908a1e07da1e4267e13298281ae899ae10205725901d02640942c400075d577e11046b2fc4962048691d40c0f3da5ac6dfe88e4dc830bba55ab729a8a299dde4ed01e03d37f29fec07fe6437d55feed2bcd7560b79e2f97707e3d23129fce4ef6306010a19c18754d512f14ca8e18b1cbddbd2596f7978f95f603dc574617c7d972bd82f4c4d0cac1bd48526ed8b0df47bfd024e1dbd24bd0cf5216b47776506f1e36404fd377ab5fe9530d50008cc5bf02bcc76f80e757e12133871cbf9cffd24c56f17c7ad5e915bf6187f0e03a9233c86be25dc213056df5b22eb3fdf1200fbbf2621c077a42e85fdcdb1e808c1a3f250b4041338898083a76b36380dee658ee7a7268c681f240ca42d1c4bf395900c13f223c86bb064fc848c63febd13c54576d01e50a874912b663dcc6297a8744ff10798e0c06ac5ef31cbfe2f88d9dbbff81c3ab6d590d90cf3ef8f87e5b42d862a6667567a61e2ec9e2be6ecdeba6d969cfc22c91abe78e7c21873d5dcfd3c921fb2c070425be7f7bb1ceabce193813886d419c42df508e60c9367d46ccfbad3100b642b61e1011058209851c57e8d99540d38b9f903e6279e24fd7329bbba3be492c037e93c58a6d31c56b6d067af2704a62212e63504e6d59d20cc0fdb41c03abe0459523655f216cc523c412c63262b9030574ae902a81246c2c6e33acc1f2fea47df03fcd60614fdbde37b0e01ffd51b25e1275f90b8a6cd8afdc70fa21a0a3fd1da8f58e6b316789f3f7f4d4d6dbd5e2cf89bb9fe779b98b72d7194634e3843367893b53643135d4e38f32ec703bcc41def48903abc6e9ae718ff978723f09ef120248d0ad1775df9fa28d8194675ee11ecd9aa2795157c3feb885ffb81e37afeaab0c81d9bbb9c26996c9bb011c7dc1b18357ce1ba8694ed325cb8ee5d60b754014ae0daabc1b3377bfdd11c2da60f2d344a5410fa6645be0c7822e71fb71f7fbb43a31abc8b58c2d0c9bebb5da53d2bada0131f15595e28918b8f916cf7c6d890f525f4bdc0abe11b91deeb2426dc3e5bfbd13bd752260cc68e840a5d8a7b306e8886fc199e7ba7807bd0137d2e8932522f399df5090f6f4e36e2c6c73fda1e91eb3669c23f186a3e4df0d37e0ea632bd20a2806fc716219b22a32ea0939ec3597ce07bc62e8526b100389c0a481e0e7678e673ed82e87749bcdb99437348adf70577392e98b575424b7a16c7a7763a1cfd04c1140d5fe13c0a7ae2fdababdeb3682d6411d5c1622e720417b594cc1b115304c83ab8ded3e4f137fe88c7083d31e092f836e481dfd279e3c11eb5e2072b067f6658b6840752d9cac519afe2d9db72198327a127065d120940393455219b30dcae61aff09f50726fbb597d6a7f7e8bbe268c85dbe740dc107a62c825041bfdd652e7a0966e0c86ab4df008306baeaf3292f2d5dad20799902102da5b1b174454705e77f7c46b662377896e3d23349d2c21d6d935d9dbe52f1b75f3202886ae9258c717c4b04b629b86682c12f9603f83cfd10d576deece3d25748fb610b8c24ea5f570b175ae6ce889119744febcc63377123b549e3a3d2faf0839a20d5b2e2f3f0f97538ef4c077c9b8339dd013a32e89668b56f666d52c0564c4cd3299b385e71efa28d3852f74fd380635f109938dbba027465f127d50210c1ffd33dead88ac991e1f76f4e8207ac863b9bfd62fd44de4f7d44708f927883197c4006a3febf280279c0e040908d57cc8de83d5541ac994de633c766b8901540f6f3e4f8cbd240a09331acf1174ceda8f9ce675def1ea5a5aa415c4645d42f730b714bf4777d27241440397e59f54a1a47be1ef83a8d3562defe70410e3c383df0c35d13bf73c4042d37f8979418cbf24be6fd7c25f653477814327440add8fbebb3d34ceefe4baf13d1351d82cb1be8117d013132f890f3f1d792c7af6dd0b15192b6925eb7e2c250adb2242f1644a53ee9d2eb218d612f4c4e44b62672a95957800f6b3f824f97a3ace0d8972f3c42126563758137d7bdf3c16433ae8892997c415178cae65196eac584e14d70d1ca326f289e08df11f8a96eae2cb081a4e99d609414f7c72493c4de5796879129ddacbfbc90aeb66701e9f60f710e65edb0792118c59d9d5536ce889e997441a6fe6196491ed53268d09a3c774f8908db180292654eee6b00dce06f65cc0b30be235304d97304e5688aa5aa0413be36b8d68583732c7273e738963b3afa44ba2f2bcee2f5d10332f896bbc3b4d28782b98206f089642bf11c1ae56f27c35e2beebef612d6c251f0e76434fccba242e8f07f2b3180ea9d53ef5c10b10ebc9f706093ecb6d155bc157578c905a47cf809ef8f4920632aec526e7d0a232a8b31903cadcdf56226338d64cea724e3986f31e1cee761b819e987b494c740cb7e638d5b987ebac65ae44c4fa084f002d25cb0f53a008176068ab286b0e7ae2f3864ae01d000428015ef9783ff2387a1628beb6895ab82096d9db27c5409a5b3200c3788ac06fd84a053d33ffe8a0620fe6683bb01e2e142608e336ffd77f308ca004bfd3bad181178fa9d5babc4ef11f9ac125f9f04509822a82d969d385fe588884c7068dbb25d82b932345114cd7c36a5e13b80dfe1bed22facf145e7a9e55d90fb125243eea575bce2f5863866dd01d3780c01f302cef8f93cd12c8ede591826d308d00d5a903c963b52142ef52de2114fb13815d29c630922d3a10a2468ffacab0cd1f67e6cd3bd374e1dc91b5a88f2277ad1ffd22d638e88a841cd351627477a6b61248fc9ecada899b1d39a84df41b186595bd22b613b808243a78b593bd6b98be6a47bb56bcb356dcc4bb9fa6e8bd6c1362660f83cb484368d3fd8b40bebc6c6eb697e666a3613a746d08fcc6901043ca59c9179871f8fd2f6dd691d259b6ef10404f2cb8245e7f216b23ca786c3c6ea29f352734ecdccd56590891b3e991c02261c8a43988e5839ef8fa92b83d4e9d501ee327bcd016489ee6af5a57cc4282527e47ebc51bd628d7a05b4b4dd013df7c4fc9280c9c594daad2393b90a3ce88d4be0c04d3e37387d2753aa397d88ecae044473f99257f48c94fdf531238869db09c45266d3215600de3ed48168dad52b9da713c82fbdf929240b0c34c6db0e90ddaa1c76c9ed7d6658bad6937921a5bd83f362db418ba663f21fd0cac45f57245612d6f8773d80d5736dc0053c25ce1dd468f3d6e17c979103f0494f7ad71ba9438511d0b8beba8348acef4426b9f974468452ae25e6ab2e4cc9affa46655067d20cb2e9b1b7097e949be05d943e3371f6f5812e93412d6cd3c9ceb84219817c46fbfe63345767a41c4009726f6ad99d77b4917dec5de8e953b1a13584ee952eddd3923b35f247cbde7b570417c7b49449f7532de51d3d18850c3b803d21e130cac88b12343d4b52dbb9d35c6ba519c0e3db1369258bf2ffe818b9b05426f12cf86bd1c5ddd1ae7ff7023c2d5d5a32ad772b61e8b70067a62f5f759c25eb8d96ab6e1d92ddfc7f011677359b31a89fa273c1936b2bc6dedcfb3e99e9940cfacfde32ce1d3201ceab0fff03c4bd65feec1bbfb0e2a0cebcbdf1d4cf8f8790154b384feac1d918187562fe496166e3e64e3162824faf4654412056df88d46a3c588de2df09d07567409edc335e4f60577cda24c29ca6bd3d50c62854ad517183e603ec9ca56fcd6b67cd837bd490c3b40741c2434f734b1cb1cf29b48d804e53e7ec469ebb7df4de487be1dea2fb3c5cddecfc20463d3d700c0641af19a11ad464aa9830ecf91fef3e11baa56a22e21e8898d9719d425a30cac7737419ff55ebc3be222b3e06f70d47c09dacb30f9181af9262325fd6bb583099e36636eedbe2799535acbec6a4371064b6712ccfc122c33acf400ee78634814ee82f8ee92a8577c02c79733a0eff3d109249da21af529e333b2026d14260629f6108c664429f4c496ab8a4ce3586e11b793846d77e1d6f9ebd435fed728ddfebaa0e67b543ba16dd536b6d0135b2f897d4f1cf406797dc26fa9115e33ae9b8d73cedad84b2c5ba38383a58429b43c41f2819ef8e192c8fb083f2baa12805a8b9d137b373adbd342835d084ef6968c6e83d384a099f40af4c4f627b6fe10f7ac679c925af06596729ec2a75b67affd3623a31950ccb66f2e12750a89434fecbc24f2bc454eec7c119c461c78fbbd587d24bd1bc7a23b5ab3f9133f6a0a7d7f9a0f53efa127765f12a51e8833e5f0ee6caee0ece4544c6fa2364b16687c9bca575129843c7e1a59d87f41c4022b6636d62bd2f02f84c403649ac4018d8b958bf0eedea684e8adcc644e6904585e107bafe63b202e64581588e69921530ba6aa9fcae89c3110e44a3764711e6e5d93a659d1819ed87f491497e9b80326dae042de855cf0b6a146e04b647c4b29a19ae65b5e8248e6b6e3c87ae8892497c489c279ade8eb6ff1d56550761f17d69bbdf690e60a9f90294e397950a3229892053d71f892b8114795fc4232faa83fcaa7bb9bf103e740f04c443a739215da98d4bd53f42208f4c4d14be2116a8cfad8c49b8e9dd07b949f4defa8e0d429f5bdf5e2cd7df2f2c8d313de26f733f4c4f14ba28728d14e03a8c25517b4bb05b7b82e4146a4c8f4a566cef54bf0e7f9f0e0d75c17c4eb6022df2785888a9900cde642f06a335b76982e35259c0679658268fb32244d6e8a17c4c9864aa01d0602b4021f714427144e5095a3f02957190ee41eee83512ab23ae35b2debde453ed9d3ce6742cf9c8600092b81783010e0f5c07ab8c01b8f83303fec7cfdc7fc27212118449861e08c9df2b27490688c2303413ea2c0135491d325e1a6fc47f50dce5b2baba77c331610a4623e64219235e857fdf9376f58c0df9df26d0082912446c57217dc10e39eee200d58c430573a9415381e05aa36eb3ac7362ad8eb80366fd21bc2e24c40ded01857759bacaf8fbdef12a1f8628d0a1656f7124892f030ffd680c2513651edec55d59c1cfafb050624e453cc61b933458298373b67ec25ee1207401fec4f972911fc50bb94f5ba4e62b4166a40407dd6e7a5995853fa06c70fbd0543e94368f874d013e72e89dc05afa9f295c6fb9164e102fd7b51c413b0958ada14b1d85fe5a0f78d86d1649c434f5cb824021d8cd582f10a9ee2be111bd7976d8d050a972ebd487910bfbc68f584d0ef0dfe05111b9c40944fe05608cf29187eef630e679c91a8183c914150a6f5a9f2e9ba350de5de0571a9a112220c8000e1c133c71f86d354781e0ea8d8ef63af8799d7d948decb5af238d8e91e8df5ebd90d39879eb972f4b6a20ce6a8f822673185bee72cde9c7142cfeda61c6dd3a7fab435ad12ce4dd6f18613c61da00a895bc6684b7fcc0ff1ff77ca2007f13f206c77cce4c7941c14f1a7297ea2d774eddc7c0e1b40e06e3c36278d300fbd0a5c97fcd7c53b874a59e8a76749101c862692d28381d1076009b616f9e43eb1ae8fc1f72d6a1b13dfd72039c7ebad98546edf77c8a1c89d7e1ff02dba5a379de43d326419d4caa28ccefbd5ad3beba9794516dbc2d1d42d59ad53b6e3d01562edaac4761e0d3aad19681d08237dcf758e305c1c94e72e038b8cbfd6661a047a6786187ae2c6779989034ad2b0eacafbb1e02755cb059feb274ee5630f912934ad2d84504e7f367ac6023d73f31f6426e5576446ada621beafdd7e596b360e7fe9e6fe03253a0ff0bf5b467e2a3320f06cf722b6f94e72687c93f6d9d8e33ef177a6cb45f0cf9adbb1e7c7ac5baa682dc1984ac24b58b2a94df194267ab612e306265fe651735890640d8df64c1fb0beb7af0422002040187082d929b5ed2aacb8abaf7be16cb74d6d755b1b5a70d207089f45142b3ebbaded20f4e1de3e0fad2886397a1d580f077b35220e2ca94ef85152832a24f2e1d3aaff785139390ceda41ea198e944f55ddb02f8c223386620fe65046e86ee38367e0d843da3470c430253fad29e1d97a7391282db352dab0937c40fa20fcf829cfbdef38229f22914b234f54ad8ac489d30b08f16420c5600862c1a67831e961374a09d6acbcb0fde7135feecf00edf11fad2b61b87870edbd8f6677cca54762c2843eca3b4b627cb561cf0640ed69090c206b1fad8fc7b81ee58c756fa0e9eebda7cddd526b41590a585ee8b30ec7e579ed47d915bfbb79db6b2453b84b91def2f4585e7de0d1f543788cc1dabeb5580e568849eb9ff47e511fe93f2d0261adf7d74530ebf333c15aece8a7b496dbe39e51794676bd1b58652f6c1d373cb6778f0015277dfdc0ec3d900022774b03e72b933126d7d96747bac7529b65bb0568cb3f2c00a296a0b25967d3f082c33ed5b18dcc17576d03a8c3ec2bbabb53919e0392325e3f0823f5cfb63b785617e452be0a8197c732838c671b125ce5d43d0e21ee439f05dbf27e14b511a3b267f5f8a9793efa9a18fc4e19147851bcc91f39f924c152921790f299ff4b5f084165a6ee4752e4664d14305ab30f40946c9d71e9ea0062058d525ce38d4a1dead59c3abf1b606ab46109776f5437be3fa9e38394adb5d4b7a302bdbfd3e2f8bf70fdd1acec51274b2d0eacbd0435e90142f4e8f1c1b1820b4bf38fb962686ebc9565961db9d44d5b59da44a4c023387afa35c398d3f544f21b51d1739d6427f21904b09156037a66d6b20d2b2e753af8d7a498631bafa068b021dec5a2b0a2f9646717b27f4c4934b226d42757f2a7ecb5149d234c75d42691135753762c9c678b46c4cef980dc5d46d2ae889670d95f0d100087c045842ab9118feb6a80c4725a02b5dacfca972cf8c96e950c5bcfdd9515bd9bc552cf4cc7300fcadefb314394178f4d2ffe1590a8bdf590de28aa9ecf8133ed2d7a7e0a81430bbc8f75ca2f4958c48fc855e340e862ba88b4c89974daee750f9e8aef881493cea9d996a563404fb83c9218583f8e3aee6f83d6d6be6e295bb2fa83c6cde56188f59ee7fc10a9a8adf8919805c1811aa15349d292f3aa34fda8535341d4e263a191e77b31ac8bc9aae337b449349adea15b102be43bba6a43e5c1078cef03817f6380f55a172a017c71d33324ddfe9c9ca5e09a412a61b02d321f36dad8b690cc15fad7531ffef5febe212f15fbed665e6275f303f9a3018fd67b2ee7f7b2d38d39db70ab06752bc1833bd1b8fbdb22619122998ef4628c657b8f2d9bfd0aa3d535cd01f647d949bae1e965169688015a653b44d975e6bd5376d1973c3cb261690ece76b6118c17749663c87e41c7a1d27d192da01361308d73b42b8eb67930d436f8b0c5a6e5f430763388ce6a76f85543156e1c125ba9b6fec64a32a96373a3dcb0c38e8d73db63abb2a9255acbc93f9f3a4b56146e1cc7a981d17eed041043db53d046a5664220d85f6072ef41817ec90e6882ffb40b16868a76e34bef124092772fcfa62c323f06210e2b07c66a542b0155330f01f8ae4d45f299263891c4e5ee58860f9ab127a2f32df4eb731d70f0ffdcd8c82fd178cc559824b67253e82df09498ba1e5c42be89cdc2ab2e635b3f24edb1f8832a9f08800df1cc07e02516e974a14698f3fcfad2a4e23d37794253e18b77b77af3a894826ecdb0d35364fb32ca82ab755b114171d252c1064232e21a5475b7caf4a91d1a0569fbb1b2bfa60c3365402eb00106015f88300551fe0b3ab5597621bfaa3ba1047f548a43ceda726fa8bde2e10cd577125d033e12140dbff290e45fe541cd6bc79ca35c239d176a7eb0661a9bd3d098b8b7cda2f148706b7c876caab2a04cc3a537bee392421dd50dde46a0081fdc6313abd6ff3164b9da0e956aa72d18c133e21c892881f4c973a4a172f17b39506635435e551e67b9528f13a8c1f6be1bdf59c06d16d2562894afab4ec261e606c5e0d1740df2bb90afa8433b187e2f73803976d564819d4118c51b3247a4d411512c886cf4bfe784ecec65aa86fd4367a56f1ddd719023e941bdd28273affc9d6000443ecebe66c5a4426b976559e638c8cbb52047c3249e5cc3d2b3ef32709e9723b59062bf6d27fc82c420c7e4603cf70eb1d175f37cc9bba58f0ae8f0b6020053baa87fb5b4a70e6dcade093afb8afbe0693a57c1feb0e16bc385629c9c986163bebd90dd2b773d0371fe265d5f64acbcaf478df39c5f07af45c6d6bb513bbb6b9d70b937b6de0ded627a25de042e889c89744dd14f677a727612a772073b837ae13c14af15ea3bc56c39ebd17da742d6ddfbb75007a22ea25d146dc4089e73992e0e39d3a42bf92cab7b1b37a641b1aa2c078961bfaf87c94b80b221eb866396f5f48437a3499b96d195bf3e5b5cc1cec43f5380e0edea69881e5f0d0c40be2b54b225ad3dc4d01b9329c673ad6067159738cdc04c5d4622fd92c88e01bee36ea57a886414fc4b8242adf0c8bd9519f69f14008228ba4ba99c09390674e1feff97c8925d761bc2c61057a22d6f7298986da8c770faa4fedf986e0ed461c4b6d9e921edca1c36a77ac57abc42acdaa17839e89fd086afbe457d496fd216f9443a30e2ceec2321e0acb4e1052a1efe94fc490e1df013e2501048f148acfb0b1ebc2a5be4956cff4c06d819fae3de33ee448b053de1eb13af98006a6e0837d5bcb135bff5827ac581544a4ea73fdec889506d29eb40da1505a7b415b09cb0880c0d282e52ddfebbbcce09f682795835e3c6796480a10c02b5feb2e7764bf43213c774e087db871213023953083301098dec07a38e037ff2c1d61624ff891805c14834ccd48a43fb958e3bfac403ca7f8293b8a407f1fb01553f1da6f1632e4ffccf9fd484fffe2cf2a9af0d504d670fcbcdafb67ce23de7db4a0059eae1aab8b3893a6ff49377844b7ef27c7837eb31805fc2be3f3229985df3d810610584df9706c296f1dcfe68b368946f735aa19aec70902201409ba47859ee5143606046041705c3a2865cacd5dfe509831df0158b67952764c347c6d92823f959ce2edd8d52cd3f3eacc95619d6c1192be014c02555dc6679516a728d3b1ad8965f2ece7afe1612f7a0b3e787628ecb89a2af19c7bf7d53bf20b619ed0d3eb98106da27b2af1c229f2fd7da317bd05ff8fb34ca27f2a24309f03cf7c540785bdb053593f6793a9caeea74fcdfe8542426af2596eaece88498331877ca392c4fd77e388e20d20b08c7747c50d89fb925832393c73f791de01ab0a276fcc452c6fd323235a1226878179e3f4332d346170a95079797dd75782f10714383b2c99dd22b4a3f085abf15f5f2e2f3c3b7aed61a5b74a1dec9ab68cb22e30da8cf4cebe680236a78fe4b1691911cf13e82341d85009130680c00481732ae9059d54dc42f4563c3422e4cf7c6290442f86241d7db7b82982b0ff6ccc163b26110486ab12861d02c31258c41f74a7d4260899b62121704147209b3fe2b4179bb9507aede0305bb6961a54096ca620b675fd6722fba7f4c3a780a9c470dd33fa5515bbdc607eb21fe1f77a39ec4f86d4b0cbffca1184eefa3435ec3d9eaa230cd13584c59554a0ef88f6bffbfcbe0ef95285cf90f37ddb27686e51aae94f2ef703ce422a2131ae06f3a612f6a426af37c0bc5de4c39ca3233e2406d248142d7cd87139b790f86e48bf031b97182e3fd819a884c30140e030c1e0c30ff135014455a3b249a6e13e96a8a93c54b16f625ebf452369b8ff463dd94c1ffa4c2421c036568c1f8d06c2a5075dbfed1274ed982a614eb2e82009ec7af3565790121cfba85cb282bbc9a00a2753bf411b74209e96fe3c72f8d789991e981fb534390e91e36434d2adf01be679dab409e770c29a02cfbe49f9d77b01f68fc28f0a7c19210100485cecef4084a32421a9790afe3aefe3129f6de20bb793e2c24633e903d9ef49e5af99abcb8bc7df7d772d5d5a92dc15cca9e6a96d795fc9633351742ef9393fa0f75e9735939650678e37ec0d67271fb28ad5a3e54004d6afb77a9439e1844f9636ecccb016b69b7a1b98b337e3dac4129af14015f7cfff27c36d8c1b445d51a2267e98263fba410043dc2e0ea3b8e805c0a700d48a1f45e5477df6328140b8abf498db66adb333647a28196b4a922d67b4b72856cfcbaf89dc5d8c03fa564e24020f2ce25331a28c53095ec9d63b8fa556e30ecd14473049e018a33a7a6e5344853b5c717c741478c3f5dbb5967c4888b9bdd1a24f8e974bac97bb39447a3bd73660f80913a822e607d7fa6d5bd3691e72407253cbfca56b07007f39da99c0bc6df776bc40118b4d5c926de2923bd938d7ad599af2d351a434131435e21fb2803d2122f7b3efa2f3148801703c06bdb0aa36248691dd221c52b3391ae6954dd9bf5e3bdefad76bc726e0ff3fe7da19c104376d3bebeedc479fcc1c1964d74626bba5ae294ff38a2196d8dd4c4b2a88612109ac4086940c52aa68332b2c0a781bc52875269069383fa73e99a7e05f62ee1178f9d8ea7cd57e597163313b2b5cd0c1a3a107c0f8d6872bfe83946570b182b121d11779e84581aca1123c190082980d7e3cba996de39a373feefb7e84a6fd0c1e03b7c1d4716a11e66502715cad2b7e411ff44c0a08a25a25022f0c0481f3a2a62064bfa82582f016e52e08616b126c47af87316638c93a6dc3d0bc04668f87f54c12832ae19bb9b7e13cb1000662a06d994feafc65790cc4c0ea86c5ee9b92e4fbabfdca2af5be8f2827e2ffa6b6ebcd9725ffa7667b553f91752c5d5b467c0e71dd18bf662cd8711b241bf27bbf1cfcd99d19e627b3cd30c6ffccadf36705f2cf4a13e80720fff3cc3f6b09fdebf3b9485f8f06fe3450bfbac1fcde4a6d20f8f7067840b887d642fb37d607a01e64c1fce6fe7f2a8760e1bd17e9c5e38a53b242b9c837860c81c9af0b7fb5fc8562fb597ca978ce76cdfe72aff8fc632bdb849a9fcd46fee41cc0ff3c9bf1ff59fce6bb41fedc449a2ea8f8b98f12f033fc472779697fa70f3700c1200b9296b7c49d55f06638283b940562a98bd505158ffa980403ed57151af61f2a6db2825f68110da8bca1bc353d36fdaa70d64f1dd4958011c930eddf37ee4808fac779b2b45f9927abe5e490b2c7d68e22fa12ea5a16f0c85cef0b4dddeff51c7ba5d27fc53c19e78b884fca992200c3f883f9e008b6cec781644de7e8a81e2a38d8aba0aa16300a7a4eed39d51a0be1bddbf53116db08d77c29f63a77a6f913cadad8372a719e5f2eb40ecd459753d5f1de227a2b8b040b47935a4050b14c29f0da325eb55a5e4e46f9e2364d008ea61fba7fbc735228d087bae9318d08582255560bef3e6a9054f70f0edef3c431bbb84ddfbc9c3a1d44b42147433c7c222922b04acfa1c1363c4a67805e5de0b27987c6e6d9b030047a22f5f7353053322649132f795ef67acd7d097a0c49d847a7e9b9d6a691046f33a22030d3f2197a0ded1f6727c4fe343be18398fa79a28dad11d9b720c1ddc5de7279c5baf807b3381384d39a11dd5de6350c1a8794a868839416291a3f15990610b85d04839cc03f4e49135c57429ed51d3e21efc0c3ebce45a983d1b29d6ecafb0de03b8f7792198f7ee1e3ec3f819c76df3dc98af71c76ca48651c66f8d88c37b71af52dba9f139cbb0b632617d9e9e91fe0be6a8297164910ef5720e8e7caa534d76b049442171f09facbf69ad518d2e414e3e2122fe8186d1fcf2fa133979d354f65984b341a55624c5b7f043d91f192b88b4dda793deb1d588e5af15e8480c94df9ce777c34726b25f09b34810f506374a027325f3d3220665b2c49699fa213fe60c75e0b0eafcdac777fa4f6b2478380ed94ca5ae0107a22eb25d12e484478a5e7b8321b1c757fd5cf324d373d0eef74e308cde911fa16e2eef3b2910b2221d85f7d97510854f2218ab2c46fb47f8e5cf224066792782666ae76e205cf7c0cc10591fd921bb0303511b9eaa0c3e54afeaeb3ff4ea0ede039ee6ee97e8715c44faf784cce017a22e7f74706fc994f793cd1df61e77ce811fa74cf71951fd04bc838cf43790cd3cd6edd27f53c1f7a26f73f3c3248ff1529b44912abc7d1ddb6e07b68a5f92340980cd9a0e2f83fbe8a11081e83adc956c3e2add4d641c1b7d024e4352bdd29d009b1176b260b60c245dbaf835dfdea7b99f81ebd5e113c72562a7aeef1bc18e641d99e9d6f9c2503487e09827f25333bca0ef0d2395bb9d2d86b9220f7891213e2279f6ff92c1f8bec79a78b7ddcd8b0823edcbc7f9419f13fc90ccb9e4935709f9e0ad647b2f66c84e23b5fe698a37f20333f9ae4fce9d35420b8b6a1d1001589429d5d24d8bab648251aa1723f499ab8ae60a963a26c95ddae08cc6c692ecdf888941cf8c9a24ed07dcf8f57e39122ee6e437869b3b86c73cb39dee52f127a7a25998454e30e6252a7e057acebd0a37ddaa51fa8be1976380b92f4542106833e12fc97dd83344e6d5dc048402024e5154dedfa1623034ff63c375f91cc070355d75946c4f405f106f8dd6347b7b64d9e2c4d1cbb6bfabbb460eac074b905b165ba35cf89d031dc24972e8802974435efe28418daddfaf2dd4e64ea3e0113ebd501889982ca7de600ad72a3e0ecfa0ee889429744510ca70058ae2f62743aea4c0d0edd2ef2ac77d33a2309181d268d7a046d9eb8404f14b924a62df9e8257f812f72169be905e6f712f69a253351b93bdd1485b93d5bfc4a77017aa2d805b16c6d9d5ef35a0c7965d579d25d5243c3072ab5d7f4f251ea3fb9c4c0e43d27f0f2879e78fbbbcc60193100546c756f3c8f756be943afbe6993697a8d0fcd2eea7de2c3e209beb13de89992ff203319bf2233a793a1d1019304cb058b32f5391fb9e5b3445a6ffee6484bea5f20330a5ce48b6a051863c6b85f6c38efc76a339d4b6deaf79a4f4a01599a37e2672bc1249cc1917688726f9b20dae3b7aed70cafd7e5fad513d991f8c6ea623969dd4892bbbc4fd0c99734a886abc37c724d015fab9c1e83d5edfaf81a085b9d662ec8f66ce8ebcf3f89c01328a1c44f703203cb7c5f821aa6295e275a9a3bea26c02a7a125d177d61f986fb22d8d2972921171e112f74973beb183b2e6dbe793e7becaec0e0ed0d1b0040e2e9e367e7291d15d01365be575c48034a62f4ecbb4fb39887b375a6d152f421d69303bc78b37b3d2dfc49365571d033e5fe2885b7ff2485547580833e61565eb248f112cfb22320aeae7eb11f48a14022d3833489e52fe4a48c3407c5e430b014f2e73fadb8803ef3a42fc15bbb5c338dd95bfcb0b8a59dd6ca9f31c99d3b9a004ae3d84023b20503b0dc87f241cf52a6a9c000417189aa36041f761dc69de38614c3078406a53b6131dfa21bea3a69e705ef8a5cea8bcec8c3cc520b17116b935352bf93ba9f275bda407a1dfa48285cb6d7b8ccfcec66dcab9407c6b47b629f19f635324b8403cb738b97880c2c150bfd42a1272a5d12dfb588ed39416ea5239c3a2302e5cb27b4de5584765161de7e11225d69e4a268da0e3d51e59298897c0c20c63de8770f8a6cc5ca2cbe2bd938d15f59531fe02ae70c4bdeecb1023d51edbbcc08dd5818e4684231c90dded8b08091c3f656d8af8ebe774c7972ff4391285716c2059301dcfe747ab247ac703c009872aa966cbf9d026050011f066db79abfdceb22a43d61bd606afc83cc64fe8acc109051ee9090c1d08d268be5e6c9a877dd1bc7e2364d9540f817fc2683bd3f7ac59df115454d84f4b493d474531cdaaa64f18a1608710f8e638890e210d897677d31fc83ede67150570f9cb8587aec40c914fef133cdd0b93bdac45f28ee7d6bc06bde963893a38c96b7ab0c76576f1ad4083e923aa98db70dd8163e50614076ca03401f6cadefa250f496cef54efc5becde049a3eca20d3cd4318aefbc032cded773819ac48d28a67d03375fe280a127f12852311ae6ee9ba0e4658c0589d2efafda9e4d58763bff090f847730d0d20702fcf3521cee930ca2031c633dab1bdce02e2a6e4b5eccff35d10c5716b887f2698438c11ac0283309baae98879f783a1db53bd16b990975bed7cd5e97a61101d43ab6f331dd958aebd056e3a78a97cb4af1265c7733a434aa850606e9347af6a6020a83b017d24f42e3bdc26738d0deaaac48de0691ca9de3c976c54fd89e8f0f226613b73c9f4d2c0dd10e889069744c77b41af0912491660325ec98bc41733522ecf1807f576656397776c2c109c4a8f424f34faee33f0d21b0d67745bbb84db2e5d09a7468de03acd0c66badcb240d81d6102ee1301e10b2609f829ff493c0a675a01c66cd7f9512029eaf8dcdb57a7d4be9a0c3704a8dbd57bfb2e9826df7d060228b8c14076664010a2dedb0471db412e3d18597fa7ce75d37073fc7567c37b651ba08a66c7001bf2df9b2dfde94c25f0371747fd64a443fbcd67805c6632f2593af272b97ca733690526809b40c8b4d43356043bb0c2174046bb0d36a132fb621e668a688078786c1fd6feb455d38a77363cfe16ed06b3f4c114fdceb7b66d1e3abc3fc9f46a6ce2b93bb289be27a6a84808d378fa38b3b99d6a590120ac1bfa277630fb2ecf92aa71992fdbc25cc7a2a5ca57de90df4351549be3d23f7fdac6371ed625ec410a3dd3e21fe419fc2bf21c40f08e1bfb4ba3c883bdf08e52e5d8251618e8717fabbda8d49d7f5b03a2c1ff2be6dd841ae2d12034317535773996340cb7e70aec725d85d30bd774ded62b2ae2c63c00333158743dbecb4d8cb5fb12e94d6488f2aa5f59057a5bdc75b83507eba41e4962aa6f0de835e8a120423516ce66847f8babc2c67199d3de694e9c4d81c95a6cfac99c8b0cf4c1b6bcecee0fccd39831438e3b832802bd4f1b91da79869e8adcc2de2df546b9932bba0e43083dd1fabbe03ff10c7a2e749d6debb6f2c311c9e7f4e69438c281a5a8ac4ba91b4f8548ef7a3f95859e69fb47c197fc93e06fd92a835382cb23062a67f052b7063c330d5ac47fa10afc8b5541bd9d6d6e55cf961752e3985c34d1a4651a2041193214ef0febc34767a57cd4c3c1269aa71ef7c3f09056139ab30edc8497961e2e950c0f16b819bba10bbe9997bc5c15a4f3b8e41adae81e6bb486e65ef675122ac56eba40dfeda15ceae70e12e256647e0517912005c344078645196e4b2a793af1ca6e2d892db29cceec8ff6589ffa41f890b952ba2f22617fd55e28ddd61b21ba368b74450cb5c92f2258401a5e9df760e0fba715f2260f5a4da1273a5e121dc7ba9dedc92633c6ccae51dbd6de263c1978c4bc374d3a948a2bf419c75671130c7aa2f325f1c62b7a81fe63b1d1c3d5ad5c0da118a69bbe989e795d9bd433186ac46fc52624a127ba7e9719d3c746e861ab233a20ae1ba9471e390f5f134e0030a5ac481bfab34457c8034fa067baff83cc64fd8acc64f4b7f031bfefbd552fd19bc8b3343b403b6a61f79b735aff0a0300954724dc160d78aecd35f500b32b8f5a690c16857cf73fd4bd70b1c9eec6da4aa3002b33cd7ff6ab999e43582421c15c4b51ebccbbc62bc521a0ace54826ed4409affead01053be7c43e534eb8058f53c6eb4e2b91296a530a16aceb3f5ee86fa9e6875f89b8083619386f12e126bec7869c5c432a837aa2ad034fcec0cda0b2feb2491ddb2aee98fb3e17c1f626bc4c896b3c19842bdce10cda10df61011f7c78538505c9752eaebcae3c53a93449a119e8895edf6526e1d9a2bb53b4c01439ee1d1796575ed5f2709305a3a010b53b78f145a81b0471d0337dfe2833527f9219a9585671ef1567b90e4707db346c9ba0a537036f7e2033ec3754cec3f9cb5f7fcc17b71d3f9f6671028f51433831d86c1befba1dfa20a7b895e2a339f1f4960ecf9765b1bb25428e617c8fde0fa575268305ac7a8d6fc09979b14af63476d8f4bac16fbdab50961f0c9a504b375b4c4fa1f8165d877b15eee80f5cf30b89ca11e0455d323e39a2334d77c0c7252f77ee7a720c0f431f892befd77425aa90aaed57780f0b8aad49467451bae81ea6ee46c849d19e7a7c01eb1dca4e434fbcf27ef5515a4596d030d740dc88f6240fadac9f6da64d7eb68f75145eae215f61fbf80c7ae295f7ab596f40cc074a15a0e39d49feb6f4a652ba9dd62f499d89657a7acad97ef85e6b174472b0c953081a940f1e8d6aea75120ad3cc889ef77bc131a30f0218094fef57191ead5c101483becbcc0ddd976f4552ccbed0a65b3f2564c65ee7398a18e58ff638dc663c0ea7d4331e869e19f20f3293fd2b32a320cb6ee95628422f03bfc0564f48492a374f32fa1f9f3a0781ddb7e46ce5eede7c38859432256c188e7722caabd8895c1e4240e5f67ca58ecc162cf644f6a12c6bb2dc5eb05c9316e2922bca135ccea933c7a2bed3c2433af246b362973f161e7854583bbfe81da4d19efb3c655660e535546cc014fe2baf4f91b38ce1d5b4d007fbca18d796f4058e15bfab1cea6e482526a286af00c975b1365ecdce69ccd01ae7dadc70e88957c6b8f8822bfaadb92cfbfa0d1f89ba3f72a80ebd2d77ee29900e707fefa2efadfad0007ae29531ee3000c1f98e0f1f23e98787692b0324da2c8c87a2be6ceca04f3eaf9e5ad938db1d404f8cfe2e8552a7d30cec5cfaa3736c429a3a45acb02a75ec7e063d1d8bcd0a0bef0f25d380174c0a30e853d3d63497de84dd519a3a382c67f3dafdfd57261cc790cfafd70a79e35ebb5e3063fe2885d27f92423429255e1fa9fa5b5c2a0c117a803a464a78a554941f48e1332415c69a14aef93793eb5bfb277ce505f16c33500cb1b98d864ea424e73d76e69c6495f13554fcf2ab9ad22856b079fc57e317a87a69c128a1b9d2706d4d298898fb155f109b7109365b792aa29d1b6f198006e5b56b3d2e0d7845ec6eeb4561867b696a994a331d65d32b7460aeb67f191d1f1ba0507d385de70d7d24ae2c7d69e5c04f901ae3f670cd638b645881bdf93411f61f86861bc2d76b01caa68884a0275e59fa4a51e884e437a31606fa667e3c3ba854c6a21dd2ec8d2206abb46283f72d48ae414fbcb2f4cd1a01c766ddd8801287e0af288c3e554d15cd6f4333b9d317cbbc9263e6a5d3073df1cad237ebd304885f0057025ffeb9199598a53d6ac56910292ac5be2b527781de0619df3af4302b4b5fc6f27dd0f688b913d2c4691e6d09d66837d9712380b73dd4b33bec7331fa26087ae295a52f28340c81a826774442687ae7f63b5e0e755652d627f05c1451cd4a7aeb313ccd17444ab0e33afc032681fcacc803f16c52b766e64e367809321c65f87dc5fcb869902b1ce8827865e9fba968d961ffb3a7ee7e91eef26d0ec3b84339c2744a14ba98b75539b351abe35bd013af2c7d2dc9639e9176ccec39d97054701cb2dc90573925b6b983ca6e3fff5ec79468311c7ae295a5ef4a3219673c2d2120d80ed937267e4373409f28f6200956f7b5d77c7f6baf2f27f4c40b2b4bdf3397f8d264920d25f94de984b4e1f5e94f0ad2897309de7d1d344bb803eec549d013af2c7d254b7962b30d94f8499718164014030b19ed0e8705cf260614006119bace5c38d0139f5fd95ff2cf562e36dc9a7fd9558ac895d439d05833b65c56f568010e4df39eae85d857abee9be0320db89ac5d5177e63495a426205b7747be5689ab9051b72e73d3c390cce62b6d92f88f957d6f1f5f30cd9b0463afc9f7719124addd53c065e8c39eebdb5b27ae855d2a19555073df1cad916571ee4e173b6a3d644f41b2841e104f470bb1f04425cf767ece0acf4ee503c1c822b78e56c7bb8188735a8ab4cf1ecd8ea458c5cb36eb5adad132d21656731e2271e5104aeb77dd013af9c6d7162e189b4e9a9d2ef5a851d40627b261774385d88260b12340616adf926031e414f7c73e5bebbf1b19fef4d176aaca6983f032c5a019e4ea6cd47e436b3db116e55319b7e28d0134bbe4f18263f9659709c1fa90a37bd2b6b97db33f3284d8116571602166f6949507354f86a214705d6982b829b1195e7e98237ba5d3e35b0c4529d48b6b850cfc44a923609ca6fca32bd6096fd3b98f4d9ffe92f8081c377e8ff09ff9b7d85f964ba18ee60734da5643abd3fe60d0e36ff5a9fe5edb8871d47fa925ca4e7a460be1a5bf8dab517d31294b4730415fe1a32cc379e0fdbba6814282eb9e62968ddffd6b631439b2dc0b280343a0425f28496707b5bc4478f1a7aa6285a736cea24764664df42df0e57c6b87acf68126eb6a2e31bb12f9d95f33773cb15e572f2a71ee85647550dec736f1b414fbc1dc6a571f3dda8613cd19b437862cc479d3999b1d156dd372c9d9d74cd5a3c6d13c10b7a62f5d593b615cf73f6e16be949f5d34aba354a8e72c6ab4d9b33c06208d5aeda8f2d7d8954d0136baf8c20d7fc59361cdf608a92030bceb74868227721958fb6aa166d93ab04625cc4c2a0275e19bc0e3bdb229f33daedf43fc24f0b3a8daff7ed70fdf89149498b347b47f1950971ee05911a5ce558b2ab06cfaa8c19cf8acb2f45448d4cc2136ec4c941bcca86373f6d1169ff827865f0da99514017c0146a7144e861c1ff91abff0d369b4990db0b58113ff4e0d585817e17e8891c06af9ef73edd4568c7b5a6796a6a235ba9251baada97b64e0851d16d7e8542149fe4033db1a5a1621970b4001694185e5babbbbe42ac181a919043b16c67e436e0e5b40b7eb17baf5b9d53440b7a62eb51724522cc515c603d1c0c3010a812080474a44f30841164ffd43fd1134924fc20e9603332eff4556f980ade5ca61a0690034108f5fcf16f6a836b2a2741cf79dbb75c1a40602df5798dce4c536b2416a43ba2b47ac07d1fd5fda2b8c77a893e1d0a5e8243fee0eb95c8847a26bac01f2f6cf5cfa9c58de1c72d94b5042c6149fda153a1c890f9cb95663c429a46cf0f44dbf7c60d2610b2e578616a7d3e453e26ef64a81ae114e6bc8104fd955e1932ca141560e0c43ff7bc49f7b4d46291b9aa849355f100a752f163ef844a98341b57db001a70d211499ce5b85b8b2409320e8fc670d9a845a74cf2f5f0c8b6ae2f4e63893a0617c42be3d94faf63c11608d298e61ce8fe8fbdd63cc38bf7d8d524ace444f48ff9468413adc5a1275e19cfae11b146556c88bbdcd4a5db167ef135fd185a21a0b92fbbf00e69dd7a52df741ef4c42be359203a2d07a88a61e16c176f3b54c7dda563ba1a616ccc4efc03280cd56afd391ef4c42be3d9f9d27a07303208792befa717bcbab90a12c6d5bd9af2e32b196aac05e1a14c1dd013af8c29679d098a688507e11d0904200b18919c271ef6d164b1fd730b385e8aed75132624d013af8c677bedf78168afa249f9c3c6c761f46747916cc8ba9c49e82b100c5fecc63216b8434fbc329e4dcd41245936dd10d06ecfbcebb20da1594e64fa0ab7acc2c46cb2a7407ad3e5eb55d3820b6eea381be73408cdbf4c2c034d8ea92cd16d262b90301f1ff2a07d4918b378457a41bc329e3d919fb287796af60811268a2c7dbf3e24f2c0bc25a3489553860e90c411e1150c3df1ca78f64ee21b9116e6861d12f195a15a72771c0a734405e3777da6e204ede90067ed6bd01327af018bcd49b69b0d3feda34dd7c5316b4dba86537196e8a94621356bfd859125ed087d17f4c4e94b220506ba99923fc7d9c816c1b00b2bb58ba077f6c16b46ccb82542f71ba54c6b46d013afbc556587dd122d5d1a9d9c9c4f38b46e793fe022731dd5df022ebb3f1a2cdd36d0fdeaad4a07be811e48b887e8daf0e8f84978a14e2f8d54cb891e38e2214dff8303a2958c904f17c42b6f553e9d59cca9a077ac14069ef0c1af344fa8d1bc0f770e3c933bdf10f5778bd5ab74424fbcf25635a7db1bd87cb4da38d54d322b4c4b27ecbb728b6ff4a194fc9e5ba940bd0fce67e88907572f0d61175f82b038f55cc7ee5024b08ddd605e2cd68bda1261ad8a3c7de7247c66003d71e592d8f0886215ffa58cec89394df3b31b7b4efb6cece2a1c48d152dc40769a57e66472fa1275e3994ca316f87d9909b8954c47fb10b3114fda03392cdc15c62bf8762d3c7eb98a277003d71e32a1fcd48d91e7f4c8f791154da3e3e6dd05965a2bc74f83aff0ecfaea45e79cdf2d79749d28325140e5ee99728237d1a51a4686f44dd7520ab6ca816686d90867b4aefebaeb87341dcbc24a2680fd82ca088ac058a6ed150a931eef7500f0a31d73dd6abb65dd3ef63cf95044311dcbe24d21955f8e82e4b74fbf69ae2e81cbac2e797ebc14b8c403276d7157628012fc5a127ee7e1f0f449c2d98013f5a6a74a2ab379c21612aa0c2ab2cd72c1995ac1b333a85083fb1869eb9ffc7f1c0f3ffeed799fa29fb24de73febba3cb06d22d22a11a0fe4d00ef7a6b299c2fac438145828e737093dfbfc7980f975ea161f356f4d577f3a98c01e9d1e03339a8f8f3fa7d88db7ba1f75bbad27a2db931b851a876c14d0367df53ad3d29790aaa3a0aab36c2be397da07c26a4911540133f2b970a3dbfa2a9331b76da16f89c33fbece34efbfe0951119bf333203a67a0f9043d1128c60ea1b3d493707b442a60af547694f61d929cfb34f9cf9d8e62408077c614633adc1e6c8738bc9bd56ca4f3f47bfe270d5dec2b86f2dd235aac43e185d4dd2f0da91f07bccf2ffbb5fb3618a47ee25a0f57707e32072324095bd0204d76fbc849d7c43ab95eb39287592af653ac7c9871f5ca2329998c5bb31d10b0f263c77f1c61fae0a7262448f4c4a564ad1627ca6aa48e8e6650a3738d1603986fa4d999e70110bede1763f0d508ef1ccccc3959e55a0293812825fdedb73296baf787a03fadcbd325095477a1cd95f5c715dc557831878bc2d68a945ecbe3e82de7f774ccccefbcee71ae8895706aa0f7123cde3ed7b5c9f7d61254d54ce2c689b772d1a912625f32640b1d4fee06072eb82c80096e43f4c0dc42944e099179c1daa3af2c132ab91bcf1a05de4fc3ebd21f2cc4bda0be2594325dc3a0002260c1ed974b31d1be1eb843bc414c8a023aa71d9094f4cc1b2a53bfecccf7dfb1bc338f4cc73085c4a255c120c04ee62e01408cff2ed01413b28c8fb3a20a1450149b583d2830c677675b1756a9450d31d47dc07540947f566c222070074addd24af687ced4a48b83bd40a58c360fcc2b93f01d81b5b3a28b514b3fcdb244c3207b9af3083d547d18b7bef267e8df2529ad2ad47c91e1ea8d9f6336f953c4dca38787e924733bff7a36458d1df7bac0634fecd7e0802fc6737d1dff473f965db2b24c9e09484d3341fdcbf3e14be3c168743fa674b6cf1adf84ddadc91703b3338cdf479260b57a988f5343641701ea8ef8e1a0a3f73dadd0d50171e1e13e6df05afa3b09c94d9be8f4b05d07e4fbc0583e6642abf4975e8aa181fded7fc54193b8759f21d9f360e318e63b6537c1b6c3e1a0f2f124abb217533d594b998cac90fa3cc6746aaae21614c9966cb1dc14f919ccb63d5a6d8f16f8b08a306ba7eca14d5e68a6616eaffc277d6bbbbaa040bd71a13412c686795f334e1ec5910dcfd3a96120299e669ac2c1c1bfd775e7203d2638f3f1e4ba25325feecfa388f428a2e29be483f08eb3c458ad95dbe1515db0758dad67caee81f4e219b13288814a23da25ded8aea26772d18f1f5e3b9306bf4c45b53b5072901089c532532d7d89e14f05900cd8a93d89d8c89cb3c4fe483771333976e337e8ba02b6afdf6a4149e3294b2fbf6ccb94d5da105b67c0231373d8d6c8a75f980fde62bad8f0d82e4fc38f177dadfef01fd56efdfeece24a412e1df2bc0ff30bb9b1069342bef4f04ab284514eeac046eb41b41629925895114f24c2f176331f2a06de9d7cb98ca88c7100082d1bbef707f942a1620674b2da30c9a8c3e6abaad8dc353469f564578970fe8482393b230f98d28b1482d3341eb2086aeffea7518342496658c1b1cd5773ea69409be09a8ea12dbf64bc1806d2318e19bae42abab8c18dd67f4c48862f1272e9265e8c4a6d7a116bb10e0d5243ca2d74e314a1c15a2a9ff6db407307b1d13f2a7d766adab18f3c743221312c4a027c25eadae50bf5dd136ebb4b2cdacda1447d4e1a7eb260662637677cb1de80a8b5d2c22839e087f49645ed959806b633d5e6b1b175795553e92d2b23a0f9dd5d64e8fc85a4c07137d7d94ce08ce14f3103b0833b29078ff91ff23196b6efabd07a7daf41f5ab58c3e1f8c4590d28f5f04af3c2151808d00640966a7cf36cb8d3943afe4f8128607e14907c3dd0f590a3d7ca207a127223754024300106000789fda67281d7bbad3b9a501995081cbcc2d8b71887795781c779db5361837a3007a262a04c851096485009998bead02460dc09ef9fff82a6026b0d8988b5d108f16c5ed98a5d80324b7195c31eeb8e68e25cce3e76f95731b75f5c172bcee1bb7f0dd92dc91412b764b6e7100e41a6105112e6b067b71c3144eb4cb55c05979219dc8349f1fe4fb1e3615f16d50aa876e373cd234ba311326d574928437027d2b5c3969f6c80826819e683e425a9d93f73e006c7697fad701f2cca254903ebd6e8df4993c879e78e5a459ded6f8c63f2b0f54d7e4bd51df63e4ec0edd10d68ff2210ec55940c2406b2b6ce889580d95c00b000870159c785f0b5714534177d358883b3acf53bbff5325ec4371ae2cec1a2c36050d3137e899d810e0934ae063180830e1a20c02b507e5c15604df2b41130b0d42e306241c8e3f7d4e8b6e44c1691c19e762ac2384e1bc7a1d5409a46a9025d6f9cd3ae04fc60da2e5417129b8152a38f3d6bc5cc98262bc0c877feb0e68121462f3971918da61d329f793625cbc0def27e747f7a3856e3ffb51ea3fac2e0cd5d48689705624bb05fa44b2983e988bb71c940f829d44f63fe01df2e0618003011b316be77a1c09c1f44667a8e7b762669f0594dbb4733f6e4a60c92c5f912dbd57098b0e80c0a280a5096df41bbda8e96f76b376e736f032034dbd1674d5362b656c4f9f3f1d24fefa02732630b2ed64d7e941cf80c6bee61b6d89612a760f552df9a8b2d5b27083aea9b1d457170d8e0b81a9ae84a98081c0945e34b8ca00b5200c71d16f8e9ee2a20939588810ea2715dcb486af5e8cc00521565cf3052a2a6124df6699aafceef84b5cfdf6df7ee167fbff7a43066560856503933696378abe9d09502380ec21ffc20b964f8f16eccb6479aa52ca413a986db30fad783e9bf349dd925cf50e6f46d9aa6fca321d0e536666850ae7cbcb2e72a31b3beb21df82559867ae26fe979e4d5a00e20462012db9d414353a7ebfb0516c70ba2b3efbe79cb9f50da20756ef21a223acdc4a70284c0661f799e134c3f90d8dd2d305a0a33b441bdd26b9fe18859ee877cea6669f19e54f67b38764f10c54ea50d53e52db5e582b5b8b78bf5f3b528b2868fbf498fd5139cf12e9ad844371331f41399349f93a39fd890eab4f4b9554ef1f844a64da53f0318c0f130160d979b97811b9f8d8d939f8b8b96eb2b1f0b1b0dd3437713361763231b335b1b47065f6740c7172b2700100e80100980d2d20e9d70ef1b6d8f8237158847c18a2214d07cf13d4c809557b08b2fb7c085cfcac699625106c8ea1f490256d32e675248f2d3129d1c26e9e5faa36370206ad6db7983857e07b8ccb77bc63c6dfb34b5c417166227c4b739b82cc2270c0ea5046f22e3a0bf81ee7cc1202f4dd01bfa112ee230025f71e1c8dbb90f7e9015b0b84bdd32dd933d6d9204122f53a9209957e82eb17200d9c7ae899841038cf4a9814084c5220fc9720f0c941104619d50fa5341c61284b4fa7bf1800a884a17a95a43cf29b5decdfeca7f4af97fd80cc750aabcf1b2f0b81a6c41f625ff04ddbd3dbfd44f63dfe72dc7019cabfdb64060fb7ffddb22a1b1b9c58a8aad3df7de16bed844607875eaacb11933716961f96ee767f3b5d3f294576dd28ad52d8ca6adbda1658f3cd665a9819d93b9d8df4a39a3e6a1a14078ffb9d7b936c731bc34ba3d45bbb0495c011180870e042fe6f3eba90fd60e02377a0207939d104a6590910012c868da5fbc742888cdbdaa6b6131ca812680e0b3e1ff4bf5978c69738163ccbebcc369b8c8dc03137ba9f6c9d53fb9bf37b3f13ccef89c7fd3f9f718f019b601ab13d285306def3e7d884f2e51ee05b8e1a030030b97e94259d71beda80de81e5a42cee2e1449bae4b468aa1200000edae4690281d37c25a84d00a1a4dc212d47617dab640402ebbe31daec79851868cbb24a0d6b60b39da2e2adf94c76222db3f3a539d2f441f36bb7f284cad9dfc387baaa0b34b75ebef4341954b5ea62aec5c6f26c38f19174bcddd29c12ca347597797220d5c28c061609f45246d45089600f802058833d7414566b73a313c648b5297b0f4f609b886b2d0ca796ed2cc25e03eccf9788a0679240106e5422e0c34010b032da19727cb733bcc185f657768639bf6e6778991e1fde81fe7eff78eadfefff3bfe6ff6feffcecef06759fd2b1ed63ff9fbffd7cef0ef8fff1b3b43e8fac0ff30b69de1cf72e0bfccce106edefa36fd5fee6678c419df48dcf6c78f5660d7f536615fd6299d7664a1b386621a96083cfc67caa37f43fc857f14b35854a9d1ed032aa227ca24baa45b39fe15156eb630bfd0431b80602ac7e135201a0ff3e6ad0e36adb5fad9ce5515bf9a4f36c98a8cbb66b0cbcbf4605ee44c062a156e9c8d3dd3c8c4d4b9e4f9b42f07b6f47228b182847b03eee2afb82b61690110d89be00eb377227c25f452b72a0b8d7b2dfc51f0cc22d6180dd32870040e77cab808bf39489e19fc85d322279c27aae8de8263bfb02a56d2e4a0a7fc94933ee331d67e2b0801ded0c5fd860c02335009d30b81e90a2cba1584715b2408a3b33661eeba11fffcd681f20b916c8644fa02237975c7463e50258cf9ef38c603e0cf1461790f777ff30903ec3fb35f6615c466f4d6ec56c3f4c0fc626ba01722e186e14f0e3d5f758ce757461f578325ac136a077fdc13e82b9b7b56cdf0df747e3f2edafe2fe7f7f5e9b9c5e97b616349db12541c34eba7371fb9037a361b9c33b0e7ccc61dad21d5ce388c600fc3d2fe4fe037f133367118a584713e9429d8751b93db5437b62247f7ee17f954c29901207046e0a56dd385bec12fbaf3f4c9596cd37934195a4f466c1ab8543558a5c6e37d6b97a0ef29141038cc8aeea3ce40f8f3a0380cc1af6f56f8d142525085392da0faf5efdcce650605ccff62844774b904f5fd39d7d14ef2fa8c83def0e822675aba87e5aaffa7e4d83b4d9f22de9c58be6a0d0aa9abdc079bde7e215bde115f9f11f7ffb0f716605566ebdf3f9beeee949446023b44900e11016904a4bb912e412495da4828dddddddd484a978028b0c9ff853b1ce7bc33ba7f3fcf9939efff3dcf75cd5cd7ccd2cf5ecfbad75acfbad75af71ff7cedb98e593478a5a2b1948dbd289d77e49c484d1bd49f1bdb713f95f6fe728bc1dc0d76d3db83b57ffe6ee0560b66d0c69bdcc5a7a8650cdb87738977c5e04d5fb6ff3763ec75907e2845ef6cf683ba4973a24ae0f8d684944f8b092ce420269b3bc717a0e741629179dec2cbbcf978783c3ccfc4ea6d8c8e25df28942891e7fb43bab7a8a6b5c15400f04d0f121b4ffba7f8942b2f527d2f55f2ea1ff692efedd2e0674dfcbd83f9c07fee85d007e7310df49d763c4fdd1c7f30fa5eb033fbeed80ab8f87b2c8cba459b3bb0ec31ad6cece2daa4c5525420ffef0b7022c2a5a070202a28143e1c8f1ee593389957f0139be86ccbc222dfa1f09427cfb9523af9fa8afc367b240c8335cac3a33c2027336e46151888fed780d682a55b4a9228f72498e760cc82d53409f96a13084cec3a50e67c030cddb38df5914a3719435ca9dc1fefc39791522170408910db811ebb6980679c0d4b7406957401adf821d68239abfc998c2cc99df2fb75eba0ffe2c43094258aa4258800421cc7cdd813b460563071ac1e25fb0030d63e42aa92afd833fe064f4e3726b07e31ffe01270afb1f96dbdafd98ffb3fafde011d0d3203205c4eeacad345eeff2f69918862f38ed6df6863e1ae137442124d9587eb3c705b7b5e2247f571e5e0449ea343f361bc7973a3ad44c7a44636b15e448941c47c473fb542d4fd64a31ec0bd1afd44600371ee6e9ef6a23104937318b5e8c3f1ca374eefcc11e5540b0a77f81c516792b32dd5b6c94b494605f28c4c974fdb0355a5089b3b09d42e274a25879adeb8d138b5b59046f7523f1bfb436679db0cd832fe3a7974c2589790bf2a6c9e89d4f00d6da1f3437467227d8257ea054134b7a4883179b0a0fadb0475394282f40df3a3a8433a04876f8ac6f9ac80e93e8673de5078fa0655dc6cbdfd5a6dfa8c6da38344924f6d880f60ee270a7243a64fbe80b7a251d88d62753b116132c7590c118b8a7dea86dae89a5263253d4a48f51dee66d50a073d0a79bc23cd020fe95da189c7085feae3627eb41048d9f81fe19db06970d2dd98db7b4b97454d29f045104d36be6afcd63601a2c90f3bc4aaf2744fc44d434653791bbcb1143cdd02aae1576a7e1fc156ec6e8bfb636101e739fe65d0bf1c604b215fa3056d56a13f47c2fa3bac35fa1a4df567c068325a66b820b4388abacd1cdf74a41f8e9709f7ba206a6fb598d94b46943fddc0b6de29f8dd91ff51b313584f7bfab4d6a8ff519240d9e10c89912ab2afbfe2a03b4768561c7c42dcf24e965247fab8e28d3532c7613c2edf1c4f70d95ae9f5a30c493194688451f7f66a57b157c520443f66bb5911ac9ff5d6de46e6194abddd7e59b275cde8f3739c3223fedb1f7ab6622d965942ae9281a18233b15f9d27c0bf0313728df56a3e478425b305f456d8f0053892520256ab9dea8f75f5b9bcf3afca091f8d4232d5951e41938fba0c04be42fd3252b9345b4d61452d2cd2fc48e7589a29bc3fbea00db8aa85aaa97bc5ebeaaf6811232ae0f01230710ca77897f367bfee09164c5c767fb5d6d56b3fa1e078fdb8233663294268fa7c66ddb16d29651cec7b8d7222b205c1090dcd71c17bac75dee2e86f717858438000fe705b5971a2a82171ade9d3c82f2c833fdb5daa02194fc2f36e6ae1e104a2388d40e46a83d62db8b7a7147fd7d586c0d766d8331c4231931fc043e11af2c94265ea66d8ee17fbe9c77312bccdc184bc3a5758c40622393110f27fa97d606e6ddd280c9471ad8e5deeedb82b1f6169927307c7b6fdaceb1242045a1982de8a08c8807e3fcd3668c260b033c71e98ccc977d52fa4585a11a31f8081397bdc6c7897ef61dfb51bfc1ebc68efa5d6da0e09a460dfd6b4c6cfc14228a8311caf2aa2071a62388668612ad3256be08924aad3cb0b3b5e16b6e9c23645575698fc3b9a732496c2dc3474aca65726ab08efe6bb5415c7ffdbbdae8203d9197c3c3703c8eed651b8e79b70aea85375be3e9850cb12d2c510546af730dbd5f908db2d4409e3b5f0ff23ca147efc77c73caa0d53af49c4c34a702011d1cf85f5b9becf71d2f91b5708649a465ee2b19ef612730609b11a270c211cef7298e5b1691a20bd54f0969a2363524ee653f9e79161979f048b03dcb9acb46ff3ba5b000ec232208b49b935a360e762eeeffc149adfb99f33a32b5e3db531ace264233ab6b06fc9f71bc605cb54585913e23252d33018d1a7d02b067d3863f0629daebb08c6b4a23ad793074667f46a31d5eae8c97c2ae8264860041d203fd8330829acfdf0aada18775492c049e26a1d4328a550cb064e00c9a374a053481bf0b70a40601de7fefcdbdfcaf37f7cfde9ce477de5ce35febcdcd8eed9220769521b3f10471d377797ae68ebf99ad59313edb9ca5e9b54cebb50522741671f4f426cb420c3575b3894e85cbda12772b4399ac913ad99744563bef5c47955d405d29413532d15ebe7098dd981bf7baf7c06cd7566bc2bb2b9eced140561ffcee7236fbfa0216ddfe5e91410671c12367bb276cc83081aa7d23131668756fbd5abc35960d4665c027d23556413e8700410603c72866dc3a6a636f47dbcc5348cb1f2f3eb3f1c31dff4447a31dcea9c77af78d1bf84c0610245f1524372408f26b7207c2345f2c6cf8afff2074d944d79edc3f893b92316bf0ae7a81635ad369a4202f8ee35d05682ddd6808fabefdffc78909a0b9b97f525efa9372929f94ff2efb361f69fe43fc273ff0803bffee9f68f4063216bfc9e10c60cbbebb4a25fff9202852b5cc6387355c5d4573f1588d9a16fd1c48f859a9da36a83630b04a80677e2a206fbf2e96a2bc6b57e6de6eda2734c10ff3df7a38aec253f19a584220e14c2f3739fbb64f8537da1bee27eaabde9261da10e219855fa3419881abf5ca948811c45f1125b048549a969db44ce2e51288614f2602fd58dce297adae7ae34dbe027868ecf9b3bdc50504e1cd7685eceac3ea03ff67e3203e4cb3613115139e0f31e0136ff28d084a96aba936b3f8c28af41babe8dda11813c750e7918092b42437cb127f04b27b0f3ef126dfc89ceee9d274c0c3ecfb0bab8c50cff91af03fdc27d044f13752abda634c4f1bc1079fc87e4dbce5c4515f9adac517593c1054b41521c1f2b69640e659f913772a7a9d8fb00f6ac0277236de449955f1500268073c47385ba8d050dff55624732c9127f86eed95f4c7b4954ef86b5c315980c253186694c982221048969d5db7a5d0cdd64b18f337ba7458ab52f53624f7ed9aaf2adcdf479965ff2c62caa39527fd271dd0f2cff649c08912834841fdc97934043f8f8ba97f761547f2eb0e96d0db1233efae4e9af32f911f592195f6dc18261f2f32b561bb14d9499a37760702c979b28a728df8d8b9989f47a01740105b18612a00e3aad207a984f574e24c8eb57e6bb39cbf3fca0cf0e7b756cb1a39ef2c6d2ffde24ae55b649e15843711222735478328a601834df6179fa543a4a9dbce7c0e0351a7c958aabd8042f73edfd6b40828acd50aed4224b9958c5e16f170388f001e8a9ec67fe07119fdb59a9253a3e752f0a0fc6dd52c357d4a9990d1f4dbfc26785f96a15c5116bd81708aaee0f75dde6bd50b9410421b49b4b1b21986489923c219161c11e5e427bd4fc260b24d3576d1d52dc027f2ff43f5c2072ec517ee13b02fdc92a28fbe753451199552c19a11015bd1a318c5833b13dd3eb4a0009a380623ce3da04b390a1ad3a1dda2e16e21fab2450414624ecc71762631ae493226d3cca715e83b8d00a0ee917d62fad86ade9ae9debb3d6202e7aebeb4924c0f025757d6913d2ace0d77a0dece71389b83e7da682e8bcbe868fc8757615545b30b2f92b2a7d91f33e0023e5601f22140806ca0dc02175325d787119c1099a41321d143a9f95d8ad985fc76126dcf95e863a115f0df551004785405d08004015433af5e5793c90f525f13c2cf89331ae2ab9c5d111b790c37ba8aa2145d65df0c0362ac3c59fd8477e572948978ecfffa28b3e84d2d73db9f96c6609097422c932435fe4b17cefff314f7708d00e0275c711d15ed28a528d6e10392475ef00fc82fdfa6f53fde2e5c81730774503801997975252f6b5f62835ee75a88456f0cee0c8b30805625df7f88a8d69d6b49f67c5ed90971dc06f41f4f353c364abf7cba2c8fe71a3899d8f410d2c0c754e4f591c8610056bff923f0cd257cec54e9007910ebd3000df96d5f5b9cd747193e9aff3d549e9d010ed36993ff47caad2e616426f05010e035a260a4511a9d772300b881975a7cfc70aadfccb8da93724f543a1aeb33b41a2f89c53236e99479208ea4199069fbe243b91ac75820a4d4c7d9a03907b2ee63640214f1b3a77cf3daa37defafa3221e55a7b4f13d9faf652e4a1e1f1c234e2b215e816e6ddb182e2aba88470fe51601fe9bdce4dcd1c4ec0e7883075480b87679d7af2799bc05610766b0643f3435411f377ccaedab3eed1da0d32fd182d26904ea1bd177eb64a6c721fc439788336f1835cfa4552374bbd498542888e237b21ea76f0eb8ef1ae373c8a6ae7a75b7ccd2d1c99ef92e0edbfa501b27ef403aa7824f94bc26b6932cc2ddaf38b79199cb4aec8c487722810a539ce832f0b116d33eb1b25fba0d3ef126adcc2bd2e3b0db4f9e3e678a94e7bfbf402c07ff88c617597548f1bc98b61ed3231a72197ce2bd6ba2fe29759c2cc8981a813c1f43916af3b0b5b5c66c6214df26aac70667966b89007ca2ec4d8e838d871f0ec53268105f01970303d19b87e7e54287cdabeb6e3194241076e9a2824fbc493212b7e7bdc9ee2c300f99229b9e17470539f44e5101b3b58dc42a26a8bb57a204dd067ce24d721664d37884a6504beef898fded1369770cbd5be7b92c36fc750a96b1f572b0445f176aacc0f4eedd75779dac6d2d4d4dd6186df1977be1edfd0a833a1b87432bec5a9f3fe05f116f92b380f8f9b08b1c34c8d8949d92de85152bb8130bf4912874af21d3162a89a74f7b834f5469ac42ed8300a17601532225149968367a620dc61b5870d5ef6ab11c90531ef4cec81e32f3c8348dc6e980cf1e03a1ba56a13a418250edaea66b68dd9b49c017f2702adafa95447a5881af8a08f85d5ceff3f4178f4b5e227a57a1428bbb45e2fee2e203fed77619207f72f908fa278b0f989f8426c3fde46b80f093f743fcc9d706f927176b00868488484229dfff1fb22221f632989187151c7bf4314b2f69656e69c420870f2ec87f94b62be20f8c25b7d1a4a1af60c53af702a2498bd5ddb20cfee2faa35f78c2e88ff20f17bc16fe777d0097404fdf9ba3a26df9675ea768e7566ceca15b6d065dd23e289e525baa1c0964e0f25007d5217c387a27671dab89dc3437af85c64e69e96d252394a389e5ccbb3889a1ecc1fcac9fcae3cf0de4a888fe6d0ef1ff691f73f5188fded34e268379c174bc61cb50a2402f34a4c740d5372c70b324cfabf4bdb73f1e859812401946c4b5f91a84743d06c997fec43ec87f937d28f7080be6d47b10da08a2715cb4211ab4d12cfd0eddfdd87a3bc80954adbc492ff125063122c5354c2ac9a92dd0a2ac4bf944ce1f40a8bf360ab021761acceb92e4891a2c63132ad639269afa2bedd3551a3dd2be293c7adb65fe35964511947dd773efdb40cd16a5f449413218c46587d7e707e82fcbb7f0e88f09790c4e39dde700143fb10f3adf641f2a85f438da39d5819fda07d7ca1a18f0c25848fb7e7108d343ed8ed41b6d92c6c605ed8f108a8f8467e303b808d7327855dd60a94666b9ce137db85e1a319a3e5c9f0ddae6f0db2e43db9e33fe2bed830185a2105e681513ee2860152fabed3e1bfffee92d0cb64b58d8618cfe5512a16cb230967d8fc19723c21c6508b829491f9920a9fdc43ee87f937d08fd49ea541fc69afecca310cd6d9ea2fd3064c28b8ab15330623e689f952082d4ddc80d771f7ff948b944c230c1e0d6d63961452613849a4ac4fe463ac98757d50d83fe8f5af2dbde3b54ae8741fc95f638a2f2b3536d53ea48c8f774508e32ac86beb74248a14d548eff1e360635f06d1c8b3274f1398561a1c30b8cd46e0ad3cd403bdccd9fd807f5efb2cf8a9c10ad10dd9ec84fc7cfd9e77119c8a227192076e1e547c69820a13d78fa35d0a41f6a30d8194b5b0a8d899d60e8dca81cbd8690cd0cd274649774339a6b4c11fc3cdf3f30709917defaafb44fada1cdfaf3908b2833c9facaba5b6fd0b7769f5044f52656c864b2c14e74a4ff3c62f999af836af46272f381dea1089cfb0587aff04f32ec83f677d967b8e849b96ef2cfbf3fdaac1de4241747ef5533b2adc4f59dea2d4c5e84c8add74493e4f8cab77460df96a2edb3f2f2ccd8b067ecce850da6e216a762a790c8bd1857f1355ec6b39e3b20fe0bedd3c6bc098123abb0bfd5109a2832c7bd9fcb9f320a8ab24e9dc42e8d972413451bf6e572d5d60ea023feb274334eb37fa415e1c923f613fb60fc5deb034c727812fca73f55c7116df5a1ccc20a16e329dd5458a6ae0afa64582d92dd7768226c51a708b1aa81aaa05b7226732ad8ff46a1d15a215cfff5d1ccdb209db7055f204cefe6bd3c8ea8a8ff378e1f0688ec25e15ff461e02e04438c03791ac65843f721302d787d5fed7793eaafa5116759615ad6f5a42825959e3b2b878b14573ae26caf92cc6305a0cb95db167c0f7ac4a8c9eaa8bd9439e9f7517349402eea44208d2d465dd087a3b5b1d36d1209da6f375af8bce385262339e524c4e9a7cfbc761f7d6aca4fda6a1a172cf4ba1bf75e3ee0874193d42a9ef75d49be0f7d77f700c5afb117908358f8ca30ae392fa554179a76cf727bbb7c5a34b93be08583116d528a2e3b85502cab1f697c431f9e7bb0c6bc88998d74de5d75fc19af0ab3145fb1e422a2c604b23b9b119a8c29a8eb12c5942b57f773e3a1187e7224c47399a0e2f7842b76b211cd469e32a92098995c85c22e023a5743522bb1487302a8fb1e95f696a6740c3b920054d74624c2080302f9cae3e8765291c82444db3be3ef6f3422142fe82d20d2cdbe20701f62cb39d03f56e74b4d35b0daac5c2b997c22f03444157c7ff6c13f6944f4fe3ea31151f0a7ae2e25290b99e98f7f1cb774adf327f5fb758d0800d06850726725c63743c386fa3da14e778581b61994e069eb6a15c69764c3694b2d20b6c449214dbc7ddc6466e8a2996953ad5e7b92bd55d840dd170c73f5731182a27bd7a7110ca8867385893843dc6e3532da358f07da4a42992666e44a47b4b1bd12b0c81937f7c3df64467c67385a553c07cde515f4dab32b4cda3ee9c8629576de8b210c1f17ca764d0b039ff9e89fba50dfff355de84ffd4968b2db3bf4323f9eaf190c3a281efd055dc8a1faa30d5d24d552a1ccc8fa2c95dcc18b075c362351cdf7007068bd3a2989928012ed5663c27b61eeea73b745d8ef7bc78a7832cb4cad2d28ce6d7bd34fc0c7e5ddc88c344033f927723f0c33205eff5c37f291c8275f610213354c853393e2100067f23503261b50d264bc404b9b093da1d1a1ade3a8d43f808354fa2070bede2f8562bfbf03a4ce756570ed7f921941bb32b8ef3be8a215bbccc8cfae5ffdafaf674140f086423a96006277d6e76f2e6845394368f8851673be2fad90bde04704ce3ab7a92aee390746c953b2e27d88e434d148e6e2932019da46780a83a379280c9d2940b6f2b493f6e1bbc31762695afcc4bf529b901b3860d6ef6a13c646626dcfc68bd49a5f71d8ea33a8da2d7a9f9a0591eededa1d006a0093f6aa25cf14092ba7de1a1bd0ca9bc226e1511a80c7ceadccfb352e3744bfe39439e8976a1326c1b4f5bbdaa0746c85d988399570242fe3562ed4b129ee1df5cb08e60d6ca55463ed4e6788700f9b05627c91936c78ff3059baffd118fa7e566219caf8ec79cfe07196e0082388f81f32233c9c6cece05f5e03009b249f7c02940b0317b7f36e370667b4e667be5e7f77c633101b12b0db80a3b50808973a1829f63f12aca15e6b7ffafa69195eeb7067647138af9c9c2b2f6cd5da181554170408aa0db877b1b7fb4c3f50716e577d60e3cd51b84dbca65a97d2281ea17ea6df9d7db5b525f007c4631094e3f73360ffff353360d59fce801fc22911ecfdf8c7d927098cff8219f0dec6899a78a9be3d4b14624b407f2266187e003741308f611c2a078910de3635106130a2d97911e213f4eac4adc7cf871ab7b80fd9c7d64a19199ad82852b8dc43bebf5718f5df7b85ff7cafd0e11ff70a797828feda7b856345339b84b6812fb98a56b5acb70658301ec79558a1dd9bae4f4317a6917dad02341b5d22f45edee8fd42ff2c95ecb1b8c0ab6690253ab64f35c4322b7c11417af92a44510810a220b06ebb550f38180ce1f3856c8d379ceae4a43245c7eb948ff354719825971a693be08f653d10c2c72ab80a48105cc957050b20f6df142cc88cd0fe44c1024ee22f50b038fa617937eeab1f94fe57c1e2dfaf1981783522ef51954fff2f3fb2c8bf2958fc7b542c7e1679aefb6bf68512f9b527e8bf0a17ff66850b2aaef303833fef7dacc6cb0468bfbb3568a3fb00a948651f7013cf619b81beabfc316139d12f6ea0fd4bdbff67edb73ce0edc949a46e8b3f8497f1221a2fd9736a96fbf62f8ef15feadf3f541821757bc62794f9bb2b5d300f2a8c80884bf89cbc0b87e7e5b15e3b4cbb74fab73e3e983e0ee5145a7e4c28e1248001249f74ea491c96c8a799f587e90d7956562016a9d316e26de474d222e0ddb00baa8264054132fb14f27fd502817feef3275a2080d65fd20281f4ea3e643af126fdb519f57f668d180cbfcabc8197e34b0f65ea91673e1149594b603b64b0fcbfa0b5c10824463a60f6a9317d10fd768755261da303fa76736bf4b31e9f67690d350c4f10d180c800177a4458f98930626e501c3c93905f146962a417198c0baa92d229f947de6f7b6cdc3345497eb16130fab9e97c3d7622b8a48227caf6c4f195b73d2feba31e0b356980bf8234b8bec8e4ee62226ed4762a736806b3539d37dc2841c368b7892ced41b6460c72f133f0029f68744d74112c20941bc71e7e0629768e469a07a23b6d728846669b8cd2a319323efe5c7e4564079e099f3b104eea035d9edcf32a6dc64a9073e1a417c282b62084e5cab85777fee60f8a68d278a3c5334b3fd222e75b58faa22686e40be085456a6ecdcbfc27e39e0bcf9aeb101a389cc1679a7ea7c523f075fca13fbff56fd2e289a15c3ebd63f911e3ef7fa4c5933f71d78905b90dd2ecc0df549931db61665c50f33f69fc5166081045bf9cd22155c2a57dcba1d052d0ac39f4dff9c19301d8e9b5e80260d3042ca13db20bb0fe9ccfcd16fb81f40cd555509d6a63709f833f19682a6d20532806b1318607bddb575f594cba4fe08485a61cc5a3c514ec9ea7abf66dec65a56e0451df79d0ca8e12770edff35aeabd0e0d6d9fe5de42ea02f6b8e4caf93ef8e339fc7a345b264db32b8bbb6d41b01e0a6262047ef15217f650e9e8d95f75816c28b5b61d5c029f68f19b92e39a6c95c52a010fa897cb0a8054911bcab89e8acf3fe8ef7db9c20e9bfbe1a20a7ca6d53f293972fc43c9d102e26f54725c6af8b10e0cbbfd5f3ff86ff583ffabe4f85f3ff73f58c9b19ab1d198c8f9ff713f0b0a21b882237086a0acffa56fb0c24e9f95082c97d20cefc3269e7d19962d8004100ff6a3f3a8c51e6ccd0089488ce222bcbdc2ae47502e0bcb0205a93353e0985c3acdea317fc9486ceedc9c0aa214aa76fbae5d827e8c6fe1c641bb159080ad2637954813fcef8dcd77ab47c1afab47941a60b4cfca43fe37bcc16703fb4cf9772c0e8fdec8d451fffaeab1492f3df8a797d9feffbe7afc5dfbfc916ad97f578f139e0cc0a247b93ef2f36d76676ade14a2a16fc8763b1b790eeec95a4857c92f2ee878b30075859c1645a567bd9fe487c273c11e8eaec078abad766a083f223d179ee67d3f5105808438be04f2db611a3962b8aa3bbecf1156eac6e6deeb840a214ee6e4ccd1566b21adc9f99a089603d8e19d6d5a5ff14678af63829870806e3b9e68341df9ed3344fb409d72cf84bb799a5703c5eeb8a8b200f238d7a701da3d6b4a70485ab7e873d1703167769f75b30d520955585da45489217def4a09041eb725ffcb2d3d49299d693b7682c6abe902260262b96aaa4c3f7d0d42db9fb909f14554e59b89295f02a92003ca8f177b77809ed155c54870c9ddaca4675fba383ce650c493801b619db935532eb18b016b75bedf16bcf66bd5e3eda54d25922881ecb9959fe606f2d0a7c3c2981f6a0d7513759f5d2e82df060ed74be815bf0efd3a37557ed8b84986baa9623c3c1c3bbd6eac51f9e8bdedb5653d5d04f0891ad7c4a9537fdc501c8354ed8966e2733f349850d4248db567326619a8c6ef0718e83fae824f74b926561adfda1024795e782c85c7950dab31d7d987d0eb5226069e0e2786f020ebd127f0896ed7c46425360d5145879db98fcf47294308639035d876b760ee6bbf801b1f985bccd5079fe8714d5c30ed141dafae6837917f261914fba118f1cdb4ff6183c3dcbbc1fca07bbe7e8357444e20bfb0e90c956a56369c36411ffa5e08da5eee19526034b14826bdc79095de0880ee8ae8754d348f02e6311a7cc78d54c1a56378ae33f22992b7e433d0474b73592cae588320137c0bb36ba2598a703a924212cab4ca1873c331a398f941a7233f332dede7cd5a3d2e78f835f089bed744d6d630c3a3a9417ba73d2a88d42e54a2a7b70978944d891e473a4752da4d9cf3d5c027fa5f13efc8c6d1b156b9e50f12ab44b707c21feb0ccf27b89b192188a0ddcb66edf43b009f18784dec7433dd3abf2ff881a68af33a81a88442f07356adb00e7ef99313f5453166b137e01383af896fd6c5df159010453a3fe18455e5869b54733d2e7adf2b45253aeb23f70110e3063e31f49ac831bc6b9873a6ce92d75bdc85bef4191ba3e39dd15d3de463103bca5a65185f183415910bc838b8f0047b863ef17592d1c53e6c6ee9c5811d936b8163648a10850d4c7290e715f1f96fdb521f030487177ca57888e200e6a2986c668cad0bd9f118d14c68931128d6c1b734c167467c5b58408220fb7c1aa0015fa74cd8b4a5e82e3f9a0baf96168cadf0fffb8d5db9a37d07dbdc1fca8b3c612c35f9371fedff2f7e7ff469f8d99cffafacdfff22f2fb17d3880220fe95edf3479203bf5a814606e0db839426ff51d2977391dc8ad988eda40904461375bd86ac9e930b8a8365062e4084522f8d700d8ccd7b5e17a9d4337786baa1345dc65b8712d6bb6414eb2fdf552c7d1b7b5181788882f4bc519a49eea5cbf014a83c5fda65dcf75740bd0facdc658268b9c01f2791d7a3d99619c906491787116a49be88066512dfd1ab2a63a8f6039de27a6a9d7604732df8c4a86b2282d97ec53d95842195bbb2e42c253bb439251e1e9af54751afa0fc9b7aeed527834f8cb926e617dcc767947cd9164a83290178cec2b290c17a87dedae14e7522a49a1603d574d015911b08ad312c80f84af0d341adff6364ba26320c8bf32520dfed63aa848c333641b8c12b621e4df64cfdadd7420e90f8fceeaf7176de8ace6face0ac386338f1407f3093e31dc75e029ff8ea9ad82d3995c7e55527b095d596b3c84364bbee87447d97d3713c2752e6f3b19af78370f08909d7c4b1285ba9848bae01467aa4376728e2a05a08b15abce913d31028ccc0e592915df08949d744d7747995b0a76c242520a51e145fe3dd62c9560ec97d7275644e7c6f3e057f69f08929d7c428fd16503b94f023dffb5e112df687b63dbbcb0f50d27d9fe30508bef8944380013e31f59a18ac38a2b41bc87987904b11ad7c7b4485439c264dc140cf3b9554894b4d4b4ee91d39c4b4c6ebc53864d4c5723cac9279288f345d4fda69fc5c913dbad12b5963d8200351a4c82ab92b240f10bf1101b6a562caebe2c2ed0911dd3d4e5654445dfa34e01caac834057fe8d2a62b64c63f16e36c5fbf2c8074b1e83fd26efeb5c5f82af7bebb5593d01ae7e5a4069b003949f0677d8fe8953bba741e65adaf18f9f1075ca651814a2f6e21dab163f88218a5b42773ac65868e77257b3fdf264962a028decaf15fab0200208e2f803323a7011c29849144ce4e07ec0d04a9eb68645237e9fb9bc6ca3254c3b88f79c16f84b7c78595f9c7b93ea889bee85d9f7caa733fff44585e42e511a7d6f76ff33f491106bb8b58bb908cfdcd2be3ab09d0179c23e373c776a367484e16fe0ef1816d073127a5fe632a13c0eb6d0720220255573b7807f98cd77ddbe587011b0695b615e4e1d117246ac8b10fbcd7dcaed3772229edc89d417c994b66a353a9555e162b84ef5f4d0a85992d47b56a4437c301bf1d09b2ae3bab500273eed66b0d26c4f42fe6f13c5e41395c166fa3adc587f31924293c243188c127e65c13ebe3b669e1c5390c100c7a7da2c72b13371eb89381304fdc245fd26d51d1609d814fccbb71714262f4f17cad3bbb755071865adf3d0e6b237abeb529d250bfaa933178ca17023eb1e09af8ee6cdec3735db41e1ed5280d545ad7941b643ee071d4d821dbef135850ac32777245e4051a031ec2080e2ba38474b05c32191a5a63d3ea95d185c0073197f0424d68ad7f5d52165d13391ff7db3b9ab9a0cd6e433907f0c101faa7471ec80995e5518da43323aa7cd60425587293fc35dcd3a4b64474cbce2cf1e0c262fc890a5fb3ea388434e1a9ed441616ea1840167c62d93531c789dc5aefbedeae7377424a7d77f4c7de9e74d5dc0953199c3baf521eb001acc127565c139f7afa1990570bf36b565f56a71769f624272f5faa5f90174827b90aabbd00cc834fac6aac02ac4180004b40a301523b3bad70d591db34874a13672dbae6fb23870b8695581c34856a8be14a574c3e602f7e62a7f57ccff9ec128bbd642b894610f29cce3974313fe1d4302729c443e62b3b74352040741520120408f78172f48d8ff5f645f32cfae36cc655002ad01e01fc2f2e63e1beff8f9ca24f27173c742538ca0dcf3a64328933c80fcabe2f773eb7b1e30f3a1aab8cf088d54d8b57194fc1fedd32ae1e74b9a552f9d18893ab1aed5481c512256e1c81fafb72bcf244f653c2eeacca388527c6d1cdf8d5ddd50cdf97efeb798af167686095d092436c900a27abde0dfcf47db9c759fdd4687627b54abfcb195eb80174ac1b4fc8f7e5d4f88761312edd280a9bea2954769b9d03b9a2b7bede5f8041e1fd820c69cdffcc9e576fa6c03c188a58b31839809a3505220d4a2b4cd24b1b68b301fb4c509dfc08dbccc6d01905dea1cb4938f9e39213c09297f954683809c337f5ad186fab515b95576fc3f1ec9259e985c49ec53f1da23628bf6f24566c8c605c2c0dbe9debfea1be05f9ed9b6645f787337aa05221d946e724443a0836c0e98f5d1dff525a822535367396dc466fa058e6567bd73be93dffec8b3716888634252c0e8fb3bfd4213ea806d5aababa78dd0632433f39941e938a68f539e0007907a3783e8047bedd2754999e79248cabcf7eecdb280a655f83abc3c9b9938bcf99e9cbe159c8ebde43986b94d6ac6db5e26061c1640afe9b365c8fbb0ca85691b98a890f4c279638310f478cd05e25eb446edeba9f31f276389da9bcf60bf8c4a66b2219f4432a15ba26a3c07bb0bd8ea53b6b3542270fc90957de3e0915729ddefae0043eb1e546bfd0335777baf85017ba9dffdc21300c12285a9e2174ffcb911d6a265d4f249316f8c4b66b626cee5069038d0b1af990b361fc1614ec24965f7e6473d4c75b518eba033e9314e0133bae89b213049236b639ee2e0c62cbc02816aca37dce837590018af13305e6a7b59242d157107ee0fef032881eab0852dc199d74205cacd6a3e75de359e2408d420f1a04c10f59c915b1eb66d6b64f6bc7dfc2f7daddb4d4c1bfbb7a9b7bc6f8d6e7ce2f61240feeeb3d60d2b6039fd8734df4f3d73c61e5421f70cfe6a7d44569694f5dc1167817ddf26990e0394e7521a6301ff8c4be6b22c3adb88710e57cac2a46c9e635af1a184a80eb5350966f0f6b625309473c14fbc0270e5c2be905d1093167053d4bd14d72171f84dfd5e599a3e0a3882d48babf46f4521ca85f043e71e87b2503a02f2223a12f2213838fbe75f4921fb6086515e4a8ef46e3870e4aedb34ac52c4f91013447110e7b02407854acdb797352e7771345462f4f23d2bac2cf9f9f253a3f2bf60ea6517d18c1dae80d9cc30c406fb3e2a5f45d269b41ce30cc9ce61f79b9ab42d193b0f8d2ae3eb17a1d485f500e7fc2d7b76d5dc2ced973e947110b75af60b7b5f94993cdb6281b122bf07a9bf0a4dc502dbd81b232b7bb2b569b05fdb5428b91a45006a47868071604bdb61804f86f3a726d8d063aabd669d6f03a402580bf309da4688424394c5bd904bd9bfb88e4ba87b2fc15510098cbbeea0d3b8b47dfb4e6d040cf665bca9b4d16f889a1fb1291aa9f2caa1166fa8a38761a2c405179d1e19041746f99b666ca4dd3957a6cb671b4480829b452edb2d44621c31c7ce2c43551a3ea751b8a117c87542752f1fd33d99cd3b640c9c94cd66110781ae9a4339f2fe013a7ae89d2c690c53c4a241c1608a7834e1b0b047b27d4384dcb5ac552e546ad5f64ce1dc127bebf710d8572b379913b55ec60ccbcbdd5373d30738906835e5859bae9cb7e382ee6f3019f387b4d64e366d0090e00b51a06d92579e28db4dc1528af9a0d0b3c97c75a27882d4edb4abf220a02579b82f506d49f1efa4c981442196352c0aa59735a05895b2de9640c737fa2fd4a9cbf2624f4a7613c9e457a5f4d7bfe1e9fdc05bac0fdb1eee52bd7f8f70352ac11e21f2bc1272e5e13b148955ebcee9e98237790246482571c4a3963a2d0275a631e2a160ef4c8af6988059fb8744d9c186ee68390695a13f0391c9ddaa39d7865f6f03983f7b6627e9233958be384cfc127aedc6c5548c4340bdcafe9535781accc320f4da67f7aab754ce9b1ed5b6ffc4d7d78d22ef0896bbf29d91ad19a3c09cccb164c99148b74339f0ef281587ca4bee060a232a3dfe0d30a790f7ce6c6f74ab635b9be988ad97faf2a2b44ea9f96e01ad9c10b5af4ffe82fa3cf3abafe848ffe1b15f74a00a2bc1e32be1ab214e7c5a9261367b56bfb30a461ffa3958f676e9a2d709240f4443412f4e74c8c5c1ca36c8349affa83b02442eff24d236c4811521c190ed5fcd66679ff016d56f16727e7e0a8074369c99680d1660c40ffb2d8c926b590818177981815b7592fa02b54934d5c9f7571962c2c0457cc4f1501ddf73af139a68316b4a9c4679a885154bfec2922dfaff346c7664d528712ba1caa82018500416d01b11ea3c7a27dde1133b3567716a0702896ec6a762aa67c42d8352d04cb2626620f7eefdd024125fe6689fcff004bfca9a630b2b42962939fc70f1f25b5b0138a9e83d57bf1f82d49dea86d66464f1fc8f51e4776a3a8d5df522b2d6519ddd20ed5b2dbac02ea436ff94486050dfa5f8e4d3d72a8391878cb9a823c32a826a377e9b661d2caf35b9b15fcfd6d06a0fad322f5d7a6ecca0b153fea2a1e98610e60b5195daa8ab0496a1a48f2006a2d033b41eec3e1e0fd18bade41334a4c553dac568320a05e82d03c697ac88a55c32375924198d474132454990f020d53cfee49d8c80872fdd66685ff01fdcce2cfc9650410b89d3f9206c39a8f0750006bc46790f67ed69946f3059922091512b44990de41b5c138a352e5611125ecd7b7d5045209da8de34954436bbffbe0c2a7cb9c2ebecd2a37d37980322716dd0055d5ab84feed0be8ed26b0ebd23b49ed7841d1f938656b9accbf65b53f1df0a3dd1d6b04a62ed7d1abf12e04f4594b1878956fe0711b55c3a02b65bb1a243d1eb28a0721352824501969078ef96abcef5c7f5349c35fb4273929b6b341256fd6bf33e8c3c9943d0aa3f1b2f46f816a7a7d7e2b0a7ce2ee35b1fa70b11d17678d240c52ca3b60f9eeacfc077e45fd5cfe012a2c9a5d1127a5ee19f089fb3244a895436ee9c175ef8b5d17fa5306c1787d4f41ea99c1fe1ace50bb5b068e1a36e0130fae89d8334e9f55c40e8de13fbe663968a46cc818e1d8719878e4e80b4a78e6d0e040033ef1cb4d3b12bea59346ca2011b4eaa7d599e2597d4372d7327a33e8a011c37feff676ceb71599305005f96533d2831daedea2b28b3992402ebc5e0496404f15f5dda2baeea04a07c52be2d1cd213def8b5963e1ac17844a197e68ac489711b5c891b25101aa9782a82f3eaef869814f045d134548135a0b2323fd084a9692ee02f550ab688b870f1189a3cf67144305b583de814f3cbdb936e24133506d987541e376d6b7c001427dc0fdeaa1e8978f2dcce821e7f33b7308e9e013cfaf89afa91d3054e37b17c54c22450f422e30299b4c5246a780c3e714efc4c2b6a600e0132f6f8ef5a45e99f85bfa43fab264b6cebd086c8aafbf6310fb1c7eae4f18a04fc202970f36310070e39b93a3ea499ef1bf4d3e6336996324bd8b1a7d5bd8926f8c34fe89cc3e33876aef25f844a86ba212ef2dbb8f3ab723330e5e79f49a6b6edfb6724bd53160237ab5ab7d7966d628754514013227591c98dd81621f396fdb48539d2c48a86dd54cab73f3939c70c8b2272db3be22c2177bd219978fdaf0864dde3066acf37e406bee66d7910a727277814f9e467ae73854ad3f0b3e11ee7b4f3ad517d206ce17d216ffca935e47a97f12ea9483509d0ec2a87d2bdaf0040e433440ff21cad94403303796f77eea939dd307890568a007c6cc7588f8124ee1592a97345adcb9de4c8e460090d41e83af7bb5c34129961e7bfd437d7295231bdac1e3c94cf8f203558ea79197404a09afc29495d896ed2cb1879b008ace162028b0ab5f81345a59f5d9083c252fccb7b6eb3d7538f3d736f10eb98c7b303e622c52810a57193b245c91f722664627c10f1afc3745b8b630d11647fd28d253bc438954b721ec2c2faace326e895b3c9662b454696b0b9b00e01391ae891d2218ba270ce3ecc9e8a9d5f150b32579aa192e79fed07e079e39afea21fb3938c127a25c13cf7486fdb4bf1073e9a13a6af35a53dc3a124a1b253bb3637e31f514eb82accf007c22da8d4f19eafd48629dca776bf1903847df0ae6fe346228bded50df69ae40872e59c1d793075120f292110ea37dd693f60826a7bc30790cd59aeca4472d3619151e8e1ee747ed8b57448c6b62e86667cd1104f3f8b13bfb3d1414388113e39d40ee80b8224ffc86718e9e45f740f08958d712c3e7994fdf04063f573e5c7d4284477a027d09a3800ad93a3c1bb7fafa35e92230f8449c9b9d3b251ff8d07410ebf32ab75e51bf115de3b3f5d902a4f15d8a2bb6981caeed0df08978d744eb5e37cfd70a3b666dcf5dcf5edfbe23b491c23330dd1b20c0370f7d8bcc3eba4f107c22c18dac3cf9813bdef3fb38214b98cec115181cb16f336e3de7a86ae058cccff10d61a7bb228a015ba2ecd6e290bfd4b01a920b9fd1b197b509c45a1907d697af0b8f96db09299f5e1189ae89ebd325970cc1aa3ae865fc1ac57ed5afc277573e86094b0dc5b1e8c288908ac5824f24b90811d3f7eec21efb2cfef804b787778b740b20061f722aaa819e169f9e31de2d3855053e91ec9a282cac2b4663727baf7c03bbc3c5c4b6416fefc840fb7645ab1f25d1585682380cf844f26ba26a0b2ab7b288f589d29a6e9cd67345dfbe6e252c2d58f87c462c1d75370ed318f089943747f48e417018698473a4897dccfe80270018178fbcd6f6d5ea41b2fb42a2e9bd5f60c127525f1323e72d8c1bbd655e12286f3c393f0bc61bd4c9bc9fe57a1ff0d0298379a470e3eb89a238d018787829d9bea684a80002f659ac25fbb18be3508e3fee9afe8813445c7e4fe88a7893042c5dc51ccf2ea39a5fc943a9663b7cf2a4ba55542c897d6cbdd7530c1e8f7e2c731e7c22ddcd0aaf7ed6b861c4b4b719a708b6d445d8ddb458239f667d57a230a8b8999518b7027c22c36ffb30e61cb2914d92c9c758651f572ab19eb13ce9047c66c4552ba38515a6afe1728f017c26d3f7fb30457f7746218025eadecf3c229f14ff4c5c95e4ab8741e6e26877af7b6f5430c4d330b5ec639069ab962e7a28141f4dd3393d0f8ccafb7e20d62d05e5deb79cf2ced06805b2ded1c3a8f0f92093399f8650d4e022041ffbf0fdd666c5ff019eacd59f95a03a9530a7c131ff2d160edda3b8152cafac865d73ff52e0039a94b7859cbc4155352bd927590d6e03d1f430c30fa6f7de5d00f1d0a5efc525b2895564c1edfbc892cc12c1d7e4963b125e30faf673c25bf9a6c27e1b0f6dd2fa84bb7e12a754aaf6bd3c9bc9ddcd0421fc2698a10ae69b8622248d47e2e0f7dd9bbc6281768e4acec8657a22bd411d8cb6f0f16e52bd9fd4151d7aec29be94e60b5b3a824fbcc92b36741894d28615d56ae70b63b1fba0b25dfc0ba29426247ff0e9f0b0d55a1b2e1df8c49bbc622ffe910799a367386d3b004b999d649e03964856d1ba0ddda04242ebd358cbcd2e2b4c096077d6e9c5018c23b332bdae4d34a6a6f5a60ba3726c3cfbdb962ed301bd3685dc2b22e7cd2a298f130191ac547fa8f43471a1e5c3b90128f1084aae3ca56f3b5de125254d01f844ee6b22f5834f40991a40e766f94627ed7dc21c0c3bcabb679eaef312a37d4d42cf82929bc027f2de9c6f2a339219e1ca983c7329071bc1e6ce5eb36a63f338d00d4349c9638e1b6fd8059fc87f4d24ce52fc1c53110a49c8b651a0acd6f6ec25c7249d4b8a04b329df678cc4974319e01305af893448e95c3b598eae0c9ff0e47436e403664b9b5e5c28cdd329e90ce08e70ea121c804f14be266e8bc37836bab609c802c9e062da836e3df7e848d2aa769830b704896299b155bf224a025d78f38a2d64468aba840c048b3dfbe60749fb327d3d25bb3cb3e79b24df8d915f116f92efc01c4a66be697fe3f8e4d52c14b639c97d2f0d5d74a5ddfbaecfa5410c2eaaf7a9c127de24df792f9452230e8db23bcb3915e9a5727719ca8578e373fa7e4846ce5cd2a91076d947f08937c97778884926222bda304d5e8a78972a4e7d9cadb927930f887fbe754f499f0d5bba0e7ce24d2b1d3be3636d987bb3444eebdc028ed38aba599c38d0c4f21de4fbcfada1cb7c0f83c027de24dff1b682c672bf7549f402552a0083386a7d9fa1524dceeca86927cbe2e30766c2fc66f08937c977580bbc65187c1c9e9d693e63b840d561732b22bf1374a8ee846abd5f0faa4f65b9224a0183e973aa24ea135f97c4d02e5383366e89b6f64b3c1bf37cc77118b0b8800808be22de24df716da6498f1a882b803cbcffa2594eedf2ad424d98fc273ee455da97fd150a824fc027de24df996f3022d4cae4b8c4bf98dba65a5fd7e15b46a623e9bb6f4182f5be17c3b428b5097c3c4df29d1704cd610fbc27a1ec5190b1104fea24f1478bbd239ee9760cba7fc20837f785079fa8724d442dd87c44769e11dc1fe90673d075bfe891aba4631dca0199a1e93deef317a53ce013d5ae89c50cb572e2af6127def9dd4ebf5b3aabd60f1d4da01a40834ae0e2ced3d22792fd107ce2836b6244d19b0f5afd9d2a1ad815e8179bba9668e4583060f2d542d49f0e4bae0e8b7cd5c0b80b14e523bb5c3e02ec6b179571d08d61d59b5f690c0af67f9e95dc2c6f16e649f6d58b7c78b33737939520585f1fe1406e1607eb93006a3e7534fbe834933625808953620eab02263ef1d13571971a78ee0a11c0d7cad2582648a44e9f35633f98d2dccf31d58214507b6647053e51fb9a88c972acd643236e27ea7a61a3f6e8ee84c3facb156108a8a229dd1c9157ea1c44e0131fdfecfee513efcce552b8797b4de6e3ce852e3067b6e8b9f471b8644ab437c50ee443814fd4bbb9aa7b7491b35037cec7c69914219b32a6ad2e1da044c6639c5d8326a2cf724a2af380017ca4c15f133727f1186dfc1957fbd7b839e7f3f235285f23c728c77a5af5cfe88bde4c1292f712730947697042e995b4a8801abe2355d542e29e7576efeffa0d308867648879ad912f7a2c84449cc92b4b367f6bd6870b45705126534225af339369f35d626b0321029374f194865b68a21e6184cb725cb58134b08434d089e2b6ddb674ba33f1c838e57c0ff6bafa282986575342164e883a89e8551bdc08c930e15c081f6a7da4062d204e8721c281c420b50555780a71604f022cb658c752059f68724d3cc77337aac33d5d824236660e1140eb619b8a47f11977591abb7fa8f8d8a587147ca21769631520100204f0058aa35334f43bea003a263b1ab3287b2edb87b5dc2c702e9fb47a798e2adfe2b1019f690e0270fcb6b02ff9fb53854218fd8a33e5839e34b3440cf05f17f608a7822d0c74beba5bb1d3e2ee8a2fc8478f4ca4ea55d2db2f3fddcf0226129a01f9a5dcf30bca30d4a2a1873cd76c6c09d3dfdbcca4bf3e3a1643a2c8d7e37edf3bfacdb697d659d6f153a0b3cfeff38f1f2fdcaf40fa2837523fa49012227863c9a0b4500d7c3b58fc66db150c5bd733af32fba858eecc153084133dbcaee4eb3efc6f789b3e234099728d82cfb4fadeb6a5ff01b6adfc07db42d0a0f08375fc587a9ace73e8f3289f9d557bde79f61824192f10f74917047539afa1cd97dd7b6f0f4829d8da982968d03f144c77a90edd1569fe62a05d27d4a5833483857a47bec7fe9b6d978ec26cb2314630f4929d36f5863eae155a0038bfe0b284caa0b96563aeb7fcf5a2e23d20c48a9e48295b280eb5260add6d2660af115b3391c0aa363a2d9df9f9b8120ec5951d6c7eb3ad9eb63461304657193095de2033a65f1623590739421caf01f50b83373e782e7607e033edbeb76d357f806d937f6913640aa6112cdbae2465ed7576331d75741f921d3dd2e435550cd4aaf67bdd710e19745b36a9010a784f6e6503890f474c59a030ca89deae9104eac4d78af749fba733e3a4617a69846fb695e73be5d3a7d2507cb7c5a2aecc2f9f7084e54006afef50a092c3d53737a2742408be1d6ee2ad71db733480293322b52d61d6794fb58461274ae7c3d9735fea31c5b66c3d8562079f78136f3d602241b0bd66683bb3dafb09ce6ebc13917f28c322aa8d32d6973a39197b16077c384dbc354fa83855774b54d0ba96416beb0cc32a0f3f5c7ea11e4122437802b11880a6e5872ba20c50800f389d6d39ec1d825fc78268341d1f0a338c69e35a9e3963d2444cb6c56f7445bc89b7a696aceff9d2f6963e6be7b4f0b33c54693f770621c121516206c142f2a0fe5a26f8448fdfe25b0db196131e69bda2c4ec40212d169eb56fe0ff209d834a42b527606eac9bc1670c3ed3ebaf8c6fbd0f62d86e1f7eadfee3f8d632d5ffd0f8d6dfd666ff8d6ffdc7f34717817f39be15009c500a57886fe8e44a86652d4212124a83b63af1df13757cda5014f1a1fd7cc60bc83ab99e338c1be1299531495a1bb3625d1254fa89df5eaabc38c5da108d380fef30103219f6962bc351d38cadbd085160e7852156ace58576d8e3ccca51f7b56c304568f0c7c98d8e00d3587d137b35dbd2b62093ff4e99f7827270bd7f5c98ee0aa3a9064076ffd124f8c41b1d8128a5303774254399676a77ccc6e727de7add0b5fb357d98e72d53654c98be1e8019f78a32310c1c668834cf00a918d3ebfcd366050c3258f7367f5753786939ba726cb1cd2d70be0b2c06599701ace7966892ad50f82b239f49def73348f470910197c44a7f044756459f7ae88373a02504a11d993a9b82fec5f2c7a0b86983ed2b1bf4c49b228a3b47129305adf7b88083e3f4647a0d632f7e44098b9679c47ef38c025a32e08cf2e5104863f99fd59dc2a2fdf000cf8c41b1d0139563284c408b183c7fe2e450f0e4b59efc69cc1ca637922c987dad0e106d81052824f7c7e4d9cc32aba4d580283be37d2a7ffe16050f60678504da7f8e1ece914298b911c221df8c4886b22ff32a2969c46a6128e85331ef6a08093b0037da75dae4d4376bb1bc0d0d037177ce24dbcf533ab6459b55a01de2928500725ad140c539df3d6ddc82cc316ecc74a8877570aaf88f7815978220dec0ad1cefb8899bd5856abaa890366d1785dedef88e09fe33491f07f09bb02dec45bbf56f6a03ceab321bc7c7b0cd9381af35e028e7a88d1799336df26da0ab124210b7c62ccf5350addc4113a2b1020577b31e5547cd0b61d254941e4a027ebae8b90f97e3cb3bb32f8c4b8efaf51bcf1053c68f305688cfbe85b471f302c7757d306e25db4bff45ae4676ee663c480c80ea070fa4cc96b0c2c94dca4a50d791e2f2a1f248c435f1720f840b54e5333c77e178630a5dcabe5412300f8c221be3932b06cfdc06865634a72e248b157ecd82cb063c2760f96f254694110882101a5b1252dc987cac7e39ea7d01941bb4236188acc25637bd83006edf9ea7e386523c4711dd0e86dd59bcb69df808f6f15198ada6de5c8b2254c85633d0b3733faab76f07139c07fd357c7569516c7e6debe988ad93ecaf0d1a60c1029d163088bf624cf6bc8a5192bfc307c37030875718b0721bcbf7a6b96d21d7101b02b320edc5de2cc8fb017126ca301e2b99fdef0d8fa813279ba768046939ee4391e198a5d3e8027dcabb7fb0e93874b5ce9fd3f3d1ce4df097c8f3fbbf3cdfa3a8c0138def0b41c24aa7326c6da8afa4e4601665d95730cd4eaa87e71cd7958e0bf364ddc79d8ea2b79145cb50f16d106d3057a280c65c3c17e202eb469d6b005063c046753f0893771e7416fcc6bf155899e42e49e34e260e3fb31bbf04ecc942f18d6d9ece661764f9ea9824fbc893bb76fdd55d2887894d33cf582482751e84823d6c4cb49ffe09d87a0d8ba0460f0eb5a570e38028b64b7507346d52f8a3bc63c19d4eaa33814030861cd15901461df0f99e8b922dec49d03430673074da29805da27b2f1a434205802828cedb32a71b2031efb6ad03144824f4cbb26ea46783196ecc2df53d049ecdde92c4aba9758903860ce635306cc7b56c79c9fa5033e0ce39a88289ea7ed46d765f9f85d94365049e1f346079733034b005fad5d285f1cf2f345f0896faf89655a83be5fa2ace46279472bee42d3f16e877916cc42d030d2e04d4548cbc450069f98753d7758c2d9b192268516ddbb7372fb822e3fca0cc3df1503b231e8a05f557784eb2400157c620ed881898a7be2f2e8d03f0a4c0948ad9af57ecbddb3bfd008007e796dcbdeb07c2cad9eec94f9aa9f3197aaac3406874f6d2d5f2b08a1b433201008f5ea6913f0cdc6260859a3b48030e2f1ad3536ebcf8eac893881eb84b33bfb6bdfdaae48db5cdf237f265067322bcc99c02fd00e1359ba323dc00672676255c3bbb6ddffea4de58126f90ad0afbb5d731c3019a6348c177288236d950abed29e8fa24559010077a3afdef426541bb4fb8921f58165647fa8c5ad859c72d071b5c3f29d0975f1f12c1ffcfee62021f089372adacd6cb454b5d8b5173d91dbf662ec04fa0f64e2bba56cdb5bd41e3610e0bc229c62039f7813aa8d732633b9285434dec399014938110379b4afdac6b8378a254a182ca792571c093ef126549b99a69caaf0e3273b88da0e61295e7b73d7972683beedf7dc8db2c3cb66f122b1c127de846abb652f291e7a4618dc83b99f3d2900bfbc3107ca7ddecc798286d366833efe06ef8aa8004c6eb0d7ebb6c998ab05adcf27906fc3a86e97be2557541c857b800897a50e61b47a45bc09d5a6d8731aab1593124bf5c9278d882417af50bd7b147d8094ab5f3e34dbb14b8d0b3eb10a9a48b57df9b108ea2d6caa9c8236f3be4cc041e289aa7abacaca98cda1d1041e4603f8c49a6ba2e3c5eb828af98951af2441d143e93767fee8dcc187f411d023f083f1024b7b3a67e013ebae89021e1b2f1d455e2ecba2ca32d43a2b8e506721080fd7ea00a3311359d564d525c02736345601c4214000612014910cc446691c0800a6ab67f801d62d61b75d8ff4260eea31c50f7d4fbff8d881cf6c3adeaf3b3ddef18172fa1a9d0e95691d2d53a1c0fb49b705fde1a14b668aed5387010139964def4abf332b67a39fb838bf933f5c427b8359ace0a73052d88b190bb4d30cc41ffc3f14272fffe9f959f9d76fbe45195a804eb9c3ba3246a559633b64ed3ac0533f953b36438e2643686fc8d12e81382e4763b29f248c34131bd914fc10157ce984422341f744e1e0ca4e1ad3eef87fb38b5e999b5cb1f89bacda6a0fe1190da1b2124494d799be3d5fcea81317578aec7791afda501198c9ac834343c404d1122d5b9a792755a3b3dcf471fd0e27fde9149490402df2c9551bb6dc1cbc34d8bf8c2537d98eed79926c7d36755ed964b84dfdce171bc0f54cd900eff1fc01f8c8b6bf4ab0901db9764ae6ebc10b53e00bcfdb63b7d19d740c06636303893244074a066a1c3179028c0658b3258d758196b1fbf56696eabc4984a127fcb108b7b023dce979118352441fe189a23cc661bd5e48af0d3e706d44613a67d30724fad01f6973e498a2d64c1444f9e14421c43d1c03bf0d6e22a4c71d8acd984e01638e5f0663ece5c0df7676a0266bd540169de53e81d7fcdc110a3ef12642ba1b405de93478f53ea237fa23fcfa7b4de6f9d3d8c46b64770ff495db35deeb6a39834fbc8990a68d1f69420f30b7a8e38e5041400ab93377f6694e1f828388882ab336d8e8f811f8c49b08e930415e1d52031eaf4cbb456035c8779247c1395114fb4b2c1ab495553b21cad7fca54a4011ef4b46da472d67da2c2c67afb0f88f2185a20d110242db044cc6a9ef070778bebb220edc9cf757bfea3d36014048953041554fe44cc15321e0c3c5debe484d2d582ced142f049f38744d7c022f9624393e7236c3f2101b3313c466624981eb28f34400b4d02a0f837c8c003ef126121639fe2807deacf02e45f822234cdb26b62e957ef60c940bcb3c2a3e9a1559c93d22f8c4b1dfb60d6379fc98e8645ba38c0c99ecd81fd891f615cff8cb9e5fe215109999c505f0b783cf9cf8c36dc3867f932cde727bc55675d94fb60df3fe6312f1ae6796ff6e1bfee3f92377fd5fb06d986689ad8e68aafa5ef4190c3bbb00168059d752f5e100bc080fc3ba8aba39d74b20d50484ff9d9dad511906bab8f9228a75efb6bc4d89f4f0c95c60b0c4e9dbe72d21dfc6de499c94536e65d6b6eb27ef4c9e328d7e39ff1151b3046a5b43d2c6364d82b33af8e3e426c27e965b062329c59fbc82c01e969cde3d71b990470a236f5d7c7bb3d34d540e0d043ef17d171564200408d21758ffd658968bc950e8ad9c46b91ed3119978ba6689ecf0db16d75a1ef818abf1a846574c65e0f259b2461a54b8d9b9d1ffa7205dcd46ed0533b724f79c673afdbcab424ae5e56fb1d72033effe643281de7d2423083e3d9b2afd008ed3b329bcfb48ef5be8d749730c293c3d9b8994d3a949cf2bf43d9d3a35cd7d55e60ab35d7fe739bc667bf6721663cd8d08ba9c4eadb7bb2c47e4d3f90d0aceee9b428fcbe3de897cbae97e93cfb9a53fbbeefcd16f192e0bb8f7457d075a12cca321b2d8f38ae49ba295b222524c4b9f3dafadab929bbb2ca11c92b634de17f8725fffda5a8ec6c93581aba4334417ba8657f67ccbd4925fca91a7553d91f874083b99616a9a9d2f9f5feb9ea90122db2526ee3f6b7ae6c247af7d7f3e435739374e9f7b44be837813612733a43d38e3e73c7bceeff67fe766ccbafa354ca6de4dbb2cd3b526dff2ea6659a6756f26de44d8c90cfabec692478579b73d777765acd38d59eba6bee5f9bbbd6a758745a68afdd9e13e9f78136127336c295122386307bb4e41bbda8ddb566af5530cb8b6a52a66ec31177093d195581a380f3231788140c3a5f4df93542ec9bce0d5a8fe75b5ba36719554f79d5dde17206fba255ff3fb0232f1f90140000000ffff7e55ff7c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000