Safescan
HRobinhood Chain
Executed

0xcac37bceda6bf47f351d16c541138fdf1a15120a393110d22a71af2a146fe5d3

Safe Transaction on 0x82bf...e7a1

Overview

To
0x9641...02e2
Value
0 ETH
Execution Date
Sep 10, 2026, 12:35 AM
Threshold
3 signatures required

Gas & Technical Details

Nonce8
Operation
DelegateCall
Safe Tx Gas0
Base Gas0
Gas Price0
Gas TokenNative
Refund ReceiverNone
Executor0xcae4...bF22

Transaction Data

0x8d80ff0a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000c4cc00000000000000b361194cfe6312ee3210d53c15aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646112e8ac00000000000000000000000082bf455e9ebd6a541ef10b683de1edcaf05ce7a182bf455e9ebd6a541ef10b683de1edcaf05ce7a182e1956d28b60302a25a6c8e000000000000000000000000000000000000000000000000000000000000000e00000000000000b361194cfe6312ee3210d53c15aa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000166461ff715f82bf455e9ebd6a541ef10b683de1edcaf05ce7a182e1956d28b60302a25a6c8e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000015f063000015e280600e6000396000f33c7061746820643d224d3334302d3131327130203130362d3738203137372033352031392035362e352035357432312e3520373876313532682d36315631393871302d33362d32342d3632742d35392d3239712d33312031332d36342031377632323648373156313236483231563635683530762d3431356836315636327136332d3131203130352d36307434322d313134762d323338683631763233387a222f3e3c7061746820643d224d3131312032383968313537763631483530762d373030683631763633397a222f3e3c7061746820643d224d3439362d33353068333076373030682d3631762d363336712d36332031312d3130342e35203630543331392d31313276343632682d3631762d34363271302d36352d34322d313134742d3130352d363076363336483530762d3730306833317136352030203132302e352033337438362e352038397132312d33372035322d36347437312e352d34322e35543439362d3335307a222f3e3c7061746820643d224d3235382d33353068363176373030682d3631762d34363271302d36352d34322d313134742d3130352d363076363336483530762d3730306833317135312030203937203231743830203538762d37397a222f3e3c7061746820643d224d3234342d333530713630203020313130203436743739203132362e35543436322030742d3239203137372e355433353420333034742d3131302034362d3131302d34362d37392d3132362e3554323620307432392d3137372e35543133342d333034743131302d34367a6d30203633397136342030203131302e352d3836543430312030742d34362e352d323033543234342d323839742d3131302e3520383654383720307434362e352032303354323434203238397a4d31383920306c35312d37382035322037382d35322037387a222f3e3c7061746820643d224d3130322d3335307136342030203131392033327438372038372033322031313971302036302d32372e35203131312e35742d37352038342e3554313332203132347632323648373156313236483230563635683531762d3431356833317a6d3330203431327134322d372037352d33312e357435322e352d3632543237392d31313271302d36352d34322d313134742d3130352d36305636327a222f3e3c7061746820643d226d3430332032343220393020313038682d37306c2d35332d3633712d35362036332d3132362036332d363020302d3131302d3436543535203137372e3520323620307432392d3137372e35543133342d333034743131302d343620313130203436203739203132362e355434363220307130203134322d3539203234327a6d2d34332d35317134312d38332034312d31393120302d3131372d34362e352d323033543234342d323839742d3131302e3520383654383720307434362e3520323033543234342032383971343720302038362d35304c323236203131356837307a222f3e3c7061746820643d224d3236312036357133362031392035372e352035357432312e3520373876313532682d36315631393871302d33362d32342d3632742d35392d3239712d33312031332d36342031377632323648373156313236483230563635683531762d343135683331713634203020313139203332743837203837203332203131397130203130362d3739203137377a6d2d3132392d337136332d3131203130352d36307434322d3131342d34322d3131342d3130352d36305636327a222f3e3c7061746820643d224d3236372d3936682d3632762d313933682d3531712d333120302d3533203232742d323220353371302032352031372036367433332037302e355431373620347133312035342034362e352038327433302036352e35543236372032313471302035362d3430203936742d3936203430483439762d363168383271323020302033372d31307432372d32372e352031302d33372e3571302d31372d31332e352d353054313634203130362e35203132332033355138382d32342037302e352d3536742d33352d37382e355431382d32313471302d35362034302d39367439362d343068313133763235347a222f3e3c7061746820643d224d352d33353068323439763631682d393476363339483939762d3633394835762d36317a222f3e3c7061746820643d224d3233302d33353068363276373030682d3331712d393020302d3135342d363454343320313332762d3438326836317634383271302033372031362e352037307434352e35203535203634203239762d3633367a222f3e3c7061746820643d224d3237362d3335306836334c3137322033353020352d3335306836334c3137322038367a222f3e3c7061746820643d224d3436352d33353068363176373030682d3330712d343420302d38342e352d31352e355433343020323932742d35322d3634712d33312035362d38362e3520383954383120333530483530762d373030683631763633367136332d3131203130352d36307434322d313134762d3436326836317634363271302036352034312e35203131345434363520323836762d3633367a222f3e3c7061746820643d224d3338312d3335302032323820306c31353320333530682d36364c3139352037352037342033353048384c313632203020382d3335306836364c3139352d37356c3132302d3237356836367a222f3e3c7061746820643d224d3330372d3335306836354c3231352031303176323439682d3631563130314c2d322d3335306836354c31383520367a222f3e3c7061746820643d224d3238302d33353020313538203635683831763631682d39394c393320323839683134367636314831316c36362d3232344835325636356834336c3130332d333534483532762d3631683232387a222f3e3c7061746820643d224d3236312d33353068333176373030682d3632563132364831303476323234483433762d34383271302d39302036342d313534743135342d36347a4d3130342d31333256363568313236762d333531712d35342031312d3930203534742d3336203130307a222f3e3c7061746820643d224d3331392d3131327130203130362d3739203137372033362031392035372e352035357432312e3520373871302036332d3435203130372e355431363620333530483530762d373030683331713634203020313139203332743837203837203332203131397a6d2d36312033313071302d33362d32342d3632742d35392d3239712d33312031332d36342031377631363568353571333820302036352d32377432372d36347a4d3131312036327136332d3131203130352d36307434322d3131342d34322d3131342d3130352d36305636327a222f3e3c7061746820643d224d3139203071302d39352034372d3137352e35543139332e352d333033203336392d333530763631712d31313920302d32303420383554383020307438352032303420323034203835763631712d393520302d3137352e352d3437543636203137352e3520313920307a222f3e3c7061746820643d224d343331203071302039352d3437203137352e35543235362e352033303320383120333530483530762d3730306833317139352030203137352e35203437543338342d3137352e352034333120307a4d313131203238377137322d37203133312d34377439332d3130332e35543336392030742d33342d3133362e35543234322d323430742d3133312d3437763537347a222f3e3c7061746820643d224d39372d31333256363568313539763631483937763671302036352034362031313174313131203436763631712d393020302d3135342d363454333620313332762d32363471302d39302036342d313534743135342d3634763631712d363520302d3131312034365439372d3133327a222f3e3c7061746820643d224d3236312d323839712d363520302d313131203436742d343620313131563635683135397636314831303476323234483433762d34383271302d39302036342d313534743135342d36347636317a222f3e3c7061746820643d224d33373020333530712d393520302d3137352e352d3437543637203137352e35203230203071302d37312032382d3133367437342e352d3131312e35543233342d333232743133362d3238763631712d31313920302d32303420383554383120307130203131312037342e35203139332e35543333392032383756313236483233395636356831363276323835682d33317a222f3e3c7061746820643d224d3239392d33353076373030682d3632563132364831313176323234483530762d37303068363156363568313236762d3431356836327a222f3e3c7061746820643d224d31313120333530483530762d373030683631763730307a222f3e3c7061746820643d224d3231392031333271302039302d363420313534543120333530762d36317136352030203131312d34367434362d313131762d343832683631763438327a222f3e3c7061746820643d224d35302d3335306836315636327136332d3131203130352d36307434322d313134762d3233386836317632333871302036332d333020313136742d38322038366c31333120323630682d36394c31353220313135712d323020372d3431203976323236483530762d3730307a222f3e3c7061746820643d224d32363820323839763631483530762d37303068363176363339683135377a222f3e3c7061746820643d224d3235382d31313271302d34332d31392e352d38302e35742d35332d3632543131312d32383676363336483530762d373030683331713334203020363720392e357436302e352032372e352034392e35203432762d37396833307138322030203134302035387435382031343076353032682d3631762d35303271302d34382d33302d38352e35543331392d32383576363335682d3631762d3436327a222f3e3c7061746820643d224d3131312d32383676363336483530762d3730306833317136342030203131392033327438372038372033322031313976343632682d3631762d34363271302d36352d34322d313134742d3130352d36307a222f3e3c7061746820643d224d3234342d333530713630203020313130203436743739203132362e35543436322030742d3239203137372e355433353420333034742d3131302034362d3131302d34362d37392d3132362e3554323620307432392d3137372e35543133342d333034743131302d34367a6d30203633397136342030203131302e352d3836543430312030742d34362e352d323033543234342d323839742d3131302e3520383654383720307434362e352032303354323434203238397a222f3e3c7061746820643d224d353020333530762d373030683331713438203020393220313974373620353120353120373620313920393271302036302d32372e35203131312e35742d37352038342e355431313120313234763232364835307a6d36312d3633365636327136332d3131203130352d36307434322d3131342d34322d3131342d3130352d36307a222f3e3c7061746820643d224d3234342d333530713630203020313130203436743739203132362e355434363220307130203134322d3539203234326c393020313038682d37306c2d35332d3633712d35362036332d3132362036332d363020302d3131302d3436543535203137372e3520323620307432392d3137372e35543133342d333034743131302d34367a6d302036333971343720302038362d35304c323236203131356837306c36342037367134312d38332034312d31393120302d3131372d34362e352d323033543234342d323839742d3131302e3520383654383720307434362e352032303354323434203238397a222f3e3c7061746820643d224d3331392d31313271302034322d31342038302e35742d3339203639543230372039306c31333120323630682d36394c31353220313135712d323020372d3431203976323236483530762d373030683331713938203020313638203730743730203136387a4d3131312036327134312d372037342e352d33312e357435332d3632543235382d31313271302d36352d34322d313134742d3130352d36305636327a222f3e3c7061746820643d224d31373620347133312035342034362e352038327433302036352e35543236372032313471302035362d3430203936742d3936203430483439762d363168383271323020302033372d31307432372d32372e352031302d33372e3571302d31372d31332e352d353054313634203130362e35203132332033355138382d32342037302e352d3536742d33352d37382e355431382d32313471302d35362034302d39367439362d3430683832763631682d3832712d333120302d3533203232742d323220353371302032352031372036367433332037302e355431373620347a222f3e3c7061746820643d224d31363020333530483939762d3633394835762d363168323439763631682d3934763633397a222f3e3c7061746820643d224d3239362032323671302035312d33362e352038372e35742d38382033362e352d38382d33362e3554343720323236762d3537366836317635373671302032362031382e352034342e35543137312032383971313720302033312e352d382e357432332d32335432333420323236762d353736683632763537367a222f3e3c7061746820643d224d3239352031393671302035342d33322e352039362e3554313738203334396c2d3820322d382d32712d35312d31342d38332e352d35362e3554343620313936762d3534366836317635343671302033312031372e352035367434352e352033357131342d352032362d31347432302d32312031322e352d32362e355432333320313936762d353436683632763534367a222f3e3c7061746820643d224d313131203238367136332d3131203130352d36307434322d313134762d343632683631763633357134362d31302037362d34372e357433302d38352e35762d3530326836317635303271302038322d353820313430742d313430203538682d3330762d3739712d33342033372d3830203538742d3937203231483530762d373030683631763633367a222f3e3c7061746820643d224d3239352032313476313336682d36325632313471302d33302d31372d3535742d34362d3336712d32382031312d34352e352033365431303720323134763133364834365632313471302d37352035392d3132335134362034332034362d3332762d3331386836317633313871302033302031372e35203535543137302035397131342d352032362d31342e357432302d32312031322e352d3236543233332d3332762d3331386836327633313871302037352d353920313233203539203438203539203132337a222f3e3c7061746820643d224d3231362d3332762d3331386836327633313871302034372d32362038362e35543138342031313376323337682d3631563131335138302039342035342e352035342e355432392d3332762d3331386836317633313871302033302031372e35203535543135332035397132392d31312034362d33367431372d35357a222f3e3c7061746820643d224d34392d333530683232384c3930203238396831343676363148386c3138372d363339483439762d36317a222f3e3c7061746820643d2222202f3e0000000000000000000000000000000000000000000000b361194cfe6312ee3210d53c15aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646112e8ac00000000000000000000000082bf455e9ebd6a541ef10b683de1edcaf05ce7a182bf455e9ebd6a541ef10b683de1edcaf05ce7a101a705e0fa323603098bd475000000000000000000000000000000000000000000000000000000000000000800000000000000b361194cfe6312ee3210d53c15aa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d4461ff715f82bf455e9ebd6a541ef10b683de1edcaf05ce7a101a705e0fa323603098bd47500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000cc5610c91610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c8063202a00a9146100595780634a18eb8f146100815780635ac17dfa146100a257806395917e7a146100c8575b5f5ffd5b61006c6100673660046107e0565b6100e8565b60405190151581526020015b60405180910390f35b61009461008f366004610875565b61014e565b604051908152602001610078565b6100b56100b0366004610897565b610185565b60405160029190910b8152602001610078565b6100db6100d6366004610875565b610392565b60405161007891906108d6565b5f818360028210156100fd5760015f5260205ff35b5f5b828110156101425760208102820135600182015b8481101561013857602081028401358203610130575f5f5260205ff35b600101610113565b50506001016100ff565b50505060015f5260205ff35b5f73ffffffffffffffffffffffffffffffffffffffff82161561017c57610174826104b2565b60270361017f565b60285b92915050565b6040805160148082526102a082019092525f918291906020820161028080368337505060408051601380825261028082019092529293505f92915060208201610260803683370190505090505f5b806014146102195760146001820163ffffffff871602048382815181106101fc576101fc610983565b63ffffffff909216602092830291909101909101526001016101d3565b506040517f883bdbfd0000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff87169063883bdbfd9061026e9086906004016109b0565b5f60405180830381865afa158015610288573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526102cd9190810190610add565b5090505f5b8060131461035e57601463ffffffff87160463ffffffff1660060b82826001018151811061030257610302610983565b602002602001015183838151811061031c5761031c610983565b60200260200101510360060b8161033557610335610956565b0560020b83828151811061034b5761034b610983565b60209081029190910101526001016102d2565b505f61036983610642565b90508060098151811061037e5761037e610983565b602002602001015194505050505092915050565b606073ffffffffffffffffffffffffffffffffffffffff82166103e857505060408051808201909152600381527f4554480000000000000000000000000000000000000000000000000000000000602082015290565b8173ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa92505050801561047057506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261046d9190810190610ba9565b60015b61017f57505060408051808201909152600381527f3f3f3f0000000000000000000000000000000000000000000000000000000000602082015290565b919050565b5f7001000000000000000000000000000000008273ffffffffffffffffffffffffffffffffffffffff16106105055760808273ffffffffffffffffffffffffffffffffffffffff16901c91506020810190505b680100000000000000008273ffffffffffffffffffffffffffffffffffffffff161061054f5760408273ffffffffffffffffffffffffffffffffffffffff16901c91506010810190505b6401000000008273ffffffffffffffffffffffffffffffffffffffff16106105955760208273ffffffffffffffffffffffffffffffffffffffff16901c91506008810190505b620100008273ffffffffffffffffffffffffffffffffffffffff16106105d95760108273ffffffffffffffffffffffffffffffffffffffff16901c91506004810190505b6101008273ffffffffffffffffffffffffffffffffffffffff161061061c5760088273ffffffffffffffffffffffffffffffffffffffff16901c91506002810190505b60108273ffffffffffffffffffffffffffffffffffffffff16106104ad57600101919050565b6060610653825f6001855103610657565b5090565b8181808203610667575050505050565b5f8560028686030586018151811061068157610681610983565b602002602001015190505b818312156107b2575b808684815181106106a8576106a8610983565b602002602001015112156106c157600190920191610695565b8582815181106106d3576106d3610983565b602002602001015181121561070c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101906106c1565b8183136107ad5785828151811061072557610725610983565b602002602001015186848151811061073f5761073f610983565b602002602001015187858151811061075957610759610983565b6020026020010188858151811061077257610772610983565b6020908102919091010191909152526001909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101905b61068c565b818512156107c5576107c5868684610657565b838312156107d8576107d8868486610657565b505050505050565b5f5f602083850312156107f1575f5ffd5b823567ffffffffffffffff811115610807575f5ffd5b8301601f81018513610817575f5ffd5b803567ffffffffffffffff81111561082d575f5ffd5b8560208260051b8401011115610841575f5ffd5b6020919091019590945092505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610872575f5ffd5b50565b5f60208284031215610885575f5ffd5b813561089081610851565b9392505050565b5f5f604083850312156108a8575f5ffd5b82356108b381610851565b9150602083013563ffffffff811681146108cb575f5ffd5b809150509250929050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b602080825282518282018190525f918401906040840190835b818110156109ed57835163ffffffff168352602093840193909201916001016109c9565b509095945050505050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610a3f57610a3f610929565b604052919050565b5f67ffffffffffffffff821115610a6057610a60610929565b5060051b60200190565b5f82601f830112610a79575f5ffd5b8151610a8c610a8782610a47565b6109f8565b8082825260208201915060208360051b860101925085831115610aad575f5ffd5b602085015b83811015610ad3578051610ac581610851565b835260209283019201610ab2565b5095945050505050565b5f5f60408385031215610aee575f5ffd5b825167ffffffffffffffff811115610b04575f5ffd5b8301601f81018513610b14575f5ffd5b8051610b22610a8782610a47565b8082825260208201915060208360051b850101925087831115610b43575f5ffd5b6020840193505b82841015610b735783518060060b8114610b62575f5ffd5b825260209384019390910190610b4a565b80955050505050602083015167ffffffffffffffff811115610b93575f5ffd5b610b9f85828601610a6a565b9150509250929050565b5f60208284031215610bb9575f5ffd5b815167ffffffffffffffff811115610bcf575f5ffd5b8201601f81018413610bdf575f5ffd5b805167ffffffffffffffff811115610bf957610bf9610929565b610c2a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016109f8565b818152856020838501011115610c3e575f5ffd5b8160208401602083015e5f9181016020019190915294935050505056fea2646970667358221220aa7688a9bef433a1e3ae9ba0d28d5d763715056098a0b0119d9be2d75c2804c864736f6c634300081c003300000000000000000000000000000000000000000000000000000000000000000000b361194cfe6312ee3210d53c15aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646112e8ac00000000000000000000000082bf455e9ebd6a541ef10b683de1edcaf05ce7a182bf455e9ebd6a541ef10b683de1edcaf05ce7a17b8dfb15732e5001bef78eb8000000000000000000000000000000000000000000000000000000000000000c00000000000000b361194cfe6312ee3210d53c15aa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0461ff715f82bf455e9ebd6a541ef10b683de1edcaf05ce7a17b8dfb15732e5001bef78eb800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001ba0611b6c610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006f575f3560e01c806382f405511161005857806382f40551146100bd578063c2711c7f146100d0578063d5f290bc146100f5575f5ffd5b80631f87c7d71461007357806361de447b14610094575b5f5ffd5b81801561007e575f5ffd5b5061009261008d366004611345565b610114565b005b6100a76100a23660046114da565b61066a565b6040516100b49190611527565b60405180910390f35b6100a76100cb366004611587565b610758565b6100e36100de366004611611565b61092d565b60405160ff90911681526020016100b4565b818015610100575f5ffd5b5061009261010f366004611753565b6109e6565b5f8373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561015e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101829190611827565b90505f8473ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ce573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101f29190611827565b905073ffffffffffffffffffffffffffffffffffffffff831661049c576040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602483015283169063095ea7b3906044015f604051808303815f87803b15801561029b575f5ffd5b505af11580156102ad573d5f5f3e3d5ffd5b50506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248301528416925063095ea7b391506044015f604051808303815f87803b15801561033d575f5ffd5b505af115801561034f573d5f5f3e3d5ffd5b50506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248301528516925063095ea7b391506044015f604051808303815f87803b1580156103df575f5ffd5b505af11580156103f1573d5f5f3e3d5ffd5b50506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248301528416925063095ea7b391506044015f604051808303815f87803b158015610481575f5ffd5b505af1158015610493573d5f5f3e3d5ffd5b50505050610662565b6040517f558a729700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301526001602483015284169063558a7297906044016020604051808303815f875af115801561050e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105329190611842565b506040517f558a729700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301526001602483015284169063558a7297906044016020604051808303815f875af11580156105a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c99190611842565b506040517f558a729700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526001602483015284169063558a7297906044016020604051808303815f875af115801561063c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106609190611842565b505b505050505050565b6040517f95917e7a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152606090829073000000000000334bbd65c195581cf59ecf315932906395917e7a906024015f60405180830381865af41580156106ea573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261072f919081019061185d565b6040516020016107409291906118e9565b60405160208183030381529060405290505b92915050565b6040517f95917e7a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201526060905f9073000000000000334bbd65c195581cf59ecf315932906395917e7a906024015f60405180830381865af41580156107d8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261081d919081019061185d565b6040517f95917e7a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881660048201529091505f9073000000000000334bbd65c195581cf59ecf315932906395917e7a906024015f60405180830381865af415801561089d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108e2919081019061185d565b905083866108f057816108f2565b825b83836108fd89610d9d565b604051602001610911959493929190611905565b6040516020818303038152906040529250505095945050505050565b5f73ffffffffffffffffffffffffffffffffffffffff821661095157506012919050565b8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526109d3918101906119e2565b60015b61075257505f919050565b919050565b5f5b87518114610ba6575f888281518110610a0357610a03611a02565b602002602001015190505f5f90505b610a1b82610e4f565b8114610b9c57610a2b8282610e89565b6001148015610a685750868381518110610a4757610a47611a02565b60200260200101518160048110610a6057610a60611a02565b602002015115155b15610b94575f610a788383610e9f565b9050828c73ffffffffffffffffffffffffffffffffffffffff167f4358c577d4c62044fa8caea3ad9778fe842e777c7903f2452d20661f6ff250b784610aee8d8981518110610ac957610ac9611a02565b60200260200101518760048110610ae257610ae2611a02565b60200201515f90610f08565b6040805192835260208301919091520160405180910390a3610b84610b708a8681518110610b1e57610b1e611a02565b60200260200101518460048110610b3757610b37611a02565b6020020151610b6a8b8881518110610b5157610b51611a02565b60200260200101518660048110610ae257610ae2611a02565b90610fcf565b5f83815260208890526040902054906110d4565b5f91825260208690526040909120555b600101610a12565b50506001016109e8565b50856fffffffffffffffffffffffffffffffff1615610c945773ffffffffffffffffffffffffffffffffffffffff8316631d3e716e895f80808b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff9095166004860152600f93840b602486015291830b6044850152820b6064840152900b60848201525f60a482015260c4016020604051808303815f875af1158015610c6e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c929190611a2f565b505b610c9e8660801c90565b6fffffffffffffffffffffffffffffffff1615610d93578173ffffffffffffffffffffffffffffffffffffffff16631d3e716e895f5f5f610cdf8c60801c90565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff9095166004860152600f93840b602486015291830b6044850152820b6064840152900b60848201525f60a482015260c4016020604051808303815f875af1158015610d6d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d919190611a2f565b505b5050505050505050565b6060610db7610dad606484611a7c565b62ffffff1661113f565b610dc2606484611aa1565b62ffffff1615610e1857610de5600a610ddb8186611a7c565b610dad9190611aa1565b610df3610dad600a86611aa1565b604051602001610e04929190611ac6565b604051602081830303815290604052610e28565b60405180602001604052805f8152505b604051602001610e39929190611afa565b6040516020818303038152906040529050919050565b5f72fe0000000000fe0000000000fe0000000000fe604083901c165b6001603083021b8110610e8357816001019150610e6b565b50919050565b5f60026048603084020184901c5b069392505050565b5f610f01610eb28484603002604c011c90565b610ebc85856111fb565b610ec6868661120e565b60405160e893841b60208201529190921b60238201526026810191909152604601604051602081830303815290604052805160209091012090565b9392505050565b5f5f610f148360801d90565b600f0b610f218560801d90565b600f0b039050805f84600f0b86600f0b0390505f8190508383600f0b141580610f4d57508181600f0b14155b15610f84576040517fd219017400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b608083901b6fffffffffffffffffffffffffffffffff828701167fffffffffffffffffffffffffffffffff00000000000000000000000000000000871601015b979650505050505050565b5f5f610fdb8360801d90565b600f0b610fe88560801d90565b600f0b039050805f84600f0b86600f0b0390505f8190508383600f0b14158061101457508181600f0b14155b1561104b576040517fd219017400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fc461105b84600f0b5f611220565b6110aa61106b84600f0b5f611220565b889081016fffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffff00000000000000000000000000000000919091160190565b9060801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000160190565b818101828110806111085750826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff16105b15610752576040517fd219017400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60605f61114b83611235565b60010190505f8167ffffffffffffffff81111561116a5761116a61139e565b6040519080825280601f01601f191660200182016040528015611194576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461119e57509392505050565b5f6110006064603084020184901c610e97565b5f60026049603084020184901c610e97565b5f81831361122e5781610f01565b5090919050565b5f807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061127d577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106112a9576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106112c757662386f26fc10000830492506010015b6305f5e10083106112df576305f5e100830492506008015b61271083106112f357612710830492506004015b60648310611305576064830492506002015b600a83106107525760010192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114611337575f5ffd5b50565b80356109e181611316565b5f5f5f5f60808587031215611358575f5ffd5b843561136381611316565b9350602085013561137381611316565b9250604085013561138381611316565b9150606085013561139381611316565b939692955090935050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113ee576113ee61139e565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561143b5761143b61139e565b604052919050565b5f67ffffffffffffffff82111561145c5761145c61139e565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f830112611497575f5ffd5b81356114aa6114a582611443565b6113f4565b8181528460208386010111156114be575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f604083850312156114eb575f5ffd5b82356114f681611316565b9150602083013567ffffffffffffffff811115611511575f5ffd5b61151d85828601611488565b9150509250929050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b8015158114611337575f5ffd5b5f5f5f5f5f60a0868803121561159b575f5ffd5b85356115a681611316565b945060208601356115b681611316565b935060408601356115c68161157a565b9250606086013562ffffff811681146115dd575f5ffd5b9150608086013567ffffffffffffffff8111156115f8575f5ffd5b61160488828901611488565b9150509295509295909350565b5f60208284031215611621575f5ffd5b8135610f0181611316565b5f67ffffffffffffffff8211156116455761164561139e565b5060051b60200190565b5f82601f83011261165e575f5ffd5b813561166c6114a58261162c565b8082825260208201915060208360051b86010192508583111561168d575f5ffd5b602085015b838110156116aa578035835260209283019201611692565b5095945050505050565b5f82601f8301126116c3575f5ffd5b81356116d16114a58261162c565b8082825260208201915060208360071b8601019250858311156116f2575f5ffd5b602085015b838110156116aa5786601f82011261170d575f5ffd5b6117156113cb565b806080830189811115611726575f5ffd5b835b81811015611740578035845260209384019301611728565b50508452506020909201916080016116f7565b5f5f5f5f5f5f5f5f610100898b03121561176b575f5ffd5b6117748961133a565b9750602089013567ffffffffffffffff81111561178f575f5ffd5b61179b8b828c0161164f565b97505060408901359550606089013567ffffffffffffffff8111156117be575f5ffd5b6117ca8b828c016116b4565b955050608089013567ffffffffffffffff8111156117e6575f5ffd5b6117f28b828c016116b4565b94505061180160a08a0161133a565b925061180f60c08a0161133a565b979a969950949793969295919450919260e001359150565b5f60208284031215611837575f5ffd5b8151610f0181611316565b5f60208284031215611852575f5ffd5b8151610f018161157a565b5f6020828403121561186d575f5ffd5b815167ffffffffffffffff811115611883575f5ffd5b8201601f81018413611893575f5ffd5b80516118a16114a582611443565b8181528560208385010111156118b5575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f81518060208401855e5f93019283525090919050565b5f6118fd6118f783866118d2565b846118d2565b949350505050565b5f61191082886118d2565b7f2000000000000000000000000000000000000000000000000000000000000000815261194060018201886118d2565b90507f204c50206f6e2000000000000000000000000000000000000000000000000000815261197260078201876118d2565b90507f2f0000000000000000000000000000000000000000000000000000000000000081526119a460018201866118d2565b90507f200000000000000000000000000000000000000000000000000000000000000081526119d660018201856118d2565b98975050505050505050565b5f602082840312156119f2575f5ffd5b815160ff81168114610f01575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611a3f575f5ffd5b815180600f0b8114610f01575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62ffffff831680611a9057611a90611a4f565b8062ffffff84160491505092915050565b5f62ffffff831680611ab557611ab5611a4f565b8062ffffff84160691505092915050565b7f2e0000000000000000000000000000000000000000000000000000000000000081525f6118fd6118f760018401866118d2565b5f611b086118f783866118d2565b7f6270730000000000000000000000000000000000000000000000000000000000815260030194935050505056fea2646970667358221220fcd38952c7c01989815861eb4a377a5d3233c8883b366d18c487b3524116b3aa64736f6c634300081c003300000000000000b361194cfe6312ee3210d53c15aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646112e8ac00000000000000000000000082bf455e9ebd6a541ef10b683de1edcaf05ce7a182bf455e9ebd6a541ef10b683de1edcaf05ce7a1c18310bb94818d02a41a8f96000000000000000000000000000000000000000000000000000000000000000100000000000000b361194cfe6312ee3210d53c15aa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000550461ff715f82bf455e9ebd6a541ef10b683de1edcaf05ce7a1c18310bb94818d02a41a8f96000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000054876080604052348015600e575f5ffd5b5061546b8061001c5f395ff3fe608060405260043610610366575f3560e01c8063849e14f7116101c8578063c445d63b116100fd578063dc4c90d31161009d578063e81c10541161006d578063e81c105414610a6d578063ef8b30f71461094a578063fb29238b14610a80578063fe1cca7414610ab4575f5ffd5b8063dc4c90d3146109f0578063dd62ed3e14610a04578063e51161ba14610a3a578063e63ccdaf14610a59575f5ffd5b8063ce96cb77116100d8578063ce96cb7714610969578063d21220a714610988578063d2c725e01461099c578063d905777e146109d1575f5ffd5b8063c445d63b1461090c578063c63d75b61461092b578063c6e6f5921461094a575f5ffd5b8063a9059cbb11610168578063b3d7f6b911610143578063b3d7f6b91461089b578063b460af94146108ba578063b88d903c146108d9578063ba087652146108ed575f5ffd5b8063a9059cbb1461082d578063aa5af0fd1461084c578063ac9650d81461087b575f5ffd5b806392b888ae116101a357806392b888ae146107de57806394bf804d146107f257806395d89b4114610805578063a6afed9514610819575f5ffd5b8063849e14f71461076c5780639198e515146107a057806391dd7346146107bf575f5ffd5b8063313ce5671161029e5780634cdad5061161023e57806370a082311161021957806370a08231146106fa57806374a8f103146107255780637c3a00fd146107445780638129fc1c14610758575f5ffd5b80634cdad506146106a95780635c19a95c146106c85780636e553f65146106e7575f5ffd5b80633bec831b116102795780633bec831b14610608578063402d267d14610629578063452d4fed146106555780634bbb1ad814610669575f5ffd5b8063313ce5671461059057806335186943146105b657806338d52e0f146105f4575f5ffd5b806318160ddd116103095780632223048d116102e45780632223048d1461052a57806323b872dd1461053e5780632495a5991461055d5780632c62fa1014610571575f5ffd5b806318160ddd1461048057806318d11e9f146104975780631d3e716e146104f8575f5ffd5b8063089fe6aa11610344578063089fe6aa146103d1578063095ea7b3146103f95780630a28a477146104285780630dfe168114610447575f5ffd5b806301e1d1141461036a57806306fdde031461039157806307a2d13a146103b2575b5f5ffd5b348015610375575f5ffd5b5061037e610ac8565b6040519081526020015b60405180910390f35b34801561039c575f5ffd5b506103a5610b0f565b6040516103889190614b31565b3480156103bd575f5ffd5b5061037e6103cc366004614b43565b610c05565b3480156103dc575f5ffd5b506103e5610c28565b60405162ffffff9091168152602001610388565b348015610404575f5ffd5b50610418610413366004614b7b565b610c69565b6040519015158152602001610388565b348015610433575f5ffd5b5061037e610442366004614b43565b610ce1565b348015610452575f5ffd5b5061045b610d0a565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610388565b34801561048b575f5ffd5b506004545f540161037e565b3480156104a2575f5ffd5b506104de6104b1366004614ba5565b73ffffffffffffffffffffffffffffffffffffffff165f9081526007602052604090205490608082901d90565b60408051600f93840b81529190920b602082015201610388565b348015610503575f5ffd5b50610517610512366004614bd1565b610d15565b604051600f9190910b8152602001610388565b348015610535575f5ffd5b5061037e611138565b348015610549575f5ffd5b50610418610558366004614c3e565b611158565b348015610568575f5ffd5b5061045b61124f565b34801561057c575f5ffd5b5061037e61058b366004614ba5565b61125a565b34801561059b575f5ffd5b506105a4611288565b60405160ff9091168152602001610388565b3480156105c1575f5ffd5b506105d56105d0366004614c7c565b611336565b6040805163ffffffff9093168352600f9190910b602083015201610388565b3480156105ff575f5ffd5b5061045b611617565b348015610613575f5ffd5b50610627610622366004614c3e565b611620565b005b348015610634575f5ffd5b5061037e610643366004614ba5565b506cffffffffffffffffffffffffff90565b348015610660575f5ffd5b5061037e6116de565b348015610674575f5ffd5b50610688610683366004614ba5565b611706565b6040516fffffffffffffffffffffffffffffffff9091168152602001610388565b3480156106b4575f5ffd5b5061037e6106c3366004614b43565b611710565b3480156106d3575f5ffd5b506106276106e2366004614ba5565b61171a565b61037e6106f5366004614cd6565b61178e565b348015610705575f5ffd5b5061037e610714366004614ba5565b60016020525f908152604090205481565b348015610730575f5ffd5b5061062761073f366004614ba5565b61196d565b34801561074f575f5ffd5b506106886119d0565b348015610763575f5ffd5b50610627611a7b565b348015610777575f5ffd5b5061078b610786366004614ba5565b611b4c565b60408051928352602083019190915201610388565b3480156107ab575f5ffd5b506106276107ba366004614ba5565b611ba2565b3480156107ca575f5ffd5b506103a56107d9366004614d04565b611bc4565b3480156107e9575f5ffd5b5061045b612047565b61037e610800366004614cd6565b612052565b348015610810575f5ffd5b506103a5612224565b348015610824575f5ffd5b5061062761229b565b348015610838575f5ffd5b50610418610847366004614b7b565b6122b7565b348015610857575f5ffd5b506108606123ab565b60405169ffffffffffffffffffff9091168152602001610388565b61088e610889366004614dba565b6123c1565b6040516103889190614df9565b3480156108a6575f5ffd5b5061037e6108b5366004614b43565b6124ce565b3480156108c5575f5ffd5b5061037e6108d4366004614e7a565b6124e6565b3480156108e4575f5ffd5b50610418612749565b3480156108f8575f5ffd5b5061037e610907366004614e7a565b61278a565b348015610917575f5ffd5b50610688610926366004614ba5565b6129e0565b348015610936575f5ffd5b5061037e610945366004614ba5565b612a24565b348015610955575f5ffd5b5061037e610964366004614b43565b612a37565b348015610974575f5ffd5b5061037e610983366004614ba5565b612a50565b348015610993575f5ffd5b5061045b612b7a565b3480156109a7575f5ffd5b507f8053dfe21e206073e7d912b6bcd2323894159cfd58d0a607082c42be308afb865c1515610418565b3480156109dc575f5ffd5b5061037e6109eb366004614ba5565b612b85565b3480156109fb575f5ffd5b5061045b612bfb565b348015610a0f575f5ffd5b5061037e610a1e366004614eb9565b600260209081525f928352604080842090915290825290205481565b348015610a45575f5ffd5b5061037e610a54366004614ee5565b612c06565b348015610a64575f5ffd5b5061037e612eda565b610627610a7b366004614c3e565b612efe565b348015610a8b575f5ffd5b50610a94613410565b604080519485526020850193909352918301526060820152608001610388565b348015610abf575f5ffd5b5061045b613452565b5f610ad560065460961c90565b6003546fffffffffffffffffffffffffffffffff818116700100000000000000000000000000000000909204811691909101911601919050565b60607300000000000041fe14ce3c2392337ce501ae83286382f40551610b33610d0a565b610b3b612b7a565b610b43612749565b610b4b610c28565b6040518060400160405280600781526020017f504f50542d5632000000000000000000000000000000000000000000000000008152506040518663ffffffff1660e01b8152600401610ba1959493929190614f69565b5f60405180830381865af4158015610bbb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610c009190810190615093565b905090565b5f610c2282610c12610ac8565b6004545f540161345c565b61345c565b92915050565b5f5f610c5c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe368181013560f01c90030190565b6079013560e81c92915050565b335f81815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610cd09086815260200190565b60405180910390a350600192915050565b5f5f610cef6004545f540190565b9050610d038382610cfe610ac8565b613525565b9392505050565b5f610c006029613580565b5f610d1e6135c2565b610d2661362e565b5f5f5f610d378a5f8b8b8b8b61368d565b9350935093505085600f0b5f14611121575f5f5f88600f0b13610d5c57875f03610d5e565b875b90505f610d99610d94836fffffffffffffffffffffffffffffffff16610d888b60121c613fff1690565b61ffff16612710613525565b6139c9565b90505f610dad8d600f0b8d600f0b016139c9565b90505f610de6610d94836fffffffffffffffffffffffffffffffff16610dd78d60041c613fff1690565b600a0261ffff16612710613525565b90508c600f0b5f148015610dfc57508d600f0b5f145b15610e0957829450610e3d565b610e3a610d94846fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff16613a1a565b94505b505050505f610e5f826fffffffffffffffffffffffffffffffff168486613525565b73ffffffffffffffffffffffffffffffffffffffff8d165f908152600160205260409020549091508c90821115610f255730610e9a83610c05565b73ffffffffffffffffffffffffffffffffffffffff83165f90815260016020526040902054610ec890610c05565b6040517f71c3730b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260448201526064015b60405180910390fd5b50610f308760801c90565b6fffffffffffffffffffffffffffffffff165f03610fbc57610f528c82613a2f565b604080516fffffffffffffffffffffffffffffffff841681525f602082018190529173ffffffffffffffffffffffffffffffffffffffff8f16917f48183cc62710a2e869882cad010a8f28d42fa3335815742969aa146b616605e7910160405180910390a361111a565b610ff28c610fc8612047565b612710610fd98b60201c613fff1690565b61ffff16850281610fec57610fec6150d8565b04613ad1565b6110238c6110008960801c90565b6fffffffffffffffffffffffffffffffff16612710610fd98b602e1c613fff1690565b61102d8760801c90565b6fffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff8d167f48183cc62710a2e869882cad010a8f28d42fa3335815742969aa146b616605e76127106110888b60201c613fff1690565b61ffff1686026fffffffffffffffffffffffffffffffff16816110ad576110ad6150d8565b046127106110bf8c602e1c613fff1690565b61ffff1687026fffffffffffffffffffffffffffffffff16816110e4576110e46150d8565b046040516111119291906fffffffffffffffffffffffffffffffff92831681529116602082015260400190565b60405180910390a35b5092909201915b509091505061112e613b79565b9695505050505050565b5f61114c60065460701c643fffffffff1690565b64ffffffffff16905090565b5f61116161362e565b61116b845f613b9e565b611173613452565b6040517fc79ee60d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152919091169063c79ee60d90602401602060405180830381865afa1580156111df573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112039190615105565b1561123a576040517f2501f81e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611245848484613e71565b9050610d03613b79565b5f610c006015613580565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260016020526040812054610c2290610c05565b5f7300000000000041fe14ce3c2392337ce501ae832863c2711c7f6112ab61124f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401602060405180830381865af4158015611312573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c00919061511c565b5f5f6113406135c2565b61134861362e565b5f5f5f5f61135b8b60018c8c8c5f61368d565b93509350935093505f6113798b600f0b8b600f0b610d949190615169565b90505f6113a3610d94836fffffffffffffffffffffffffffffffff16610d888c60041c613fff1690565b90505f6113c3826fffffffffffffffffffffffffffffffff168587613525565b73ffffffffffffffffffffffffffffffffffffffff8f165f908152600160205260409020549091508e908211156113fe5730610e9a83610c05565b506114098a60801c90565b6fffffffffffffffffffffffffffffffff165f036114b55761142b8e82613a2f565b5f73ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f48183cc62710a2e869882cad010a8f28d42fa3335815742969aa146b616605e7845f6040516114a89291906fffffffffffffffffffffffffffffffff92831681529116602082015260400190565b60405180910390a36115fa565b6114d28e6114c1612047565b612710610fd98e60201c613fff1690565b6115038e6114e08c60801c90565b6fffffffffffffffffffffffffffffffff16612710610fd98e602e1c613fff1690565b61150d8a60801c90565b6fffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff8f167f48183cc62710a2e869882cad010a8f28d42fa3335815742969aa146b616605e76127106115688e60201c613fff1690565b61ffff1686026fffffffffffffffffffffffffffffffff168161158d5761158d6150d8565b0461271061159f8f602e1c613fff1690565b61ffff1687026fffffffffffffffffffffffffffffffff16816115c4576115c46150d8565b046040516115f19291906fffffffffffffffffffffffffffffffff92831681529116602082015260400190565b60405180910390a35b509496505050910191505061160d613b79565b9550959350505050565b5f610c0061124f565b6116286135c2565b61163061362e565b5f8113156116505761164b838361164684612a37565b613ad1565b6116d1565b5f61165d61096483615190565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600160205260409020549091508111156116c4573061169683615190565b73ffffffffffffffffffffffffffffffffffffffff85165f90815260016020526040902054610ec890610c05565b6116cf838583613ad1565b505b6116d9613b79565b505050565b5f60026116f360065460501c63ffffffff1690565b63ffffffff16901b63ffffffff16905090565b5f610c2282613fb1565b5f610c2282610c05565b6117226135c2565b61172a61362e565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260016020526040812080547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff929061177d9084906151c6565b9091555061178b9050613b79565b50565b5f61179761362e565b6117a2336001613b9e565b6cffffffffffffffffffffffffff8311156117e9576040517fc56d46d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f03611822576040517f13185bd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61182b83612a37565b90505f611836612bfb565b905073ffffffffffffffffffffffffffffffffffffffff811661186d5761186d61185e61124f565b33611867613452565b87614035565b6118778383614103565b600380548591905f9061189d9084906fffffffffffffffffffffffffffffffff166151d9565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461191057611910338561418e565b604080518581526020810184905273ffffffffffffffffffffffffffffffffffffffff85169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d791015b60405180910390a350610c22613b79565b6119756135c2565b61197d61362e565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260016020526040812080547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff929061177d908490615201565b5f5f6119da612047565b73ffffffffffffffffffffffffffffffffffffffff1663bd58855d6119fd61425a565b6006546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526024820152604401602060405180830381865afa158015611a57573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c229190615233565b60055460ff1615611ab8576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155620f42405f55600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000169091179055670de0b6b3a764000042604e1b7fffffffffffffffffffffffffffffffffffffffffffff000000000000000000001601600655565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600160205260408120548190611b7c90610c05565b611b8584613fb1565b90946fffffffffffffffffffffffffffffffff9091169350915050565b611baa61362e565b611bb26135c2565b611bbc815f613b9e565b61178b613b79565b6060611bce612bfb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c32576040517f3e30718a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8080611c418587018761524c565b9250925092505f611c5061124f565b90505f831315611ed85773ffffffffffffffffffffffffffffffffffffffff8116611d1057611c7d612bfb565b73ffffffffffffffffffffffffffffffffffffffff166311da60b4846040518263ffffffff1660e01b815260040160206040518083038185885af1158015611cc7573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611cec9190615105565b505f611cf88484615201565b90508015611d0a57611d0a85826142a9565b50611e20565b611d18612bfb565b6040517fa584119400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152919091169063a5841194906024015f604051808303815f87803b158015611d80575f5ffd5b505af1158015611d92573d5f5f3e3d5ffd5b50505050611da98185611da3612bfb565b86614035565b611db1612bfb565b73ffffffffffffffffffffffffffffffffffffffff166311da60b46040518163ffffffff1660e01b81526004016020604051808303815f875af1158015611dfa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1e9190615105565b505b611e28612bfb565b73ffffffffffffffffffffffffffffffffffffffff1663156e29f6611e4b613452565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff91821660048201529084166024820152604481018690526064015f604051808303815f87803b158015611ebd575f5ffd5b505af1158015611ecf573d5f5f3e3d5ffd5b5050505061202e565b5f83121561202e57825f039250611eed612bfb565b73ffffffffffffffffffffffffffffffffffffffff1663f5298aca611f10613452565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff91821660048201529084166024820152604481018690526064015f604051808303815f87803b158015611f82575f5ffd5b505af1158015611f94573d5f5f3e3d5ffd5b50505050611fa0612bfb565b6040517f0b0d9c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528681166024830152604482018690529190911690630b0d9c09906064015f604051808303815f87803b158015612017575f5ffd5b505af1158015612029573d5f5f3e3d5ffd5b505050505b505060408051602081019091525f815295945050505050565b5f610c006051613580565b5f61205b61362e565b612066336001613b9e565b61206f836124ce565b90506cffffffffffffffffffffffffff8111156120b8576040517fc56d46d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f036120f1576040517f13185bd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6120fa612bfb565b905073ffffffffffffffffffffffffffffffffffffffff81166121315761213161212261124f565b3361212b613452565b85614035565b61213b8385614103565b600380548391905f906121619084906fffffffffffffffffffffffffffffffff166151d9565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146121d4576121d4338361418e565b604080518381526020810186905273ffffffffffffffffffffffffffffffffffffffff85169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7910161195c565b60607300000000000041fe14ce3c2392337ce501ae83286361de447b61224861124f565b6040518060400160405280600281526020017f706f0000000000000000000000000000000000000000000000000000000000008152506040518363ffffffff1660e01b8152600401610ba192919061527e565b6122a361362e565b6122ad335f613b9e565b6122b5613b79565b565b5f6122c061362e565b6122ca335f613b9e565b6122d2613452565b6040517fc79ee60d00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff919091169063c79ee60d90602401602060405180830381865afa15801561233c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123609190615105565b15612397576040517f2501f81e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6123a18383614300565b9050610c22613b79565b5f610c0060065469ffffffffffffffffffff1690565b60608167ffffffffffffffff8111156123dc576123dc614fd1565b60405190808252806020026020018201604052801561240f57816020015b60608152602001906001900390816123fa5790505b5090505f5b8083146124c7575f8030868685818110612430576124306152ac565b905060200281019061244291906152d9565b60405161245092919061533a565b5f60405180830381855af49150503d805f8114612488576040519150601f19603f3d011682016040523d82523d5f602084013e61248d565b606091505b50915091508161249f57805160208201fd5b808484815181106124b2576124b26152ac565b60209081029190910101525050600101612414565b5092915050565b5f610c22826124db610ac8565b6004545f5401613525565b5f6124ef61362e565b6124f9825f613b9e565b61250282612a50565b84111561253b576040517f20adf2ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835f03612574576040517f13185bd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61257d84610ce1565b90503373ffffffffffffffffffffffffffffffffffffffff8316146126305773ffffffffffffffffffffffffffffffffffffffff82165f9081526002602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461262e576125fd8282615201565b73ffffffffffffffffffffffffffffffffffffffff84165f9081526002602090815260408083203384529091529020555b505b61263a8282613a2f565b600380548591905f906126609084906fffffffffffffffffffffffffffffffff16615349565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505f61269f612bfb565b905073ffffffffffffffffffffffffffffffffffffffff81166126db576126d66126c761124f565b6126cf613452565b8688614035565b6126e7565b6126e784865f0361418e565b604080518681526020810184905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db91015b60405180910390a450610d03613b79565b5f5f61277d7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe368181013560f01c90030190565b6014013560f81c92915050565b5f61279361362e565b61279d825f613b9e565b6127a682612b85565b8411156127df576040517f20adf2ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8316146128905773ffffffffffffffffffffffffffffffffffffffff82165f9081526002602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461288e5761285d8582615201565b73ffffffffffffffffffffffffffffffffffffffff84165f9081526002602090815260408083203384529091529020555b505b61289984611710565b9050805f036128d4576040517f13185bd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128de8285613a2f565b600380548291905f906129049084906fffffffffffffffffffffffffffffffff16615349565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505f612943612bfb565b905073ffffffffffffffffffffffffffffffffffffffff811661297f5761297a61296b61124f565b612973613452565b8685614035565b61298b565b61298b84835f0361418e565b604080518381526020810187905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db9101612738565b5f5f6129ea614383565b73ffffffffffffffffffffffffffffffffffffffff84165f90815260076020526040902054909150612a1c81836143cc565b949350505050565b5f610c226cffffffffffffffffffffffffff5b5f610c2282612a486004545f540190565b610c1d610ac8565b6003545f906fffffffffffffffffffffffffffffffff168181612a73575f612a78565b600182035b90505f612a86600454610c05565b9050808211612a95575f612a99565b8082035b73ffffffffffffffffffffffffffffffffffffffff86165f9081526001602052604081205491935090612acb90610c05565b9050612ad5613452565b6040517fc79ee60d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152919091169063c79ee60d90602401602060405180830381865afa158015612b41573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b659190615105565b15612b70575f61112e565b61112e8382613a1a565b5f610c00603d613580565b6003545f906fffffffffffffffffffffffffffffffff1681612bb482612bab575f612a37565b60018303612a37565b600454909150808211612bc7575f612bcb565b8082035b73ffffffffffffffffffffffffffffffffffffffff86165f90815260016020526040902054909250612ad5613452565b5f610c006065613580565b5f612c0f61362e565b612c19855f613b9e565b865f03612c52576040517f13185bd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c5b85614481565b871115612c94576040517f20adf2ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c9d87610ce1565b90503373ffffffffffffffffffffffffffffffffffffffff861614612d505773ffffffffffffffffffffffffffffffffffffffff85165f9081526002602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612d4e57612d1d8282615201565b73ffffffffffffffffffffffffffffffffffffffff87165f9081526002602090815260408083203384529091529020555b505b612d5a8582613a2f565b600380548891905f90612d809084906fffffffffffffffffffffffffffffffff16615349565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550612dbe613452565b73ffffffffffffffffffffffffffffffffffffffff166374564063868686866040518563ffffffff1660e01b8152600401612dfc9493929190615371565b5f6040518083038186803b158015612e12575f5ffd5b505afa158015612e24573d5f5f3e3d5ffd5b505050505f612e31612bfb565b905073ffffffffffffffffffffffffffffffffffffffff8116612e6d57612e68612e5961124f565b612e61613452565b898b614035565b612e79565b612e7987895f0361418e565b604080518981526020810184905273ffffffffffffffffffffffffffffffffffffffff80891692908a169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a45061112e613b79565b5f612ee760065460961c90565b6fffffffffffffffffffffffffffffffff16905090565b612f066135c2565b612f0e61362e565b5f808212156131f3575f82810390612f24612bfb565b905073ffffffffffffffffffffffffffffffffffffffff811661305a575f612f4a61124f565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015291909116906370a0823190602401602060405180830381865afa158015612fb6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fda9190615105565b90508281101561304557612fec61124f565b6040517f71c3730b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911660048201526024810184905260448101829052606401610f1c565b61305861305061124f565b883386614035565b505b61306c8561306784612a37565b614103565b600380548391905f906130929084906fffffffffffffffffffffffffffffffff166151d9565b82546fffffffffffffffffffffffffffffffff9182166101009390930a92830291909202199091161790555073ffffffffffffffffffffffffffffffffffffffff85165f908152600160205260409020547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015613176575f613134827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615201565b905061314081866151c6565b73ffffffffffffffffffffffffffffffffffffffff88165f908152600160205260408120819055805490920190915593506131c5565b61319f7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82615201565b73ffffffffffffffffffffffffffffffffffffffff87165f908152600160205260409020555b73ffffffffffffffffffffffffffffffffffffffff8216156131eb576131eb878461418e565b505050613384565b73ffffffffffffffffffffffffffffffffffffffff83165f908152600160205260409020547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015613286575f613269827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615201565b905061327581846151c6565b5f80549092018255925090506132b2565b6132af7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82615201565b90505b73ffffffffffffffffffffffffffffffffffffffff84165f9081526001602052604081208290556132e284612a37565b905081811115613366576132f7858784613ad1565b5f6133046004545f540190565b90505f5f6133288786850361332360018b61331d610ac8565b03614508565b614516565b9050848111613337575f613346565b61334685820384600a02613a1a565b9150506133538882614103565b61335d81866151c6565b94505050613371565b613371858783613ad1565b34156133815761338186346142a9565b50505b80156116cf575f61339482610c05565b90508473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f76ad38b411abf3ae86adba3126b4f43f32db57aed349b72caeac41ed9af27d4c83856040516133fe929190918252602082015260400190565b60405180910390a350506116d9613b79565b6003546004546fffffffffffffffffffffffffffffffff80831692700100000000000000000000000000000000900416905f61344a61458f565b905090919293565b5f610c005f613580565b5f80807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050805f036134af575f84116134a4575f5ffd5b508290049050610d03565b8084116134ba575f5ffd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f61353184848461345c565b90505f8280613542576135426150d8565b8486091115610d03577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110613576575f5ffd5b6001019392505050565b5f5f6135b47ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe368181013560f01c90030190565b929092013560601c92915050565b6135ca613452565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122b5576040517f2dd1912a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f8053dfe21e206073e7d912b6bcd2323894159cfd58d0a607082c42be308afb86805c159030905d8061178b576040517fab143c0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f61369b8a5f613b9e565b5f6136a4610ac8565b90505f6136b36004545f540190565b90505f5f8c6136c4578a8c036136c8565b8b8b035b915088600f0b82600f0b8b600f0b030390505f5f8d600f0b131561372d578d61370d576137088d6fffffffffffffffffffffffffffffffff16858761345c565b61372a565b61372a8d6fffffffffffffffffffffffffffffffff168587613525565b90505b8d61379057801561378b5760045481811015613772575f600455613757610d948284038888613525565b6fffffffffffffffffffffffffffffffff1683019250613789565b8160045f8282546137839190615201565b90915550505b505b6137ad565b80156137ad578060045f8282546137a791906151c6565b90915550505b508d5f821315613834575f6137c3838688613525565b73ffffffffffffffffffffffffffffffffffffffff83165f908152600160205260409020549091508111156138245773ffffffffffffffffffffffffffffffffffffffff82165f9081526001602052604090205430908490610ec890610c05565b61382e8282613a2f565b5061385e565b5f82121561385e575f61385061384984615190565b868861345c565b905061385c8282614103565b505b60035461389490600f8c810b9161388a918f900b906fffffffffffffffffffffffffffffffff166153d5565b610d949190615169565b600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92831617908190557001000000000000000000000000000000009004168e6138ff578c600f0b6138fa90615190565b613904565b8c600f0b5b61390e9082615169565b9050613919816139c9565b600380546fffffffffffffffffffffffffffffffff9283167001000000000000000000000000000000000292169190911790555073ffffffffffffffffffffffffffffffffffffffff81165f9081526007602052604090205461397e908460801b0190565b73ffffffffffffffffffffffffffffffffffffffff82165f908152600760205260408120919091556139ae6145d8565b99509197509395509193505050509650965096509692505050565b806fffffffffffffffffffffffffffffffff81168114613a15576040517fb668004500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b5f818310613a285781610d03565b5090919050565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526001602052604081208054839290613a63908490615201565b92505081905550805f5f828254613a7a9190615201565b90915550506040518181525f9073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526001602052604081208054839290613b05908490615201565b909155505073ffffffffffffffffffffffffffffffffffffffff8083165f81815260016020526040908190208054850190555190918516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613b6c9085815260200190565b60405180910390a3505050565b5f7f8053dfe21e206073e7d912b6bcd2323894159cfd58d0a607082c42be308afb865d565b60035470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165f8080613bdb84613bd661461d565b614716565b73ffffffffffffffffffffffffffffffffffffffff89165f908152600760205260408120549396509194509250613c128260801d90565b9050845f600f83900b1315613dc2575f613c3e84886fffffffffffffffffffffffffffffffff166143cc565b90506fffffffffffffffffffffffffffffffff811615613dc0576003546fffffffffffffffffffffffffffffffff908116890187018116905f90613c90908416613c8a6004545f540190565b84613525565b73ffffffffffffffffffffffffffffffffffffffff8d165f9081526001602052604090205490915083908d908d15613cce575f9250885b9650613d80565b80841115613d7657613cea610d948287610c1d6004545f540190565b92508e73ffffffffffffffffffffffffffffffffffffffff167fce90bf2dcbb34a2869d3c17c26b05be115c3f6c37c2bad3cf99251ef318ca1f7878584604051613d5e939291906fffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b60405180910390a2613d708282613a2f565b88613cc7565b613d808285613a2f565b8a6fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff161115613db4575f9a50613dba565b828b039a505b50505050505b505b608082901b6fffffffffffffffffffffffffffffffff82160173ffffffffffffffffffffffffffffffffffffffff8a165f90815260076020526040902055600654613e63906fffffffffffffffffffffffffffffffff8816908690613e2e9060701c643fffffffff1690565b64ffffffffff16886fffffffffffffffffffffffffffffffff165f8160961b8360701b8560501b870101019050949350505050565b600655505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114613f0357613ed28382615201565b73ffffffffffffffffffffffffffffffffffffffff86165f9081526002602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff85165f9081526001602052604081208054859290613f37908490615201565b909155505073ffffffffffffffffffffffffffffffffffffffff8085165f81815260016020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613f9e9087815260200190565b60405180910390a3506001949350505050565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526007602052604081205460035482906140159070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16613bd661401061425a565b614840565b50509050612a1c82826fffffffffffffffffffffffffffffffff166143cc565b5f6040517f23b872dd00000000000000000000000000000000000000000000000000000000815284816004015283816024015282816044015260205f6064835f8a5af13d15601f3d1160015f5114161716915050806140fc575f61409986866148ce565b6040517f81f20f8600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8089166004830152871660248201526044810185905260648101829052909150608401610f1c565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526001602052604081208054830190558054829190819061413f9084906151c6565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001613ac5565b614196612bfb565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660208301529181018490523460608201529116906348c89491906080016040516020818303038152906040526040518263ffffffff1660e01b81526004016141fa9190614b31565b5f604051808303815f875af1158015614215573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526116d99190810190615093565b5f610c0061426a60065460961c90565b60035470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff908116911601670de0b6b3a7640000610cfe610ac8565b5f5f5f5f5f85875af19050806116d9576040517f81f20f860000000000000000000000000000000000000000000000000000000081525f600482015230602482015260448101839052476064820152608401610f1c565b335f90815260016020526040812080548391908390614320908490615201565b909155505073ffffffffffffffffffffffffffffffffffffffff83165f81815260016020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cd09086815260200190565b5f5f6143b2600360109054906101000a90046fffffffffffffffffffffffffffffffff16613bd661401061425a565b50506fffffffffffffffffffffffffffffffff1692915050565b5f5f6143d88460801d90565b9050835f600f83900b1315806143fe57506fffffffffffffffffffffffffffffffff8116155b8061441a5750806fffffffffffffffffffffffffffffffff1684145b15614429575f92505050610c22565b614478610d94836fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff16876144609190615201565b846fffffffffffffffffffffffffffffffff16613525565b95945050505050565b6003545f906fffffffffffffffffffffffffffffffff1681816144a4575f6144a9565b600182035b90505f6144b7600454610c05565b90508082116144c6575f6144ca565b8082035b73ffffffffffffffffffffffffffffffffffffffff86165f90815260016020526040812054919350906144fc90610c05565b905061112e8382613a1a565b5f818313613a285781610d03565b5f80807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050805f0361455e575f84116134a4575f5ffd5b8084116134ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92505050610d03565b5f610c0061459f60065460961c90565b60035470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff908116911601612710610cfe610ac8565b5f7f01a1e92d13c3b66ac87e6b0878e91f7fafe5ba07d452d1d5850cdc94a05af0b1805c9061460561458f565b9250828211156146155750919050565b82815d505090565b5f5f5f614628612047565b73ffffffffffffffffffffffffffffffffffffffff16636f0a79c361464b614922565b6006546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925260248201526044016040805180830381865afa1580156146a4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906146c891906153f4565b60065491935091507fffffffffffffffffffffffffffc000000000ffffffffffffffffffffffffffff16723fffffffff0000000000000000000000000000607083901b161760065550919050565b6006545f9081904260021c90826147338260501c63ffffffff1690565b69ffffffffffffffffffff83169550609683901c945063ffffffff16905080830360021b63fffffffc168015614836575f614795610d94896fffffffffffffffffffffffffffffffff16846fffffffffffffffffffffffffffffffff1661498b565b90505f6147c9610d948b6fffffffffffffffffffffffffffffffff16846fffffffffffffffffffffffffffffffff166149e4565b90506147d581886151d9565b96505f6147fd836fffffffffffffffffffffffffffffffff16670de0b6b3a7640000016139c9565b9050614830610d948a6fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff166149e4565b98505050505b5050509250925092565b5f5f61484a612047565b73ffffffffffffffffffffffffffffffffffffffff1663bd58855d846006546040518363ffffffff1660e01b815260040161488f929190918252602082015260400190565b602060405180830381865afa1580156148aa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d039190615233565b5f6040517f70a0823100000000000000000000000000000000000000000000000000000000815282600482015260205f602483875afa61490c575f91505b5060203d101561491957505f5b50505f51919050565b5f7f01a1e92d13c3b66ac87e6b0878e91f7fafe5ba07d452d1d5850cdc94a05af0b1805c90612710670de0b6b3a764000083020491505f61496161425a565b90508083111561497357509092915050565b670de0b6b3a7640000612710820204825d9392505050565b5f80614997838561541e565b90505f6149b28280610c1d670de0b6b3a7640000600261541e565b90505f6149cd8284610c1d670de0b6b3a7640000600361541e565b9050806149da83856151c6565b61112e91906151c6565b5f6149ef8383614a38565b90505f670de0b6b3a76400008385091115610c22577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110614a2f575f5ffd5b60010192915050565b5f80807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848609848602925082811083820303915050805f03614a885750670de0b6b3a764000090049050610c22565b80670de0b6b3a764000011614a9b575f5ffd5b5f670de0b6b3a76400008587097faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066984821190930360ee1b930360121c929092170291505092915050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610d036020830184614ae5565b5f60208284031215614b53575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461178b575f5ffd5b5f5f60408385031215614b8c575f5ffd5b8235614b9781614b5a565b946020939093013593505050565b5f60208284031215614bb5575f5ffd5b8135610d0381614b5a565b8035600f81900b8114613a15575f5ffd5b5f5f5f5f5f5f60c08789031215614be6575f5ffd5b8635614bf181614b5a565b9550614bff60208801614bc0565b9450614c0d60408801614bc0565b9350614c1b60608801614bc0565b9250614c2960808801614bc0565b9598949750929591949360a090920135925050565b5f5f5f60608486031215614c50575f5ffd5b8335614c5b81614b5a565b92506020840135614c6b81614b5a565b929592945050506040919091013590565b5f5f5f5f5f60a08688031215614c90575f5ffd5b8535614c9b81614b5a565b9450614ca960208701614bc0565b9350614cb760408701614bc0565b9250614cc560608701614bc0565b949793965091946080013592915050565b5f5f60408385031215614ce7575f5ffd5b823591506020830135614cf981614b5a565b809150509250929050565b5f5f60208385031215614d15575f5ffd5b823567ffffffffffffffff811115614d2b575f5ffd5b8301601f81018513614d3b575f5ffd5b803567ffffffffffffffff811115614d51575f5ffd5b856020828401011115614d62575f5ffd5b6020919091019590945092505050565b5f5f83601f840112614d82575f5ffd5b50813567ffffffffffffffff811115614d99575f5ffd5b6020830191508360208260051b8501011115614db3575f5ffd5b9250929050565b5f5f60208385031215614dcb575f5ffd5b823567ffffffffffffffff811115614de1575f5ffd5b614ded85828601614d72565b90969095509350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614e59858351614ae5565b94506020938401939190910190600101614e1f565b50929695505050505050565b5f5f5f60608486031215614e8c575f5ffd5b833592506020840135614e9e81614b5a565b91506040840135614eae81614b5a565b809150509250925092565b5f5f60408385031215614eca575f5ffd5b8235614ed581614b5a565b91506020830135614cf981614b5a565b5f5f5f5f5f5f60a08789031215614efa575f5ffd5b863595506020870135614f0c81614b5a565b94506040870135614f1c81614b5a565b9350606087013567ffffffffffffffff811115614f37575f5ffd5b614f4389828a01614d72565b90945092505060808701358015158114614f5b575f5ffd5b809150509295509295509295565b73ffffffffffffffffffffffffffffffffffffffff8616815273ffffffffffffffffffffffffffffffffffffffff85166020820152831515604082015262ffffff8316606082015260a060808201525f614fc660a0830184614ae5565b979650505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f67ffffffffffffffff84111561501857615018614fd1565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff8211171561506557615065614fd1565b60405283815290508082840185101561507c575f5ffd5b8383602083015e5f60208583010152509392505050565b5f602082840312156150a3575f5ffd5b815167ffffffffffffffff8111156150b9575f5ffd5b8201601f810184136150c9575f5ffd5b612a1c84825160208401614ffe565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f60208284031215615115575f5ffd5b5051919050565b5f6020828403121561512c575f5ffd5b815160ff81168114610d03575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018281125f8312801582168215821617156151885761518861513c565b505092915050565b5f7f800000000000000000000000000000000000000000000000000000000000000082036151c0576151c061513c565b505f0390565b80820180821115610c2257610c2261513c565b6fffffffffffffffffffffffffffffffff8181168382160190811115610c2257610c2261513c565b81810381811115610c2257610c2261513c565b80516fffffffffffffffffffffffffffffffff81168114613a15575f5ffd5b5f60208284031215615243575f5ffd5b610d0382615214565b5f5f5f6060848603121561525e575f5ffd5b833561526981614b5a565b95602085013595506040909401359392505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f612a1c6040830184614ae5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261530c575f5ffd5b83018035915067ffffffffffffffff821115615326575f5ffd5b602001915036819003821315614db3575f5ffd5b818382375f9101908152919050565b6fffffffffffffffffffffffffffffffff8281168282160390811115610c2257610c2261513c565b73ffffffffffffffffffffffffffffffffffffffff8516815260606020820181905281018390525f8460808301825b868110156153be5782358252602092830192909101906001016153a0565b508092505050821515604083015295945050505050565b8181035f8312801583831316838312821617156124c7576124c761513c565b5f5f60408385031215615405575f5ffd5b61540e83615214565b6020939093015192949293505050565b8082028115828204841417610c2257610c2261513c56fea2646970667358221220ea12823bbf19cd96241bbf6fa09ec1bd6d89ca2283af57f05f0092257322293164736f6c634300081c00330000000000000000000000000000000000000000000000000000000000000000b361194cfe6312ee3210d53c15aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646112e8ac00000000000000000000000082bf455e9ebd6a541ef10b683de1edcaf05ce7a182bf455e9ebd6a541ef10b683de1edcaf05ce7a181e7b25b15e8b202596dcb32000000000000000000000000000000000000000000000000000000000000000600000000000000b361194cfe6312ee3210d53c15aa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000176461ff715f82bf455e9ebd6a541ef10b683de1edcaf05ce7a181e7b25b15e8b202596dcb32000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000016f560c060405234801561000f575f5ffd5b506040516116b53803806116b583398101604081905261002e9161009b565b6001600160a01b038216158061004b57506001600160a01b038116155b156100695760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a0526100cc565b80516001600160a01b0381168114610096575f5ffd5b919050565b5f5f604083850312156100ac575f5ffd5b6100b583610080565b91506100c360208401610080565b90509250929050565b60805160a0516115ba6100fb5f395f818161027201526111a501525f81816102250152610e2201526115ba5ff3fe608060405234801561000f575f5ffd5b50600436106100f0575f3560e01c806390c9c1f311610093578063b3f3cbdb11610063578063b3f3cbdb14610220578063ca9c0f7314610247578063eebffc921461025a578063fb1849ee1461026d575f5ffd5b806390c9c1f3146101de57806393203e67146101f15780639b10e1f4146101fa578063ab85d87a1461020d575f5ffd5b806336a3918a116100ce57806336a3918a146101785780635c3feca51461018b5780637f39c4101461019e5780638eb64f77146101cb575f5ffd5b8063207d0636146100f457806320818dc014610109578063367e2cd014610140575b5f5ffd5b610107610102366004611347565b610294565b005b61012b610117366004611347565b5f6020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61015361014e366004611362565b610373565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610137565b61012b6101863660046113a1565b610584565b6101076101993660046113df565b6105a7565b6101bd6101ac366004611347565b60016020525f908152604090205481565b604051908152602001610137565b6101076101d936600461142d565b6107b7565b61012b6101ec366004611347565b6108c7565b6101bd610e1081565b610107610208366004611347565b6108ff565b61010761021b366004611347565b610a98565b6101537f000000000000000000000000000000000000000000000000000000000000000081565b610107610255366004611457565b610c21565b610107610268366004611347565b610d55565b6101537f000000000000000000000000000000000000000000000000000000000000000081565b61029c610e0a565b5f6102a682610e7b565b90506102b182610eef565b6040517f207d063600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015282169063207d0636906024015f604051808303815f87803b158015610317575f5ffd5b505af1158015610329573d5f5f3e3d5ffd5b505060405133925073ffffffffffffffffffffffffffffffffffffffff851691507fa812ed80b42dc00a40dcd3a3d41a932bb037f316c6aacf16eaebb57dd0f81c1d905f90a35050565b5f61037c610e0a565b83158061038e575065ffffffffffff84115b156103c5576040517f15b3fb4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1663117803e36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610425573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104499190611492565b73ffffffffffffffffffffffffffffffffffffffff1614610496576040517f9a1a53b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f1d458f5f00000000000000000000000000000000000000000000000000000000815265ffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8481166024830152859190841690631d458f5f906044016020604051808303815f875af1158015610512573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105369190611492565b91508173ffffffffffffffffffffffffffffffffffffffff16857f5ca5b29103511c5b0a62e9956ba7999605c6c60eebc2b096edd2b506b02ec62d60405160405180910390a3509392505050565b5f5f61058f84610e7b565b905061059c858285610f6a565b9150505b9392505050565b6105af61118d565b73ffffffffffffffffffffffffffffffffffffffff831615806105e6575073ffffffffffffffffffffffffffffffffffffffff8216155b1561061d576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f8190036106bd5761063084866111fc565b6040517fa12ef25e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015285811660248301529192509086169063a12ef25e906044015f604051808303815f87803b1580156106a2575f5ffd5b505af11580156106b4573d5f5f3e3d5ffd5b50505050610749565b6040517fc8fea2fb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015284811660248301526044820184905286169063c8fea2fb906064015f604051808303815f87803b158015610732575f5ffd5b505af1158015610744573d5f5f3e3d5ffd5b505050505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f80757154671b7ae74ccfd96b462e7f17aaed359660bd1f556525f4868386df23836040516107a891815260200190565b60405180910390a35050505050565b5f6107c183610e7b565b90506107ce338284610f6a565b610804576040517f7d233a5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f207d063600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015282169063207d0636906024015f604051808303815f87803b15801561086a575f5ffd5b505af115801561087c573d5f5f3e3d5ffd5b505060405133925073ffffffffffffffffffffffffffffffffffffffff861691507fa812ed80b42dc00a40dcd3a3d41a932bb037f316c6aacf16eaebb57dd0f81c1d905f90a3505050565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526001602052604081205480158015906105a0575042101592915050565b610907610e0a565b61091081610e7b565b5073ffffffffffffffffffffffffffffffffffffffff81165f908152600160205260409020541561096d576040517f788c2cb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff1663b7e0ca966040518163ffffffff1660e01b815260040160a060405180830381865afa1580156109b7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109db91906114c3565b945050505050607681901c6003165f03610a21576040517f5c8e750700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610a2e610e104261151f565b73ffffffffffffffffffffffffffffffffffffffff84165f818152600160205260409081902083905551919250907fd843ce9ef55b27026be6c5e44e9f58097e0ebfa0d9d2d5823cb8ffa77958517090610a8b9084815260200190565b60405180910390a2505050565b610aa0610e0a565b5f610aaa82610e7b565b73ffffffffffffffffffffffffffffffffffffffff83165f90815260016020526040812054919250819003610b0b576040517f56198dfd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80421015610b4c576040517ff1d886c80000000000000000000000000000000000000000000000000000000081526004810182905260240160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526001602052604080822091909155517f88cec3c60000000000000000000000000000000000000000000000000000000081526004810191909152908316906388cec3c6906024015f604051808303815f87803b158015610bc6575f5ffd5b505af1158015610bd8573d5f5f3e3d5ffd5b505060405173ffffffffffffffffffffffffffffffffffffffff861692507f528f75f7cafb3bd85ee5caf3f4cb424251ec55e49939117ca9591bb477adfe6291505f90a2505050565b610c29610e0a565b73ffffffffffffffffffffffffffffffffffffffff8216610c76576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82165f90815260208190526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215801591909117909155610d115760405173ffffffffffffffffffffffffffffffffffffffff8316907fd313d57b1f3424a6139a02f622e8ddf0c89d0a6e67c05c68158b3b904595f207905f90a25050565b60405173ffffffffffffffffffffffffffffffffffffffff8316907f8abdd7e0c466b0c830c8d3387a540c7971b4ab763c0565d5110dec16dc031742905f90a25050565b610d5d610e0a565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600160205260408120549003610dba576040517f56198dfd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f81815260016020526040808220829055517ffa044b7b93a40365dc68049797c2eb06918523d694e5d56e406cac3eb35578e59190a250565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e79576040517f152898e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f8173ffffffffffffffffffffffffffffffffffffffff166392b888ae6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee99190611492565b92915050565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526001602052604090205415610f675773ffffffffffffffffffffffffffffffffffffffff81165f81815260016020526040808220829055517ffa044b7b93a40365dc68049797c2eb06918523d694e5d56e406cac3eb35578e59190a25b50565b5f73ffffffffffffffffffffffffffffffffffffffff84161580610f8c575081155b80610fbb575073ffffffffffffffffffffffffffffffffffffffff84165f9081526020819052604090205460ff165b15610fc757505f6105a0565b6040517f70fb2621000000000000000000000000000000000000000000000000000000008152600481018390525f9073ffffffffffffffffffffffffffffffffffffffff8516906370fb262190602401602060405180830381865afa92505050801561106e575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261106b91810190611492565b60015b61107b575f9150506105a0565b905073ffffffffffffffffffffffffffffffffffffffff811615806110b5575073ffffffffffffffffffffffffffffffffffffffff81163b155b156110c3575f9150506105a0565b8073ffffffffffffffffffffffffffffffffffffffff1663455e6b6b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611148575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261114591810190611492565b60015b611155575f9150506105a0565b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614925050506105a0565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e79576040517f5647892800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff82811660248301525f918291829190861690604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f70a0823100000000000000000000000000000000000000000000000000000000179052516112aa9190611557565b5f60405180830381855afa9150503d805f81146112e2576040519150601f19603f3d011682016040523d82523d5f602084013e6112e7565b606091505b50915091508115806112fa575060208151105b15611309575f92505050610ee9565b8080602001905181019061131d919061156d565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f67575f5ffd5b5f60208284031215611357575f5ffd5b81356105a081611326565b5f5f5f60608486031215611374575f5ffd5b83359250602084013561138681611326565b9150604084013561139681611326565b809150509250925092565b5f5f5f606084860312156113b3575f5ffd5b83356113be81611326565b925060208401356113ce81611326565b929592945050506040919091013590565b5f5f5f5f608085870312156113f2575f5ffd5b84356113fd81611326565b9350602085013561140d81611326565b9250604085013561141d81611326565b9396929550929360600135925050565b5f5f6040838503121561143e575f5ffd5b823561144981611326565b946020939093013593505050565b5f5f60408385031215611468575f5ffd5b823561147381611326565b915060208301358015158114611487575f5ffd5b809150509250929050565b5f602082840312156114a2575f5ffd5b81516105a081611326565b8051600281900b81146114be575f5ffd5b919050565b5f5f5f5f5f60a086880312156114d7575f5ffd5b6114e0866114ad565b94506114ee602087016114ad565b93506114fc604087016114ad565b925061150a606087016114ad565b60809690960151949793965091949392915050565b80820180821115610ee9577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f82518060208501845e5f920191825250919050565b5f6020828403121561157d575f5ffd5b505191905056fea26469706673582212209b1e8dae3d99bd0ba57b0e90fdba398f42467acb91eec9c88da1e6172fb215c364736f6c634300081c0033000000000000000000000000c3d385022d082acd6b8744a85ad1766a01f522f7000000000000000000000000d8c5ebfeea9b35695e54ffe0aaf9cfc521c9190d000000000000000000000000000000000000b361194cfe6312ee3210d53c15aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646112e8ac00000000000000000000000082bf455e9ebd6a541ef10b683de1edcaf05ce7a182bf455e9ebd6a541ef10b683de1edcaf05ce7a16db944d354778900b9c412cf000000000000000000000000000000000000000000000000000000000000000000000000000000b361194cfe6312ee3210d53c15aa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000126461ff715f82bf455e9ebd6a541ef10b683de1edcaf05ce7a16db944d354778900b9c412cf000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000011f360a0604052348015600e575f5ffd5b506040516111d33803806111d3833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516111296100aa5f395f81816048015261032601526111295ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063117803e3146100435780631d458f5f14610093578063226806ff146100a6575b5f5ffd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006a6100a136600461046b565b6100b9565b61006a6100b43660046104b8565b61021e565b5f6100c261030e565b60405165ffffffffffff8416905f906100dd60208201610444565b601f1982820381018352601f9091011660408181523060208301520160408051601f198184030181529082905261011792916020016104e8565b60405160208183030381529060405290506101335f83836103b4565b6040517f19ab453c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152919450908416906319ab453c906024015f604051808303815f87803b15801561019d575f5ffd5b505af11580156101af573d5f5f3e3d5ffd5b505050508373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff168665ffffffffffff167f1914c63e85661eeb0fd1344327b1d5ab29d1b668f17dcbb610ab70bf55394c5860405160405180910390a4505092915050565b6040515f9065ffffffffffff831690829061023b60208201610444565b601f1982820381018352601f9091011660408181523060208301520160408051601f198184030181529082905261027592916020016104e8565b60408051601f1981840301815282825280516020918201207fff00000000000000000000000000000000000000000000000000000000000000828501523060601b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660218501526035840195909552605580840195909552815180840390950185526075909201905282519201919091209392505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146103b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e4f545f4f574e4552000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b565b5f8282516020840186f5905073ffffffffffffffffffffffffffffffffffffffff811661043d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f43524541544532206661696c656400000000000000000000000000000000000060448201526064016103a9565b9392505050565b610bef8061050583390190565b803565ffffffffffff81168114610466575f5ffd5b919050565b5f5f6040838503121561047c575f5ffd5b61048583610451565b9150602083013573ffffffffffffffffffffffffffffffffffffffff811681146104ad575f5ffd5b809150509250929050565b5f602082840312156104c8575f5ffd5b61043d82610451565b5f81518060208401855e5f93019283525090919050565b5f6104fc6104f683866104d1565b846104d1565b94935050505056fe60a0604052348015600e575f5ffd5b50604051610bef380380610bef833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f5ffd5b81516001600160a01b0381168114605f575f5ffd5b9392505050565b608051610b7161007e5f395f61015a0152610b715ff3fe608060405260043610610066575f3560e01c8063b61d27f611610041578063b61d27f61461011d578063b8c26a6f14610149578063b8dc491b1461017c575f5ffd5b80631626ba7e1461007157806319ab453c146100c6578063455e6b6b146100e7575f5ffd5b3661006d57005b5f5ffd5b34801561007c575f5ffd5b5061009061008b36600461093b565b61019b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b3480156100d1575f5ffd5b506100e56100e036600461099e565b61023b565b005b3480156100f2575f5ffd5b505f54610105906001600160a01b031681565b6040516001600160a01b0390911681526020016100bd565b348015610128575f5ffd5b5061013c6101373660046109be565b61031c565b6040516100bd9190610a42565b348015610154575f5ffd5b506101057f000000000000000000000000000000000000000000000000000000000000000081565b348015610187575f5ffd5b506100e5610196366004610a54565b610457565b5f8054604080516020601f86018190048102820181019092528481526101e7926001600160a01b03169187919087908790819084018382808284375f9201919091525061055992505050565b610211577fffffffff00000000000000000000000000000000000000000000000000000000610233565b7f1626ba7e000000000000000000000000000000000000000000000000000000005b949350505050565b5f546001600160a01b03161561027d576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166102bd576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316908117825560405190917f69450870cb463ed84b1114ec715b7f3298a805b1a90d84272fd3efe0a8d748ba91a250565b5f546060906001600160a01b03163314610362576040517f0404714e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f856001600160a01b031685858560405161037e929190610a85565b5f6040518083038185875af1925050503d805f81146103b8576040519150601f19603f3d011682016040523d82523d5f602084013e6103bd565b606091505b5092509050806104095781515f03610401576040517fd6bed87300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815160208301fd5b856001600160a01b03167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f86868660405161044693929190610a94565b60405180910390a250949350505050565b5f546001600160a01b0316331461049a576040517f0404714e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6104a583306105b8565b9050805f0361050057816001600160a01b0316836001600160a01b03167fd092d7fceb5ea5a962639fcc27a7bb315e7637e699e3b108cd570c38c75843005f6040516104f391815260200190565b60405180910390a3505050565b6105146001600160a01b038416838361060c565b816001600160a01b0316836001600160a01b03167fd092d7fceb5ea5a962639fcc27a7bb315e7637e699e3b108cd570c38c7584300836040516104f391815260200190565b5f5f5f61056685856106c8565b5090925090505f81600381111561057f5761057f610ac9565b14801561059d5750856001600160a01b0316826001600160a01b0316145b806105ae57506105ae868686610711565b9695505050505050565b5f6040517f70a0823100000000000000000000000000000000000000000000000000000000815282600482015260205f602483875afa6105f6575f91505b5060203d101561060357505f5b50505f51919050565b5f6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815283816004015282816024015260205f6044835f895af13d15601f3d1160015f5114161716915050806106c2575f61066a85306105b8565b6040517f81f20f860000000000000000000000000000000000000000000000000000000081526001600160a01b0387166004820152306024820152604481018590526064810182905290915060840160405180910390fd5b50505050565b5f5f5f83516041036106ff576020840151604085015160608601515f1a6106f18882858561082e565b95509550955050505061070a565b505081515f91506002905b9250925092565b5f5f5f856001600160a01b03168585604051602401610731929190610af6565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1626ba7e00000000000000000000000000000000000000000000000000000000179052516107949190610b0e565b5f60405180830381855afa9150503d805f81146107cc576040519150601f19603f3d011682016040523d82523d5f602084013e6107d1565b606091505b50915091508180156107e557506020815110155b80156105ae575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906108239083016020908101908401610b24565b149695505050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561086757505f915060039050826108ec565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156108b8573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b0381166108e357505f9250600191508290506108ec565b92505f91508190505b9450945094915050565b5f5f83601f840112610906575f5ffd5b50813567ffffffffffffffff81111561091d575f5ffd5b602083019150836020828501011115610934575f5ffd5b9250929050565b5f5f5f6040848603121561094d575f5ffd5b83359250602084013567ffffffffffffffff81111561096a575f5ffd5b610976868287016108f6565b9497909650939450505050565b80356001600160a01b0381168114610999575f5ffd5b919050565b5f602082840312156109ae575f5ffd5b6109b782610983565b9392505050565b5f5f5f5f606085870312156109d1575f5ffd5b6109da85610983565b935060208501359250604085013567ffffffffffffffff8111156109fc575f5ffd5b610a08878288016108f6565b95989497509550505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6109b76020830184610a14565b5f5f60408385031215610a65575f5ffd5b610a6e83610983565b9150610a7c60208401610983565b90509250929050565b818382375f9101908152919050565b83815260406020820152816040820152818360608301375f818301606090810191909152601f909201601f1916010192915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b828152604060208201525f6102336040830184610a14565b5f82518060208501845e5f920191825250919050565b5f60208284031215610b34575f5ffd5b505191905056fea2646970667358221220120789e4db2ddc250c5dd86c1e9c1f5d892d319364edb8106d1c5ceff429f26264736f6c634300081c0033a2646970667358221220bb28655e043b538c2840fd465cbad503011c89ff9adf96eb1754b27e90564c9464736f6c634300081c00330000000000000000000000000000000000000d329acc1514f4ba05584a8369ed000000000000000000000000000000000000000000000000000000000000000000

Signatures

0x49f73efb15e74e4225a3a7af16534bd632c66a02172ac6d56248bab3192ec3295c7cf0013a9db4e1c048a4255c9ab8916e7c205e7df07bf92501b9bcffb0fa8c1b849143a21320024dbf93c3fd4732be1630aca27572ad39dcbb6f849d8fbf55ae6558542d690aa88b09ff21745d8de7f470f54c9df22cfc69addaa2d60fbdecef1c000000000000000000000000cae438c8505be86b1a200d1c737a580170d5bf22000000000000000000000000000000000000000000000000000000000000000001