61010060405234801562000011575f80fd5b50620000323073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc262000177565b6001600160a01b031660a0819052600260209081527fd1c69375fae4db1f9bc09d344dd4ca5ec7325a49ae090b3810917b7940a06d4b8054600160ff1991821681179092557f1527fa3601407431dc1350e50671df29929c263a9b11099e7461674bfb23b0548054821683179055305f908152604080822080548416851790559481526003909352929091208054909216179055620000f173946ef43867225695e29241813a8f41519634b36b6a0707f1ec5dcde3d8800000620001d7565b60a051620000ff9062000230565b6001600160a01b0390811660e0521660c0819052301462000121575f62000124565b60015b1515608052305f908152600160209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845290915290205f199055600a805465ffffffffffff191665ffffffffffff17905562000281565b5f6040516364e329cb60e11b81526001600160a01b03841660048201526001600160a01b038316602482015260205f6044835f735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f5af1905080620001cd575f80fd5b50505f5192915050565b6001600160a01b0382165f818152602081815260408083208054860190556004805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b5f80604051630dfe168160e01b815260205f600483875afa63d21220a760e01b60048301526020806004808501885afa915081158115171562000271575f80fd5b50505f5191506020519050915091565b60805160a05160c05160e051612f1c620002cb5f395f50505f50505f81816102c80152818161140d0152818161279301526129f301525f81816127eb0152612a6b0152612f1c5ff3fe60806040526004361061017e575f3560e01c806370a08231116100cd578063c5b748c011610087578063db006a7511610062578063db006a75146104f9578063dd62ed3e14610518578063df8980b31461055c578063fcfff16f1461057b575f80fd5b8063c5b748c0146104b2578063d7ccfb0b146104c6578063d926de1c146104da575f80fd5b806370a08231146103d85780637b16c21e1461040c57806395d89b41146104205780639f7b45791461044e578063a9059cbb1461046d578063bedd12a51461048c575f80fd5b806323b872dd1161013857806342966c681161011357806342966c681461036c5780634febf53d1461038b5780635d03147a146103aa57806364c9ec6f146103d0575f80fd5b806323b872dd1461031e57806326749e871461033d578063313ce56714610351575f80fd5b806301339c2114610189578063031bee001461019f57806306fdde0314610253578063095ea7b31461028b57806316f0115b146102ba57806318160ddd14610300575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d61058f565b005b3480156101aa575f80fd5b506101b361063f565b6040805184516001600160601b0390811682526020808701518216818401528684015182168385015260608088015183168185015260809788015190921687840152855165ffffffffffff90811660a08501529581015160c08401528451861660e0840152840151851661010083015291830151841661012082015290820151831661014082015292015116610160820152610180015b60405180910390f35b34801561025e575f80fd5b5060408051808201909152600781526625b7ba37902b1960c91b60208201525b60405161024a9190612bab565b348015610296575f80fd5b506102aa6102a5366004612c12565b610728565b604051901515815260200161024a565b3480156102c5575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161024a565b34801561030b575f80fd5b506004545b60405190815260200161024a565b348015610329575f80fd5b506102aa610338366004612c3a565b610755565b348015610348575f80fd5b506101b3610829565b34801561035c575f80fd5b506040516012815260200161024a565b348015610377575f80fd5b506102aa610386366004612c73565b610912565b348015610396575f80fd5b5061019d6103a5366004612c8a565b61094a565b3480156103b5575f80fd5b5073946ef43867225695e29241813a8f41519634b36b6102e8565b6103106109c9565b3480156103e3575f80fd5b506103106103f2366004612c8a565b6001600160a01b03165f9081526020819052604090205490565b348015610417575f80fd5b50610310611111565b34801561042b575f80fd5b5060408051808201909152600681526525a7aa27ab1960d11b602082015261027e565b348015610459575f80fd5b5061019d610468366004612ca3565b61113e565b348015610478575f80fd5b506102aa610487366004612c12565b6111b9565b348015610497575f80fd5b5073298eca8683000b3911b2e7dd07fd496d8019043e6102e8565b3480156104bd575f80fd5b50610310611200565b3480156104d1575f80fd5b50610310611221565b3480156104e5575f80fd5b5061019d6104f4366004612c8a565b611249565b348015610504575f80fd5b50610310610513366004612c73565b6112d6565b348015610523575f80fd5b50610310610532366004612cc3565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610567575f80fd5b50610310610576366004612c73565b611377565b348015610586575f80fd5b5061019d611b5b565b3373946ef43867225695e29241813a8f41519634b36b146105c357604051635fc483c560e01b815260040160405180910390fd5b601554610100900460ff16156105ec576040516319f4db0f60e31b815260040160405180910390fd5b6105f4611bcf565b6015805461ff0019166101001790556040517feca0dfbda743d141662328d4d48393e344b2c60df0430297221df823f2926dba906106359042815260200190565b60405180910390a1565b610647612b7e565b604080518082019091525f8082526020820152610662612b7e565b50506040805160a080820183526007546001600160601b038082168452600160601b91829004811660208086019190915260085480831686880152839004821660608087019190915260095490921660808087019190915286518088018852600a5465ffffffffffff9081168252600b5482850152885196870189526006548082168852600160301b8104821694880194909452948304851697860197909752600160901b8204841692850192909252600160c01b900490911690820152909391925090565b335f9081526001602081815260408084206001600160a01b03871685529091529091208290555b92915050565b5f6001600160a01b038316158061076a575081155b1561078857604051632f35253160e01b815260040160405180910390fd5b6001600160a01b0384163314610813576001600160a01b0384165f9081526001602090815260408083203384529091529020548211156107db576040516358d246fb60e11b815260040160405180910390fd5b6001600160a01b0384165f9081526001602090815260408083203384529091528120805484929061080d908490612d08565b90915550505b61081e848484611c70565b5060015b9392505050565b610831612b7e565b604080518082019091525f808252602082015261084c612b7e565b50506040805160a08082018352600e546001600160601b038082168452600160601b918290048116602080860191909152600f548083168688015283900482166060808701919091526010549092166080808701919091528651808801885260115465ffffffffffff90811682526012548285015288519687018952600d548082168852600160301b8104821694880194909452948304851697860197909752600160901b8204841692850192909252600160c01b900490911690820152909391925090565b5f61091d3383611e51565b506040518181526001905f9033905f80516020612ec78339815191529060200160405180910390a3919050565b3373946ef43867225695e29241813a8f41519634b36b1461097e57604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381165f81815260026020526040808220805460ff19166001179055517fec2dffa455deca3e695cce255e2b110b5ca334fb5b166f3159bbaad319ce0f1b9190a250565b6015545f9060ff166002036109f15760405163558a1e0360e11b815260040160405180910390fd5b6015805460ff19166002179055600a5465ffffffffffff16421115610a1857610a18611ed4565b6007546001600160601b0316156110f7575f60076040518060a00160405290815f82015f9054906101000a90046001600160601b03166001600160601b03166001600160601b031681526020015f8201600c9054906101000a90046001600160601b03166001600160601b03166001600160601b03168152602001600182015f9054906101000a90046001600160601b03166001600160601b03166001600160601b0316815260200160018201600c9054906101000a90046001600160601b03166001600160601b03166001600160601b03168152602001600282015f9054906101000a90046001600160601b03166001600160601b03166001600160601b03168152505090505f600a6040518060400160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff16815260200160018201548152505090505f60066040518060a00160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f8201600c9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160129054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160189054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff168152505090505f60056040518060800160405290815f82015f9054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020015f820160109054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160169054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f8201601c9054906101000a900460ff16151515158152505090505f60045490505f429050610dee60066040518060a00160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f8201600c9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160129054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160189054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681525050878786612113565b809650819850829750839950505050505f610e1b866020015188602001516001600160601b031685612239565b905080610e3034670de0b6b3a7640000612d1b565b610e3a9190612d46565b6008549098506001600160601b0316881115610e69576040516305c250cf60e11b815260040160405180910390fd5b87875f01818151610e7a9190612d59565b6001600160601b0316905250608087018051349190610e9a908390612d80565b6001600160601b0316905250606087018051899190610eba908390612d80565b6001600160601b0316905250602087018051899190610eda908390612d80565b6001600160601b03169052505f610ef1338a612269565b905080610f115760405163dde1446d60e01b815260040160405180910390fd5b604080518a81526020810184905233917f3ae9ad26d7d47616d306d7757b947fe7b0f9a7c61a5f0dc784b0ddb6c7c40b5a910160405180910390a2610f5a8389898989896122ed565b8351600780546020808801516001600160601b039485166001600160c01b031993841617600160601b918616820217909355604080890151600880546060808d015193891691909616179187168602919091179055608098890151600980546001600160601b0319908116929097169190911790558751600a805465ffffffffffff191665ffffffffffff92831617905597820151600b55865160068054898501518a8501518b8801519b909d01516bffffffffffffffffffffffff60601b19948d169290991691909117600160301b918c1691909102179190911699891690940265ffffffffffff60901b191698909817600160901b968816969096029590951765ffffffffffff60c01b1916600160c01b93871693909302929092179055815160058054948401519684015193909201516001600160801b039091166001600160b01b031990941693909317600160801b958516959095029490941766ffffffffffffff60b01b1916600160b01b919093160260ff60e01b191691909117600160e01b91151591909102179055506111019650505050505050565b61110133346124f0565b6015805460ff1916600117905590565b601254600e546004545f92611139929091600160601b9091046001600160601b031690612239565b905090565b3373946ef43867225695e29241813a8f41519634b36b1480159061117657503373298eca8683000b3911b2e7dd07fd496d8019043e14155b1561119457604051636edaef2f60e11b815260040160405180910390fd5b5f61119f8284612da0565b90506111ac333083610755565b5050601391909155601455565b5f6001600160a01b03831615806111ce575081155b156111ec57604051632f35253160e01b815260040160405180910390fd5b6111f7338484611c70565b50600192915050565b6004545f9061121747670de0b6b3a7640000612d1b565b6111399190612d46565b600b546007546004545f92611139929091600160601b9091046001600160601b031690612239565b3373946ef43867225695e29241813a8f41519634b36b1461127d57604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381165f81815260036020908152604091829020805460ff1916600117905590519182527f10cdbb821aa416c854add806e1d7e8138afe2a538921cebe99b1351362ae38b2910160405180910390a150565b5f8060045447670de0b6b3a76400006112ef9190612d1b565b6112f99190612d46565b9050670de0b6b3a764000061130e8483612d1b565b6113189190612d46565b91506113243384611e51565b61132e33836124f0565b604080518481526020810184905290810182905233907fbd5034ffbd47e4e72a94baa2cdb74c6fad73cb3bcdc13036b72ec8306f5a76469060600160405180910390a250919050565b6015545f9060ff1660020361139f5760405163558a1e0360e11b815260040160405180910390fd5b6015805460ff19166002179055600a5465ffffffffffff164211156113c6576113c6612547565b600e546001600160601b031615611b49576040516323b872dd60e01b815233600482015273298eca8683000b3911b2e7dd07fd496d8019043e6024820152604481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af115801561145b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147f9190612db3565b505f600e6040518060a00160405290815f82015f9054906101000a90046001600160601b03166001600160601b03166001600160601b031681526020015f8201600c9054906101000a90046001600160601b03166001600160601b03166001600160601b03168152602001600182015f9054906101000a90046001600160601b03166001600160601b03166001600160601b0316815260200160018201600c9054906101000a90046001600160601b03166001600160601b03166001600160601b03168152602001600282015f9054906101000a90046001600160601b03166001600160601b03166001600160601b03168152505090505f60116040518060400160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff16815260200160018201548152505090505f600d6040518060a00160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f8201600c9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160129054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160189054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff168152505090505f600c6040518060800160405290815f82015f9054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020015f820160109054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160169054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f8201601c9054906101000a900460ff16151515158152505090505f60045490505f429050611845600d6040518060a00160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f8201600c9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160129054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160189054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681525050878786612113565b809650819850829750839950505050505f611872866020015188602001516001600160601b031685612239565b9050806118878a670de0b6b3a7640000612d1b565b6118919190612d46565b600f549098506001600160601b03168811156118c0576040516305c250cf60e11b815260040160405180910390fd5b87875f018181516118d19190612d59565b6001600160601b03169052506080870180518a91906118f1908390612d80565b6001600160601b0316905250606087018051899190611911908390612d80565b6001600160601b0316905250602087018051899190611931908390612d80565b6001600160601b03169052505f611948338a612269565b9050806119685760405163dde1446d60e01b815260040160405180910390fd5b604080518a81526020810184905233917f3ae9ad26d7d47616d306d7757b947fe7b0f9a7c61a5f0dc784b0ddb6c7c40b5a910160405180910390a26119b18389898989896122ed565b8351600e80546020808801516001600160601b039485166001600160c01b031993841617600160601b918616820217909355604080890151600f80546060808d015193891691909616179187168602919091179055608098890151601080546001600160601b03199081169290971691909117905587516011805465ffffffffffff191665ffffffffffff928316179055978201516012558651600d8054898501518a8501518b8801519b909d01516bffffffffffffffffffffffff60601b19948d169290991691909117600160301b918c1691909102179190911699891690940265ffffffffffff60901b191698909817600160901b968816969096029590951765ffffffffffff60c01b1916600160c01b938716939093029290921790558151600c8054948401519684015193909201516001600160801b039091166001600160b01b031990941693909317600160801b958516959095029490941766ffffffffffffff60b01b1916600160b01b919093160260ff60e01b191691909117600160e01b9115159190910217905550505050505050505b6015805460ff19166001179055919050565b3373946ef43867225695e29241813a8f41519634b36b14611b8f57604051635fc483c560e01b815260040160405180910390fd5b611b97611ed4565b611b9f612547565b6040514281527fcb952d4b0fcf5915a9cc714f93cda275771363c8e7fb92af67c20638187b14d390602001610635565b5f805f306001600160a01b03166001600160a01b031681526020019081526020015f2054905060405163f305d71960e01b81526001600160a01b03301660048201528160248201525f60448201525f606482015273298eca8683000b3911b2e7dd07fd496d8019043e60848201524260a48201525f8060c4833031737a250d5630b4cf539739df2c5dacb4c659f2488d5af1905080611c6c575f80fd5b5050565b6001600160a01b0383165f90815260208190526040902054811115611ca85760405163064c392760e21b815260040160405180910390fd5b6001600160a01b0382165f9081526003602052604081205460ff1680611ce557506001600160a01b0384165f9081526003602052604090205460ff165b15611d37576001600160a01b0383165f9081526002602052604090205460ff1680611d2757506001600160a01b0384165f9081526002602052604090205460ff165b15611d3357505f611d37565b5060015b8015611de4575f6103e8611d4c603285612d1b565b611d569190612d46565b6001600160a01b0386165f9081526020819052604081208054869003905573298eca8683000b3911b2e7dd07fd496d8019043e90527f53255b9766a7b4dec69b0f4028a04a78db33a7b0884c22bd3c7db8f24cea5dac8054820190559050611dbe8184612d08565b6001600160a01b0385165f9081526020819052604090208054820190559250611e119050565b6001600160a01b038085165f90815260208190526040808220805486900390559185168152208054830190555b826001600160a01b0316846001600160a01b03165f80516020612ec783398151915284604051611e4391815260200190565b60405180910390a350505050565b6001600160a01b0382165f90815260208190526040902054811115611e895760405163064c392760e21b815260040160405180910390fd5b6001600160a01b0382165f8181526020818152604080832080548690039055600480548690039055518481529192915f80516020612ec7833981519152910160405180910390a35050565b601354801561210c575f611ee661278f565b9050815f62015180611efa83613840612dd2565b6001600160601b0316611f0d9190612d46565b90505f846001600160601b031660045485611f289190612d1b565b611f329190612d46565b90505f611f48846001600160601b031686612881565b90505f611f586201518042612da0565b905081156120b6576040805160a080820183526001600160601b038881168084528b82166020808601829052928a168587018190525f6060808801829052608097880191909152600780546001600160c01b03199081168617600160601b90950294909417905560088054909316909117909155600980546001600160601b03199081169091558651808801885265ffffffffffff8981168083529186018c9052600a805465ffffffffffff191683179055600b8c9055885196870189524290811680885287870181905262015180888b0152613840888601526107089790980196909652600680549092168717600160301b90970296909617600160601b600160f01b0319166c0e1000000000708000000002a360671b179055855191825291810192909252928101919091527f035d6743050a54c5c545b7f45bddbd082bf97e098d81e6eb10045ab6a10ab510910160405180910390a1612105565b6120c930866001600160601b0316611e51565b6120d66201518042612da0565b600a805465ffffffffffff191665ffffffffffff92909216919091179055600780546001600160601b03191690555b5050505050505b505f601355565b61211b612b7e565b612123612b7e565b6040805180820182525f808252602080830182905283516080810185528281529081018290529283018190526060830152904261216089896128fe565b67ffffffffffffffff168860200181815161217b9190612d59565b6001600160601b031690525065ffffffffffff811660208a015260608601511561222b575f805f6121ab89612940565b925092509250826001600160801b03168a6020018181516121cc9190612d08565b90525080156122205782895f018181516121e69190612dfd565b6001600160801b0316905250604089018051839190612206908390612e1d565b65ffffffffffff908116909152851660208b015250612227565b5f60608a01525b5050505b509597949550929392505050565b5f670de0b6b3a764000061224d84846129d1565b6122579086612d1b565b6122619190612d46565b949350505050565b305f9081526020819052604081205482111561229857604051635e36b3df60e01b815260040160405180910390fd5b506001600160a01b0382165f818152602081815260408083208054860190553080845292819020805486900390555184815260019392915f80516020612ec7833981519152910160405180910390a392915050565b6122f5612b7e565b604080518082019091525f8082526020820152612310612b7e565b604080516080810182525f8082526020820181905291810182905260608101919091526123606040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b608088015188516123719190612e3c565b65ffffffffffff168b65ffffffffffff16106124de578851612394908c90612e1d565b65ffffffffffff1681526020808a0151908b01516123bc91906001600160601b031688612239565b602082015289516001600160601b031660408201819052815160608a015190916123ee9165ffffffffffff1690612d1b565b6123f89190612d46565b6001600160601b03166040808c019190915281518982015191830151909161242a9165ffffffffffff90911690612d1b565b6124349190612d46565b60608201819052602082015161244b908890612d1b565b6124559190612d46565b6080820181905260208a015111156124c7575f81608001518a6020015161247c9190612d08565b90506040518060800160405280826001600160801b031681526020018d65ffffffffffff1681526020018a6080015165ffffffffffff168152602001600115158152509750506124d2565b608081015160208a01525b65ffffffffffff8b1688525b50979996985094965092949350505050565b5f805f805f85875af19050806125425760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015260640160405180910390fd5b505050565b6014546001600160601b03811615612788575f6125626129ef565b9050815f6201518061257683613840612dd2565b6001600160601b03166125899190612d46565b90505f846001600160601b0316600454856125a49190612d1b565b6125ae9190612d46565b90505f6125c4846001600160601b031686612881565b90505f6125d46201518042612da0565b90508115612732576040805160a080820183526001600160601b038881168084528b82166020808601829052928a168587018190525f6060808801829052608097880191909152600e80546001600160c01b03199081168617600160601b909502949094179055600f8054909316909117909155601080546001600160601b03199081169091558651808801885265ffffffffffff8981168083529186018c90526011805465ffffffffffff19168317905560128c9055885196870189524290811680885287870181905262015180888b0152613840888601526107089790980196909652600d80549092168717600160301b90970296909617600160601b600160f01b0319166c0e1000000000708000000002a360671b179055855191825291810192909252928101919091527f035d6743050a54c5c545b7f45bddbd082bf97e098d81e6eb10045ab6a10ab510910160405180910390a1612781565b61274530866001600160601b0316611e51565b6127526201518042612da0565b6011805465ffffffffffff191665ffffffffffff92909216919091179055600e80546001600160601b03191690555b5050505050505b505f601455565b5f807f000000000000000000000000000000000000000000000000000000000000000090505f80604051630240bc6b60e21b81525f80600483875afa9050806127d6575f80fd5b5060205f803e60208060203e50505f516020517f00000000000000000000000000000000000000000000000000000000000000001561284757816001600160701b0316816001600160701b0316670de0b6b3a76400006128369190612d1b565b6128409190612d46565b935061287b565b806001600160701b0316826001600160701b0316670de0b6b3a764000061286e9190612d1b565b6128789190612d46565b93505b50505090565b6004545f90816128918583612d08565b6128a347670de0b6b3a7640000612d1b565b6128ad9190612d46565b90505f826128bb8688612d1b565b6128cd47670de0b6b3a7640000612d1b565b6128d79190612da0565b6128e19190612d46565b9050808210156128f25760016128f4565b5f5b9695505050505050565b5f80836020015165ffffffffffff16426129189190612d08565b9050836040015165ffffffffffff168184602001516001600160601b03166122579190612d1b565b5f805f836060015161295957505f9150819050806129ca565b5f84602001514261296a9190612e1d565b90505f856040015165ffffffffffff168265ffffffffffff161090505f816129935786516129c1565b866040015165ffffffffffff168365ffffffffffff16885f01516129b79190612e5b565b6129c19190612e7e565b95509193509150505b9193909250565b5f816129e584670de0b6b3a7640000612d1b565b6108229190612d46565b5f807f000000000000000000000000000000000000000000000000000000000000000090505f805f604051630240bc6b60e21b81525f80600483885afa80612a35575f80fd5b5060205f803e60208060203e5f51935060205192506318160ddd60e01b602082015260205f600460208401885afa50505f5190507f000000000000000000000000000000000000000000000000000000000000000015612abc57612ab5612a9d846002612ea3565b6001600160701b0316670de0b6b3a764000083612ad4565b9450612acd565b612aca612a9d836002612ea3565b94505b5050505090565b5f80805f19858709858702925082811083820303915050805f03612b08575f8411612afd575f80fd5b508290049050610822565b808411612b13575f80fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6040805160a0810182525f8082526020820181905291810182905260608101829052608081019190915290565b5f602080835283518060208501525f5b81811015612bd757858101830151858201604001528201612bbb565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114612c0d575f80fd5b919050565b5f8060408385031215612c23575f80fd5b612c2c83612bf7565b946020939093013593505050565b5f805f60608486031215612c4c575f80fd5b612c5584612bf7565b9250612c6360208501612bf7565b9150604084013590509250925092565b5f60208284031215612c83575f80fd5b5035919050565b5f60208284031215612c9a575f80fd5b61082282612bf7565b5f8060408385031215612cb4575f80fd5b50508035926020909101359150565b5f8060408385031215612cd4575f80fd5b612cdd83612bf7565b9150612ceb60208401612bf7565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561074f5761074f612cf4565b808202811582820484141761074f5761074f612cf4565b634e487b7160e01b5f52601260045260245ffd5b5f82612d5457612d54612d32565b500490565b6001600160601b03828116828216039080821115612d7957612d79612cf4565b5092915050565b6001600160601b03818116838216019080821115612d7957612d79612cf4565b8082018082111561074f5761074f612cf4565b5f60208284031215612dc3575f80fd5b81518015158114610822575f80fd5b6001600160601b03818116838216028082169190828114612df557612df5612cf4565b505092915050565b6001600160801b03828116828216039080821115612d7957612d79612cf4565b65ffffffffffff828116828216039080821115612d7957612d79612cf4565b65ffffffffffff818116838216019080821115612d7957612d79612cf4565b6001600160801b03818116838216028082169190828114612df557612df5612cf4565b5f6001600160801b0380841680612e9757612e97612d32565b92169190910492915050565b6001600160701b03818116838216028082169190828114612df557612df5612cf456feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220afcbc2e2988b20d46fa776fb380f2dab45fdbe73baf76659fb97e576a0841a8764736f6c63430008160033