3 txs
7 calls
We do not have the source code for this contract. Sorry for the inconvenience.
We do not have the verified ABI for this contract. Here's what we could infer from the runtime bytecode by using WhatsABI:
functions
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
events
event signature unknown
event signature unknown
event signature unknown
event signature unknown
event signature unknown
event signature unknown
event signature unknown
event signature unknown
event signature unknown
event signature unknown
event signature unknown
event signature unknown
event signature unknown
creation bytecode
0x60a0604052601480546001600160a01b031916734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b1790553480156200003757600080fd5b506040516200654f3803806200654f8339810160408190526200005a91620007f9565b858585858584848484848484848281816200007533620002a7565b60005b8151811015620000c457620000af8282815181106200009b576200009b620009d2565b6020026020010151620002d160201b60201c565b80620000bb81620009e8565b91505062000078565b50506001600160a01b031660805250620000de826200033e565b5050600480546001600160a01b0319166001600160a01b0385161790555060005b8151518110156200022d57600082600001518281518110620001255762000125620009d2565b60200260200101519050620001e581846020015184815181106200014d576200014d620009d2565b6020026020010151856040015185815181106200016e576200016e620009d2565b6020026020010151866060015186815181106200018f576200018f620009d2565b602002602001015187608001518781518110620001b057620001b0620009d2565b60200260200101518860c001518881518110620001d157620001d1620009d2565b60200260200101516200036a60201b60201c565b62000217818460a001518481518110620002035762000203620009d2565b60200260200101516200040d60201b60201c565b50806200022481620009e8565b915050620000ff565b506040517f3b995fb49557022d683e66ab27e0339ab7db40111da9b4f57765b99e20f7868690600090a16040517f12612b4cfd87890ccdf24e503844cdea2b9f202e15478fba07494566b0f8a0e190600090a1505050505050505050506200029b816200043b60201b60201c565b50505050505062000a10565b600180546001600160a01b0319169055620002ce816200048c602090811b620031e917901c565b50565b620002db620004dc565b604051600181526001600160a01b038216907f9fdbc2d48b8a0db2f62663bf9312ad02f5b1f6414ad600b55a247d09aeec3ea29060200160405180910390a26001600160a01b03166000908152600260205260409020805460ff19166001179055565b62000348620004dc565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03868116600090815260056020908152604080832080546001600160a01b031916948a1694909417909355600681529190208551620003b3928701906200053d565b506001600160a01b039095166000908152600760209081526040808320805495151560ff1996871617905560088252808320805494151594861694909417909355600a905220805494151594909116939093179092555050565b6001600160a01b03918216600090815260096020526040902080546001600160a01b03191691909216179055565b62000445620004dc565b601280546001600160a01b0319166001600160a01b0383161790556040517f9a056ca8c33f44323535a7c4794504862710d030885538a3003234baa7fa874890600090a150565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031633146200053b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b565b82805482825590600052602060002090810192821562000595579160200282015b828111156200059557825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200055e565b50620005a3929150620005a7565b5090565b5b80821115620005a35760008155600101620005a8565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715620005f957620005f9620005be565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200062a576200062a620005be565b604052919050565b60006001600160401b038211156200064e576200064e620005be565b5060051b60200190565b6001600160a01b0381168114620002ce57600080fd5b80516200067b8162000658565b919050565b600082601f8301126200069257600080fd5b81516020620006ab620006a58362000632565b620005ff565b82815260059290921b84018101918181019086841115620006cb57600080fd5b8286015b84811015620006f3578051620006e58162000658565b8352918301918301620006cf565b509695505050505050565b600082601f8301126200071057600080fd5b8151602062000723620006a58362000632565b82815260059290921b840181019181810190868411156200074357600080fd5b8286015b84811015620006f35780516001600160401b03811115620007685760008081fd5b620007788986838b010162000680565b84525091830191830162000747565b600082601f8301126200079957600080fd5b81516020620007ac620006a58362000632565b82815260059290921b84018101918181019086841115620007cc57600080fd5b8286015b84811015620006f35780518015158114620007eb5760008081fd5b8352918301918301620007d0565b60008060008060008060c087890312156200081357600080fd5b86516001600160401b03808211156200082b57600080fd5b620008398a838b0162000680565b9750602089015191506200084d8262000658565b6040890151919650620008608262000658565b6060890151919550620008738262000658565b6080890151919450808211156200088957600080fd5b9088019060e0828b0312156200089e57600080fd5b620008a8620005d4565b825182811115620008b857600080fd5b620008c68c82860162000680565b825250602083015182811115620008dc57600080fd5b620008ea8c82860162000680565b6020830152506040830151828111156200090357600080fd5b620009118c828601620006fe565b6040830152506060830151828111156200092a57600080fd5b620009388c82860162000787565b6060830152506080830151828111156200095157600080fd5b6200095f8c82860162000787565b60808301525060a0830151828111156200097857600080fd5b620009868c82860162000680565b60a08301525060c0830151828111156200099f57600080fd5b620009ad8c82860162000787565b60c0830152509350620009c691505060a088016200066e565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b60006001820162000a0957634e487b7160e01b600052601160045260246000fd5b5060010190565b608051615b0e62000a416000396000818161091801528181611522015281816123a40152612da30152615b0e6000f3fe60806040526004361061038a5760003560e01c8063adc9772e116101da578063adc9772e14610881578063ae59ef9a146108a0578063af88dc47146108d0578063b381cf4014610906578063b61d27f61461093a578063b6703fcd1461094d578063b752c7631461096d578063b9c93c911461098d578063bb0eebf9146109ad578063c0973eed146109d2578063c2a672e014610881578063c42fa7f4146109e7578063c43d14cf14610a07578063c4e2c1e614610a27578063cf6c62ea14610a47578063d0a534b914610a67578063da1c755014610a7d578063da3b3e0714610a9d578063da3e339714610abd578063dbf186df14610add578063dc21545e14610afd578063dcaaa61b14610b2d578063ddf4078414610b4d578063e18b702914610b6d578063e23e87e014610757578063e30c397814610b82578063e676ea9514610b97578063e6a6e7a214610bcd578063ea2c130a14610bed578063eaafe24714610c0d578063ec21145a14610c3d578063ed1c1e0014610cbd578063f2a38f6514610cdd578063f2fde38b14610cfd578063f3fef3a314610d1d578063f65baefa14610d3d578063f7888aec14610d52578063fa09e63014610d72578063feb9435e14610d92578063ffa1ad7414610db257600080fd5b8062241efe14610396578062eb8ba4146103b8578063077d97d7146103eb578063087ed837146103fe5780631150511914610420578063125d9484146104555780631dbdd903146104755780631ea68c001461049b5780631f5a0bbe146104c8578063220cce97146104e857806324788429146104fd5780633419ba231461051d57806334b10a6d1461053d578063372500ab1461055d5780633ee7f9d314610580578063402bcfbd146105a0578063499e2319146105c05780634dc92fd4146105d55780634eb03f6e146105f557806356912b4f1461061557806358e331371461063a578063680580bb146104755780636a6278421461064f5780636a6617641461066d5780636d67436c1461068d578063715018a6146106ad57806371cbbd6b146106c257806379ba5097146106e257806379ee54f7146106f75780637e55cc96146107175780637f371461146107375780638d0793b7146107575780638da5cb5b1461077e5780639169d8331461079357806392dce0a3146107b357806393f8bf0d146107d157806397c67f32146108115780639ac2a011146108315780639e546c381461086157600080fd5b3661039157005b600080fd5b3480156103a257600080fd5b506103b66103b1366004614936565b610de6565b005b3480156103c457600080fd5b506103d86103d3366004614a2c565b610e77565b6040519081526020015b60405180910390f35b6103b66103f9366004614ab0565b610f31565b34801561040a57600080fd5b5061041361109e565b6040516103e29190614b8d565b34801561042c57600080fd5b5061044873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6040516103e29190614ba0565b34801561046157600080fd5b506103b6610470366004614bb4565b61114a565b34801561048157600080fd5b506103d8610490366004614bd1565b600095945050505050565b3480156104a757600080fd5b506104bb6104b6366004614c92565b61119e565b6040516103e29190614d08565b3480156104d457600080fd5b506103b66104e3366004614bb4565b611385565b3480156104f457600080fd5b506104486113de565b34801561050957600080fd5b506103b6610518366004614bb4565b611459565b34801561052957600080fd5b506103b6610538366004614a2c565b6114af565b34801561054957600080fd5b506103b6610558366004614d1b565b6114c3565b34801561056957600080fd5b50610572611589565b6040516103e2929190614d34565b34801561058c57600080fd5b506103d861059b366004614d59565b61172b565b3480156105ac57600080fd5b506103d86105bb366004614d9f565b611a86565b3480156105cc57600080fd5b50610413611af1565b3480156105e157600080fd5b506103b66105f0366004614df0565b611b2b565b34801561060157600080fd5b506103b6610610366004614bb4565b611c8a565b34801561062157600080fd5b506103d8610630366004614e12565b6000949350505050565b34801561064657600080fd5b506103d8611cb4565b34801561065b57600080fd5b506103b661066a366004614bb4565b50565b34801561067957600080fd5b506103b6610688366004614ef0565b611d2f565b34801561069957600080fd5b506103d86106a8366004614f9a565b611e9f565b3480156106b957600080fd5b506103b6611fe8565b3480156106ce57600080fd5b506103d86106dd366004614ff2565b611ffc565b3480156106ee57600080fd5b506103b6612069565b34801561070357600080fd5b506103b6610712366004614bb4565b6120e4565b34801561072357600080fd5b50610572610732366004614d1b565b61219f565b34801561074357600080fd5b506103b6610752366004614df0565b612256565b34801561076357600080fd5b506103d8610772366004615051565b60009695505050505050565b34801561078a57600080fd5b5061044861234a565b34801561079f57600080fd5b506103b66107ae366004614d1b565b612359565b3480156107bf57600080fd5b506104486107ce366004614bb4565b90565b3480156107dd57600080fd5b506108016107ec366004614bb4565b600b6020526000908152604090205460ff1681565b60405190151581526020016103e2565b34801561081d57600080fd5b506103d861082c366004614d9f565b612419565b34801561083d57600080fd5b5061080161084c366004614bb4565b60026020526000908152604090205460ff1681565b34801561086d57600080fd5b506103d861087c366004614bb4565b61247e565b34801561088d57600080fd5b506103b661089c3660046150c1565b5050565b3480156108ac57600080fd5b506108016108bb366004614bb4565b60086020526000908152604090205460ff1681565b3480156108dc57600080fd5b506104486108eb366004614bb4565b6005602052600090815260409020546001600160a01b031681565b34801561091257600080fd5b506104487f000000000000000000000000000000000000000000000000000000000000000081565b6103b66109483660046150ed565b6124fb565b34801561095957600080fd5b506103b6610968366004614a2c565b612588565b34801561097957600080fd5b50610413610988366004614bb4565b6125ad565b34801561099957600080fd5b506103b66109a8366004614d1b565b612623565b3480156109b957600080fd5b506104bb6109c8366004615175565b6060949350505050565b3480156109de57600080fd5b5061044861269d565b3480156109f357600080fd5b50610448610a023660046150c1565b6126d7565b348015610a1357600080fd5b50601454610448906001600160a01b031681565b348015610a3357600080fd5b506103b6610a423660046151e0565b61270f565b348015610a5357600080fd5b506103d8610a62366004614d59565b612722565b348015610a7357600080fd5b506103d860135481565b348015610a8957600080fd5b506103b6610a98366004614bb4565b612873565b348015610aa957600080fd5b50601254610448906001600160a01b031681565b348015610ac957600080fd5b506103b6610ad8366004615222565b6128c2565b348015610ae957600080fd5b506103d8610af8366004615263565b6128d5565b348015610b0957600080fd5b50610801610b18366004614bb4565b600a6020526000908152604090205460ff1681565b348015610b3957600080fd5b506103b6610b48366004614bb4565b612966565b348015610b5957600080fd5b506104bb610b683660046152bc565b6129ab565b348015610b7957600080fd5b506103d8612cd4565b348015610b8e57600080fd5b50610448612d0e565b348015610ba357600080fd5b50610448610bb2366004614bb4565b6009602052600090815260409020546001600160a01b031681565b348015610bd957600080fd5b506103d8610be8366004614d1b565b612d1d565b348015610bf957600080fd5b506103d8610c08366004615263565b612f12565b348015610c1957600080fd5b50610801610c28366004614bb4565b60076020526000908152604090205460ff1681565b348015610c4957600080fd5b50600c54600d54600e5460408051606081018252600f5460ff818116151583526101009091046001600160a01b039081166020840152601054811693830193909352601154610cab9684169580851695600160a01b9091048316941692911686565b6040516103e29695949392919061532a565b348015610cc957600080fd5b50600454610448906001600160a01b031681565b348015610ce957600080fd5b506103b6610cf8366004614a2c565b612f96565b348015610d0957600080fd5b506103b6610d18366004614bb4565b612ff9565b348015610d2957600080fd5b506103b6610d383660046150c1565b61305f565b348015610d4957600080fd5b50610572613072565b348015610d5e57600080fd5b506103d8610d6d366004614a2c565b6130f9565b348015610d7e57600080fd5b506103b6610d8d366004614bb4565b613169565b348015610d9e57600080fd5b506104bb610dad3660046153a4565b613189565b348015610dbe57600080fd5b5060408051808201825260058152640312e302e360dc1b602082015290516103e2919061541e565b33610def61234a565b6001600160a01b03161480610e1357503360009081526002602052604090205460ff165b610e385760405162461bcd60e51b8152600401610e2f90615451565b60405180910390fd5b610e46868686868686613239565b6040517f3b995fb49557022d683e66ab27e0339ab7db40111da9b4f57765b99e20f7868690600090a1505050505050565b6000805b6001600160a01b038416600090815260066020526040902054811015610efd576001600160a01b03848116600090815260066020526040902080549185169183908110610eca57610eca615497565b6000918252602090912001546001600160a01b031603610eeb579050610f2b565b80610ef5816154c3565b915050610e7b565b5060405162461bcd60e51b8152602060048201526002602482015261413160f01b6044820152606401610e2f565b92915050565b610f396132da565b8483148015610f4757508481145b610f8f5760405162461bcd60e51b8152602060048201526019602482015278082e4ceeadacadce8e640d8cadccee8d040dad2e6dac2e8c6d603b1b6044820152606401610e2f565b60005b8581101561109557600080888884818110610faf57610faf615497565b9050602002016020810190610fc49190614bb4565b6001600160a01b0316878785818110610fdf57610fdf615497565b90506020020135868686818110610ff857610ff8615497565b905060200281019061100a91906154dc565b604051611018929190615522565b60006040518083038185875af1925050503d8060008114611055576040519150601f19603f3d011682016040523d82523d6000602084013e61105a565b606091505b509150915081819061107f5760405162461bcd60e51b8152600401610e2f919061541e565b505050808061108d906154c3565b915050610f92565b50505050505050565b6060736a4c81bd338d34361c8351d651c1ad0d7f4adcaf63bb4630c0306110c3613339565b600f5460ff166040516001600160e01b031960e086901b1681526001600160a01b0390931660048401529015156024830152151560448201526064015b600060405180830381865af415801561111d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111459190810190615596565b905090565b6111526132da565b6001600160a01b0381166000818152600b6020908152604091829020805460ff191660019081179091559151918252600080516020615ab983398151915291015b60405180910390a250565b6060336111a961234a565b6001600160a01b031614806111cd57503360009081526002602052604090205460ff165b6111e95760405162461bcd60e51b8152600401610e2f90615451565b600c546001600160a01b03166112115760405162461bcd60e51b8152600401610e2f906155ca565b600c546001600160a01b03166000908152600660205260409020546001600160401b03811115611243576112436148b4565b60405190808252806020026020018201604052801561126c578160200160208202803683370190505b509050600061128261127c611cb4565b85613349565b9050611290600f5460ff1690565b156112e857600061129f613368565b90506112c48482815181106112b6576112b6615497565b60200260200101518361339d565b8382815181106112d6576112d6615497565b6020026020010181815250505061136a565b6112f0613339565b15611306576112ff83826133cf565b915061136a565b600c54600e54600091611325916001600160a01b039182169116610e77565b905061134a84828151811061133c5761133c615497565b6020026020010151836133f0565b83828151811061135c5761135c615497565b602002602001018181525050505b60115460ff161561137e5761137e47612359565b5092915050565b61138d6132da565b604051600181526001600160a01b03821690600080516020615a998339815191529060200160405180910390a26001600160a01b03166000908152600260205260409020805460ff19166001179055565b6040516328fcdea560e01b815260009073a645510f71a913d28c2bff51ac373f37351fab77906328fcdea590611418903090600401614ba0565b602060405180830381865af4158015611435573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114591906155e6565b6114616132da565b604051600081526001600160a01b03821690600080516020615a998339815191529060200160405180910390a26001600160a01b03166000908152600260205260409020805460ff19169055565b6114b76132da565b61089c82826000613417565b336114cc61234a565b6001600160a01b031614806114f057503360009081526002602052604090205460ff165b61150c5760405162461bcd60e51b8152600401610e2f90615451565b604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561156e57600080fd5b505af1158015611582573d6000803e3d6000fd5b5050505050565b6060803361159561234a565b6001600160a01b031614806115b957503360009081526002602052604090205460ff165b6115d55760405162461bcd60e51b8152600401610e2f90615451565b600c546001600160a01b03166115fd5760405162461bcd60e51b8152600401610e2f906155ca565b611605611af1565b915081516001600160401b03811115611620576116206148b4565b604051908082528060200260200182016040528015611649578160200160208202803683370190505b50905060005b82518110156116a95761167a83828151811061166d5761166d615497565b602002602001015161247e565b82828151811061168c5761168c615497565b6020908102919091010152806116a1816154c3565b91505061164f565b506116b2613509565b60005b8251811015611726578181815181106116d0576116d0615497565b60200260200101516116ed84838151811061166d5761166d615497565b6116f79190615603565b82828151811061170957611709615497565b60209081029190910101528061171e816154c3565b9150506116b5565b509091565b60003361173661234a565b6001600160a01b0316148061175a57503360009081526002602052604090205460ff165b6117765760405162461bcd60e51b8152600401610e2f90615451565b6001600160a01b0385166000908152600b602052604090205460ff166117ae5760405162461bcd60e51b8152600401610e2f9061561a565b6001600160a01b03858116600090815260096020526040812054909116156117f0576001600160a01b03808716600090815260096020526040902054166117f2565b855b905060006118008787610e77565b9050600061180d8761247e565b6001600160a01b03891660009081526008602090815260408083205460079092529091205491925060ff9081169116156118f75780156118bc57604051638f15b6b560e01b8152600481018890526024810184905260448101879052600160648201526001600160a01b03851690638f15b6b5906084015b600060405180830381600087803b15801561189f57600080fd5b505af11580156118b3573d6000803e3d6000fd5b505050506119ae565b60405163f1dc3cc960e01b81526004810188905260248101849052604481018790526001600160a01b0385169063f1dc3cc990606401611885565b80156119425760405163517a55a360e01b815260048101889052600f84900b602482015260448101879052600160648201526001600160a01b0385169063517a55a390608401611885565b604051630d2680e960e11b815260048101889052600f84900b6024820152604481018790526001600160a01b03851690631a4d01d290606401600060405180830381600087803b15801561199557600080fd5b505af11580156119a9573d6000803e3d6000fd5b505050505b6000826119ba8a61247e565b6119c49190615603565b6001600160a01b038b16600090815260066020526040812054919250816001600160401b038111156119f8576119f86148b4565b604051908082528060200260200182016040528015611a21578160200160208202803683370190505b50905082818781518110611a3757611a37615497565b6020026020010181815250508b6001600160a01b0316600080516020615a79833981519152828c604051611a6c929190615636565b60405180910390a25090955050505050505b949350505050565b600033611a9161234a565b6001600160a01b03161480611ab557503360009081526002602052604090205460ff165b611ad15760405162461bcd60e51b8152600401610e2f90615451565b611adb8385611b2b565b611ae78686868561172b565b9695505050505050565b60405163234b8d7d60e11b815260609073a645510f71a913d28c2bff51ac373f37351fab77906346971afa90611100903090600401614ba0565b33611b3461234a565b6001600160a01b03161480611b5857503360009081526002602052604090205460ff165b611b745760405162461bcd60e51b8152600401610e2f90615451565b601254604051631526fe2760e01b8152600481018490526000916001600160a01b031690631526fe279060240160c060405180830381865afa158015611bbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be29190615658565b6060810151604051636197390160e11b815260048101859052600160248201529192506001600160a01b03169063c32e7202906044016020604051808303816000875af1158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b91906156f6565b506040517f7538eecf48bef0887a2f7b5220dd296796c65ac536b1ab713d97aa41446e1fa590600090a1505050565b611c926132da565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60405163fab15f2760e01b815260009073a645510f71a913d28c2bff51ac373f37351fab779063fab15f2790611cee903090600401614ba0565b602060405180830381865af4158015611d0b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111459190615713565b33611d3861234a565b6001600160a01b03161480611d5c57503360009081526002602052604090205460ff165b611d785760405162461bcd60e51b8152600401610e2f90615451565b8051600c80546001600160a01b039283166001600160a01b03199182161782556020840151600d8054919094169181168217845560408501518594909290916001600160a81b03191617600160a01b836006811115611dd957611dd9615314565b021790555060608201516002820180546001600160a01b03199081166001600160a01b03938416179091556080840151805160038501805460208401516001600160a81b0319909116921515610100600160a81b0319169290921761010092861692909202919091179055604090810151600485018054909316931692909217905560a0909201516005909101805460ff1916911515919091179055517f4f69b8ffd85964c34f21936e1baae46e323dde164a4537df2c6c4d662b00a66790600090a150565b600033611eaa61234a565b6001600160a01b03161480611ece57503360009081526002602052604090205460ff165b611eea5760405162461bcd60e51b8152600401610e2f90615451565b6001600160a01b0384166000908152600b602052604090205460ff16611f225760405162461bcd60e51b8152600401610e2f9061561a565b6000805b6001600160a01b038616600090815260066020526040902054811015611fd0576001600160a01b0386166000908152600660205260409020805473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee919083908110611f8757611f87615497565b6000918252602090912001546001600160a01b031603611fbe57848181518110611fb357611fb3615497565b602002602001015191505b80611fc8816154c3565b915050611f26565b50611fdd85858386613582565b9150505b9392505050565b611ff06132da565b611ffa60006136ba565b565b60003361200761234a565b6001600160a01b0316148061202b57503360009081526002602052604090205460ff165b6120475760405162461bcd60e51b8152600401610e2f90615451565b6000612054868685611e9f565b90506120608482612256565b95945050505050565b3380612073612d0e565b6001600160a01b0316146120db5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610e2f565b61066a816136ba565b336120ed61234a565b6001600160a01b0316148061211157503360009081526002602052604090205460ff165b61212d5760405162461bcd60e51b8152600401610e2f90615451565b604051637050ccd960e01b81526001600160a01b03821690637050ccd99061215c90309060019060040161572c565b6020604051808303816000875af115801561217b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089c91906156f6565b606080736a4c81bd338d34361c8351d651c1ad0d7f4adcaf6388b55a0f306121c5613339565b600f5460ff166040516001600160e01b031960e086901b1681526001600160a01b03909316600484015290151560248301521515604482015260648101869052608401600060405180830381865af4158015612225573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261224d9190810190615747565b91509150915091565b3361225f61234a565b6001600160a01b0316148061228357503360009081526002602052604090205460ff165b61229f5760405162461bcd60e51b8152600401610e2f90615451565b6012546040516321d0683360e11b81526004810184905260248101839052600160448201526001600160a01b03909116906343a0d066906064016020604051808303816000875af11580156122f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231c91906156f6565b506040517fde20bc92f9195457f9ba0ec9258c42c0814617c756a597287307a20494e8399290600090a15050565b6000546001600160a01b031690565b3361236261234a565b6001600160a01b0316148061238657503360009081526002602052604090205460ff165b6123a25760405162461bcd60e51b8152600401610e2f90615451565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156123fd57600080fd5b505af1158015612411573d6000803e3d6000fd5b505050505050565b60003361242461234a565b6001600160a01b0316148061244857503360009081526002602052604090205460ff165b6124645760405162461bcd60e51b8152600401610e2f90615451565b600061247287878786612722565b9050611ae78482612256565b60405163983bc49d60e01b81526000907396d3c443659641267e05be707296e105ac990cb99063983bc49d906124ba9030908690600401615801565b602060405180830381865af41580156124d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2b9190615713565b6125036132da565b600080856001600160a01b0316858585604051612521929190615522565b60006040518083038185875af1925050503d806000811461255e576040519150601f19603f3d011682016040523d82523d6000602084013e612563565b606091505b50915091508181906110955760405162461bcd60e51b8152600401610e2f919061541e565b6125906132da565b600061259b836136d3565b90506125a883828461375d565b505050565b6001600160a01b03811660009081526006602090815260409182902080548351818402810184019094528084526060939283018282801561261757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116125f9575b50505050509050919050565b3361262c61234a565b6001600160a01b0316148061265057503360009081526002602052604090205460ff165b61266c5760405162461bcd60e51b8152600401610e2f90615451565b60138190556040517fab5f3f7b5d27c6619048c6c29246cbef59841ca4e33ea2c02fbafff1405eff7790600090a150565b60405163952db31f60e01b815260009073a645510f71a913d28c2bff51ac373f37351fab779063952db31f90611418903090600401614ba0565b600660205281600052604060002081815481106126f357600080fd5b6000918252602090912001546001600160a01b03169150829050565b6127176132da565b6125a883838361375d565b60003361272d61234a565b6001600160a01b0316148061275157503360009081526002602052604090205460ff165b61276d5760405162461bcd60e51b8152600401610e2f90615451565b6001600160a01b0385166000908152600b602052604090205460ff166127a55760405162461bcd60e51b8152600401610e2f9061561a565b60006001600160a01b03851673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146127d25760006127d4565b835b6001600160a01b038716600090815260066020526040812054919250906001600160401b03811115612808576128086148b4565b604051908082528060200260200182016040528015612831578160200160208202803683370190505b50905084816128408989610e77565b8151811061285057612850615497565b60200260200101818152505061286887828487613582565b979650505050505050565b61287b6132da565b601280546001600160a01b0319166001600160a01b0383161790556040517f9a056ca8c33f44323535a7c4794504862710d030885538a3003234baa7fa874890600090a150565b6128ca6132da565b6125a8838383613417565b6000336128e061234a565b6001600160a01b0316148061290457503360009081526002602052604090205460ff165b6129205760405162461bcd60e51b8152600401610e2f90615451565b6001600160a01b038083166000908152600560205260408120549091169061294b8983898985611a86565b90506129598489838861172b565b9998505050505050505050565b61296e6132da565b6001600160a01b0381166000818152600b60209081526040808320805460ff1916905551918252600080516020615ab98339815191529101611193565b6060336129b661234a565b6001600160a01b031614806129da57503360009081526002602052604090205460ff165b6129f65760405162461bcd60e51b8152600401610e2f90615451565b6001600160a01b0384166000908152600b602052604090205460ff16612a2e5760405162461bcd60e51b8152600401610e2f9061561a565b6001600160a01b03841660009081526006602052604081205490816001600160401b03811115612a6057612a606148b4565b604051908082528060200260200182016040528015612a89578160200160208202803683370190505b50905060005b82811015612b0f576001600160a01b03871660009081526006602052604090208054612ae0919083908110612ac657612ac6615497565b6000918252602090912001546001600160a01b031661247e565b828281518110612af257612af2615497565b602090810291909101015280612b07816154c3565b915050612a8f565b506001600160a01b0386166000908152600a602052604090205460ff1615612b4157612b3c86868661390f565b612bbb565b81600203612b5457612b3c8686866139bc565b81600303612b6757612b3c868686613b6a565b81600403612b7a57612b3c868686613cdd565b60405162461bcd60e51b815260206004820152601660248201527526b4b9b9b4b7339034b6b83632b6b2b73a30ba34b7b760511b6044820152606401610e2f565b6000826001600160401b03811115612bd557612bd56148b4565b604051908082528060200260200182016040528015612bfe578160200160208202803683370190505b50905060005b83811015612c9857828181518110612c1e57612c1e615497565b6020026020010151612c5f600660008b6001600160a01b03166001600160a01b031681526020019081526020016000208381548110612ac657612ac6615497565b612c699190615603565b828281518110612c7b57612c7b615497565b602090810291909101015280612c90816154c3565b915050612c04565b50866001600160a01b0316600080516020615a798339815191528288604051612cc2929190615636565b60405180910390a29695505050505050565b6040516367e6d4ff60e01b815260009073a645510f71a913d28c2bff51ac373f37351fab77906367e6d4ff90611cee903090600401614ba0565b6001546001600160a01b031690565b600033612d2861234a565b6001600160a01b03161480612d4c57503360009081526002602052604090205460ff165b612d685760405162461bcd60e51b8152600401610e2f90615451565b600c546001600160a01b0316612d905760405162461bcd60e51b8152600401610e2f906155ca565b60115460ff1615612dc757612dc76105587f000000000000000000000000000000000000000000000000000000000000000061247e565b600f5460ff1615612df257601054610f2b908390612ded906001600160a01b031661247e565b613e85565b612dfa613339565b15612eed57600c546001600160a01b03166000908152600660205260408120546001600160401b03811115612e3157612e316148b4565b604051908082528060200260200182016040528015612e5a578160200160208202803683370190505b50905060005b600c546001600160a01b0316600090815260066020526040902054811015612ee257600c546001600160a01b031660009081526006602052604090208054612eb3919083908110612ac657612ac6615497565b828281518110612ec557612ec5615497565b602090810291909101015280612eda816154c3565b915050612e60565b50611fe18382613eb7565b600e54610f2b908390612f08906001600160a01b031661247e565b613ed8565b919050565b600033612f1d61234a565b6001600160a01b03161480612f4157503360009081526002602052604090205460ff165b612f5d5760405162461bcd60e51b8152600401610e2f90615451565b6001600160a01b0380831660009081526005602052604081205490911690612f8784898984612722565b90506129598983838989612419565b612f9e6132da565b6001600160a01b03808316600090815260096020526040902080546001600160a01b0319169183169190911790556040517f12612b4cfd87890ccdf24e503844cdea2b9f202e15478fba07494566b0f8a0e190600090a15050565b6130016132da565b600180546001600160a01b0319166001600160a01b03831690811790915561302761234a565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6130676132da565b61089c82823361375d565b606080736a4c81bd338d34361c8351d651c1ad0d7f4adcaf63de27b7c7306040518263ffffffff1660e01b81526004016130ac9190614ba0565b600060405180830381865af41580156130c9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130f19190810190615747565b915091509091565b6040516370a0823160e01b81526000906001600160a01b038416906370a0823190613128908590600401614ba0565b602060405180830381865afa158015613145573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe19190615713565b6131716132da565b600061317c826136d3565b905061089c82823361375d565b60603361319461234a565b6001600160a01b031614806131b857503360009081526002602052604090205460ff165b6131d45760405162461bcd60e51b8152600401610e2f90615451565b6131de8385611b2b565b6120608585846129ab565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03868116600090815260056020908152604080832080546001600160a01b031916948a1694909417909355600681529190208551613280928701906147c0565b506001600160a01b039095166000908152600760209081526040808320805495151560ff1996871617905560088252808320805494151594861694909417909355600a905220805494151594909116939093179092555050565b336132e361234a565b6001600160a01b031614611ffa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e2f565b600e546001600160a01b03161590565b6000670de0b6b3a764000061335e838561581b565b611fe1919061583a565b600c54600f5461010090046001600160a01b039081166000908152600560205260408120549092611145929081169116610e77565b600c54600e54601354600f54600093611fe1936001600160a01b039182169390821692879289916101009004166128d5565b600c54601354606091611fe1916001600160a01b0390911690849086613189565b600c54600e54601354600092611fe1926001600160a01b0391821692911690859087611a86565b80156134ad57604051636eb1769f60e11b815281906001600160a01b0385169063dd62ed3e9061344d9030908790600401615801565b602060405180830381865afa15801561346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061348e9190615713565b1061349857505050565b6134ad6001600160a01b038416836000613eff565b6134c16001600160a01b0384168383613eff565b826001600160a01b03167feded619173dbb378903f97d44ecec898a1c4876f445ae551e063113aef58b47183836040516134fc92919061585c565b60405180910390a2505050565b6135116113de565b6001600160a01b0316637050ccd93060016040518363ffffffff1660e01b815260040161353f92919061572c565b6020604051808303816000875af115801561355e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066a91906156f6565b6001600160a01b03808516600090815260056020526040812054909182916135aa911661247e565b6001600160a01b0387166000908152600a602052604090205490915060ff16156135df576135da86868686614039565b61363c565b6001600160a01b03861660009081526006602052604090205460028190036136125761360d878787876140e7565b61363a565b806003036136265761360d87878787614299565b80600403612b7a5761360d8787878761440f565b505b6001600160a01b038087166000908152600560205260409020548291613662911661247e565b61366c9190615603565b9150856001600160a01b03167fdf21883620cd435343a655a765cce604ee5e962b399aed0ebbbd63a9c7e570c486846040516136a9929190615636565b60405180910390a250949350505050565b600180546001600160a01b031916905561066a816131e9565b60006001600160a01b03821615613756576040516370a0823160e01b81526001600160a01b038316906370a0823190613710903090600401614ba0565b602060405180830381865afa15801561372d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137519190615713565b610f2b565b4792915050565b6001600160a01b0381166137a55760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610e2f565b60006137b0846136d3565b9050828110156137f75760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610e2f565b6001600160a01b0384166138a8576000826001600160a01b03168460405160006040518083038185875af1925050503d8060008114613852576040519150601f19603f3d011682016040523d82523d6000602084013e613857565b606091505b50509050806138a25760405162461bcd60e51b81526020600482015260176024820152762730ba34bb32903a3930b739b332b9103330b4b632b21760491b6044820152606401610e2f565b506138bc565b6138bc6001600160a01b03851683856145b9565b836001600160a01b0316826001600160a01b03167f9207361cc2a04b9c7a06691df1eb87c6a63957ae88bf01d0d18c81e3d12720998560405161390191815260200190565b60405180910390a350505050565b6001600160a01b0383811660009081526009602052604081205490911615613951576001600160a01b0380851660009081526009602052604090205416613953565b835b60405163350376e360e21b81529091506001600160a01b0382169063d40ddb8c906139849086908690600401615875565b600060405180830381600087803b15801561399e57600080fd5b505af11580156139b2573d6000803e3d6000fd5b5050505050505050565b6001600160a01b03838116600090815260096020526040812054909116156139fe576001600160a01b0380851660009081526009602052604090205416613a00565b835b9050613a0a614825565b82600081518110613a1d57613a1d615497565b602002602001015181600060028110613a3857613a38615497565b6020020152825183906001908110613a5257613a52615497565b602002602001015181600160028110613a6d57613a6d615497565b602090810291909101919091526001600160a01b03861660009081526008909152604090205460ff1615613b035760405163269b558160e01b81526001600160a01b0383169063269b558190613acc90879085906001906004016158b1565b600060405180830381600087803b158015613ae657600080fd5b505af1158015613afa573d6000803e3d6000fd5b50505050611582565b6040516316cd8e2760e21b81526001600160a01b03831690635b36389c90613b3190879085906004016158d5565b600060405180830381600087803b158015613b4b57600080fd5b505af1158015613b5f573d6000803e3d6000fd5b505050505050505050565b6001600160a01b0383811660009081526009602052604081205490911615613bac576001600160a01b0380851660009081526009602052604090205416613bae565b835b9050613bb8614843565b82600081518110613bcb57613bcb615497565b602002602001015181600060038110613be657613be6615497565b6020020152825183906001908110613c0057613c00615497565b602002602001015181600160038110613c1b57613c1b615497565b6020020152825183906002908110613c3557613c35615497565b602002602001015181600260038110613c5057613c50615497565b602090810291909101919091526001600160a01b03861660009081526008909152604090205460ff1615613caf57604051637e73239b60e11b81526001600160a01b0383169063fce6473690613acc908790859060019060040161590c565b60405163ecb586a560e01b81526001600160a01b0383169063ecb586a590613b319087908590600401615930565b6001600160a01b0383811660009081526009602052604081205490911615613d1f576001600160a01b0380851660009081526009602052604090205416613d21565b835b9050613d2b614861565b82600081518110613d3e57613d3e615497565b602002602001015181600060048110613d5957613d59615497565b6020020152825183906001908110613d7357613d73615497565b602002602001015181600160048110613d8e57613d8e615497565b6020020152825183906002908110613da857613da8615497565b602002602001015181600260048110613dc357613dc3615497565b6020020152825183906003908110613ddd57613ddd615497565b602002602001015181600360048110613df857613df8615497565b602090810291909101919091526001600160a01b03861660009081526008909152604090205460ff1615613e575760405163a692989560e01b81526001600160a01b0383169063a692989590613acc9087908590600190600401615967565b604051637d49d87560e01b81526001600160a01b03831690637d49d87590613b31908790859060040161598b565b600c54601054601354600f54600093611fe1936001600160a01b03918216939082169287928991610100900416612f12565b600c54601354600091611fe1916001600160a01b0390911690849086611ffc565b600c54600e54601354600092611fe1926001600160a01b0391821692911690859087612419565b801580613f785750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90613f359030908690600401615801565b602060405180830381865afa158015613f52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f769190615713565b155b613fe35760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610e2f565b6125a88363095ea7b360e01b848460405160240161400292919061585c565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526145d8565b6001600160a01b038481166000908152600960205260408120549091161561407b576001600160a01b038086166000908152600960205260409020541661407d565b845b9050806001600160a01b031663b72df5de8486856040518463ffffffff1660e01b81526004016140ae929190615636565b6000604051808303818588803b1580156140c757600080fd5b505af11580156140db573d6000803e3d6000fd5b50505050505050505050565b6140ef614825565b8360008151811061410257614102615497565b60200260200101518160006002811061411d5761411d615497565b602002015283518490600190811061413757614137615497565b60200260200101518160016002811061415257614152615497565b602090810291909101919091526001600160a01b03868116600090815260099092526040822054161561419f576001600160a01b03808716600090815260096020526040902054166141a1565b855b6001600160a01b03871660009081526008602052604090205490915060ff161561422f5760405163ee22be2360e01b81526001600160a01b0382169063ee22be239086906141f8908690889060019060040161599f565b6000604051808303818588803b15801561421157600080fd5b505af1158015614225573d6000803e3d6000fd5b5050505050612411565b604051630b4c7e4d60e01b81526001600160a01b03821690630b4c7e4d90869061425f90869088906004016159c3565b6000604051808303818588803b15801561427857600080fd5b505af115801561428c573d6000803e3d6000fd5b5050505050505050505050565b6142a1614843565b836000815181106142b4576142b4615497565b6020026020010151816000600381106142cf576142cf615497565b60200201528351849060019081106142e9576142e9615497565b60200260200101518160016003811061430457614304615497565b602002015283518490600290811061431e5761431e615497565b60200260200101518160026003811061433957614339615497565b602090810291909101919091526001600160a01b038681166000908152600990925260408220541615614386576001600160a01b0380871660009081526009602052604090205416614388565b855b6001600160a01b03871660009081526008602052604090205490915060ff16156143df576040516315b74c9d60e11b81526001600160a01b03821690632b6e993a9086906141f890869088906001906004016159de565b604051634515cef360e01b81526001600160a01b03821690634515cef390869061425f9086908890600401615a02565b614417614861565b8360008151811061442a5761442a615497565b60200260200101518160006004811061444557614445615497565b602002015283518490600190811061445f5761445f615497565b60200260200101518160016004811061447a5761447a615497565b602002015283518490600290811061449457614494615497565b6020026020010151816002600481106144af576144af615497565b60200201528351849060039081106144c9576144c9615497565b6020026020010151816003600481106144e4576144e4615497565b602090810291909101919091526001600160a01b038681166000908152600990925260408220541615614531576001600160a01b0380871660009081526009602052604090205416614533565b855b6001600160a01b03871660009081526008602052604090205490915060ff161561458a5760405163dc3a2d8160e01b81526001600160a01b0382169063dc3a2d819086906141f89086908890600190600401615a1d565b60405162a6cbcd60e21b81526001600160a01b0382169063029b2f3490869061425f9086908890600401615a41565b6125a88363a9059cbb60e01b848460405160240161400292919061585c565b600061462d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166146ad9092919063ffffffff16565b905080516000148061464e57508080602001905181019061464e91906156f6565b6125a85760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610e2f565b6060611a7e848460008585600080866001600160a01b031685876040516146d49190615a5c565b60006040518083038185875af1925050503d8060008114614711576040519150601f19603f3d011682016040523d82523d6000602084013e614716565b606091505b5091509150612868878383876060831561479157825160000361478a576001600160a01b0385163b61478a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610e2f565b5081611a7e565b611a7e83838151156147a65781518083602001fd5b8060405162461bcd60e51b8152600401610e2f919061541e565b828054828255906000526020600020908101928215614815579160200282015b8281111561481557825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906147e0565b5061482192915061487f565b5090565b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b5b808211156148215760008155600101614880565b6001600160a01b038116811461066a57600080fd5b8035612f0d81614894565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156148f2576148f26148b4565b604052919050565b60006001600160401b03821115614913576149136148b4565b5060051b60200190565b801515811461066a57600080fd5b8035612f0d8161491d565b60008060008060008060c0878903121561494f57600080fd5b863561495a81614894565b955060208781013561496b81614894565b955060408801356001600160401b0381111561498657600080fd5b8801601f81018a1361499757600080fd5b80356149aa6149a5826148fa565b6148ca565b81815260059190911b8201830190838101908c8311156149c957600080fd5b928401925b828410156149f05783356149e181614894565b825292840192908401906149ce565b8098505050505050614a046060880161492b565b9250614a126080880161492b565b9150614a2060a0880161492b565b90509295509295509295565b60008060408385031215614a3f57600080fd5b8235614a4a81614894565b91506020830135614a5a81614894565b809150509250929050565b60008083601f840112614a7757600080fd5b5081356001600160401b03811115614a8e57600080fd5b6020830191508360208260051b8501011115614aa957600080fd5b9250929050565b60008060008060008060608789031215614ac957600080fd5b86356001600160401b0380821115614ae057600080fd5b614aec8a838b01614a65565b90985096506020890135915080821115614b0557600080fd5b614b118a838b01614a65565b90965094506040890135915080821115614b2a57600080fd5b50614b3789828a01614a65565b979a9699509497509295939492505050565b600081518084526020808501945080840160005b83811015614b825781516001600160a01b031687529582019590820190600101614b5d565b509495945050505050565b602081526000611fe16020830184614b49565b6001600160a01b0391909116815260200190565b600060208284031215614bc657600080fd5b8135611fe181614894565b600080600080600060a08688031215614be957600080fd5b8535614bf481614894565b94506020860135614c0481614894565b9350604086013592506060860135614c1b81614894565b949793965091946080013592915050565b600082601f830112614c3d57600080fd5b81356020614c4d6149a5836148fa565b82815260059290921b84018101918181019086841115614c6c57600080fd5b8286015b84811015614c875780358352918301918301614c70565b509695505050505050565b60008060408385031215614ca557600080fd5b8235915060208301356001600160401b03811115614cc257600080fd5b614cce85828601614c2c565b9150509250929050565b600081518084526020808501945080840160005b83811015614b8257815187529582019590820190600101614cec565b602081526000611fe16020830184614cd8565b600060208284031215614d2d57600080fd5b5035919050565b604081526000614d476040830185614b49565b8281036020840152611fdd8185614cd8565b60008060008060808587031215614d6f57600080fd5b8435614d7a81614894565b93506020850135614d8a81614894565b93969395505050506040820135916060013590565b600080600080600060a08688031215614db757600080fd5b8535614dc281614894565b94506020860135614dd281614894565b94979496505050506040830135926060810135926080909101359150565b60008060408385031215614e0357600080fd5b50508035926020909101359150565b60008060008060808587031215614e2857600080fd5b8435614e3381614894565b935060208501356001600160401b03811115614e4e57600080fd5b614e5a87828801614c2c565b9350506040850135614e6b81614894565b9396929550929360600135925050565b600060608284031215614e8d57600080fd5b604051606081016001600160401b0381118282101715614eaf57614eaf6148b4565b6040529050808235614ec08161491d565b81526020830135614ed081614894565b60208201526040830135614ee381614894565b6040919091015292915050565b60006101008284031215614f0357600080fd5b60405160c081016001600160401b0381118282101715614f2557614f256148b4565b6040528235614f3381614894565b81526020830135614f4381614894565b6020820152604083013560078110614f5a57600080fd5b6040820152614f6b606084016148a9565b6060820152614f7d8460808501614e7b565b6080820152614f8e60e0840161492b565b60a08201529392505050565b600080600060608486031215614faf57600080fd5b8335614fba81614894565b925060208401356001600160401b03811115614fd557600080fd5b614fe186828701614c2c565b925050604084013590509250925092565b6000806000806080858703121561500857600080fd5b843561501381614894565b935060208501356001600160401b0381111561502e57600080fd5b61503a87828801614c2c565b949794965050505060408301359260600135919050565b60008060008060008060c0878903121561506a57600080fd5b863561507581614894565b9550602087013561508581614894565b945060408701359350606087013561509c81614894565b92506080870135915060a08701356150b381614894565b809150509295509295509295565b600080604083850312156150d457600080fd5b82356150df81614894565b946020939093013593505050565b6000806000806060858703121561510357600080fd5b843561510e81614894565b93506020850135925060408501356001600160401b038082111561513157600080fd5b818701915087601f83011261514557600080fd5b81358181111561515457600080fd5b88602082850101111561516657600080fd5b95989497505060200194505050565b6000806000806080858703121561518b57600080fd5b843561519681614894565b93506020850135925060408501356151ad81614894565b915060608501356001600160401b038111156151c857600080fd5b6151d487828801614c2c565b91505092959194509250565b6000806000606084860312156151f557600080fd5b833561520081614894565b925060208401359150604084013561521781614894565b809150509250925092565b60008060006060848603121561523757600080fd5b833561524281614894565b9250602084013561525281614894565b929592945050506040919091013590565b60008060008060008060c0878903121561527c57600080fd5b863561528781614894565b9550602087013561529781614894565b945060408701359350606087013592506080870135915060a08701356150b381614894565b6000806000606084860312156152d157600080fd5b83356152dc81614894565b92506020840135915060408401356001600160401b038111156152fe57600080fd5b61530a86828701614c2c565b9150509250925092565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03878116825286811660208301526101008201906007871061536357634e487b7160e01b600052602160045260246000fd5b604083810188905281871660608501528551151560808501526020860151821660a08501528501511660c083015282151560e0830152979650505050505050565b600080600080608085870312156153ba57600080fd5b84356153c581614894565b9350602085013592506040850135915060608501356001600160401b038111156151c857600080fd5b60005b838110156154095781810151838201526020016153f1565b83811115615418576000848401525b50505050565b602081526000825180602084015261543d8160408501602087016153ee565b601f01601f19169190910160400192915050565b60208082526026908201527f45786563757461626c653a2063616c6c6572206973206e6f742074686520657860408201526532b1baba37b960d11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016154d5576154d56154ad565b5060010190565b6000808335601e198436030181126154f357600080fd5b8301803591506001600160401b0382111561550d57600080fd5b602001915036819003821315614aa957600080fd5b8183823760009101908152919050565b600082601f83011261554357600080fd5b815160206155536149a5836148fa565b82815260059290921b8401810191818101908684111561557257600080fd5b8286015b84811015614c8757805161558981614894565b8352918301918301615576565b6000602082840312156155a857600080fd5b81516001600160401b038111156155be57600080fd5b611a7e84828501615532565b602080825260029082015261413360f01b604082015260600190565b6000602082840312156155f857600080fd5b8151611fe181614894565b600082821015615615576156156154ad565b500390565b602080825260029082015261209960f11b604082015260600190565b6040815260006156496040830185614cd8565b90508260208301529392505050565b600060c0828403121561566a57600080fd5b60405160c081016001600160401b038111828210171561568c5761568c6148b4565b604052825161569a81614894565b815260208301516156aa81614894565b602082015260408301516156bd81614894565b604082015260608301516156d081614894565b606082015260808301516156e381614894565b608082015260a0830151614f8e8161491d565b60006020828403121561570857600080fd5b8151611fe18161491d565b60006020828403121561572557600080fd5b5051919050565b6001600160a01b039290921682521515602082015260400190565b6000806040838503121561575a57600080fd5b82516001600160401b038082111561577157600080fd5b61577d86838701615532565b935060209150818501518181111561579457600080fd5b85019050601f810186136157a757600080fd5b80516157b56149a5826148fa565b81815260059190911b820183019083810190888311156157d457600080fd5b928401925b828410156157f2578351825292840192908401906157d9565b80955050505050509250929050565b6001600160a01b0392831681529116602082015260400190565b6000816000190483118215151615615835576158356154ad565b500290565b60008261585757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b828152604060208201526000611a7e6040830184614cd8565b8060005b6002811015615418578151845260209384019390910190600101615892565b838152608081016158c5602083018561588e565b8215156060830152949350505050565b82815260608101611fe1602083018461588e565b8060005b60038110156154185781518452602093840193909101906001016158ed565b83815260a0810161592060208301856158e9565b8215156080830152949350505050565b82815260808101611fe160208301846158e9565b8060005b6004811015615418578151845260209384019390910190600101615948565b83815260c0810161597b6020830185615944565b82151560a0830152949350505050565b82815260a08101611fe16020830184615944565b608081016159ad828661588e565b8360408301528215156060830152949350505050565b606081016159d1828561588e565b8260408301529392505050565b60a081016159ec82866158e9565b8360608301528215156080830152949350505050565b60808101615a1082856158e9565b8260608301529392505050565b60c08101615a2b8286615944565b83608083015282151560a0830152949350505050565b60a08101615a4f8285615944565b8260808301529392505050565b60008251615a6e8184602087016153ee565b919091019291505056fe88d38ed598fdd809c2bf01ee49cd24b7fdabf379a83d29567952b60324d58cef9fdbc2d48b8a0db2f62663bf9312ad02f5b1f6414ad600b55a247d09aeec3ea26e30376a5dc359900098762489d0f02dab676eb64587ff220563b39e04095574a26469706673582212201ae22b85788f5fae10b5977aa26630a54f80f22d54426eab4131e678aacc83ef64736f6c634300080f003300000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000d061d61a4d941c39e5453435b6345dc261c2fce0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000d533a949740bb3306d119cc777fa900ba034cd520000000000000000000000000000000000000000000000000000000000000100000000000000000000000000f403c135812408bfbe8713b5a23a04b3d48aae31000000000000000000000000000000000000000000000000000000000000000100000000000000000000000059756cc927241b25a250b7a67ef1ada554b6015800000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000001b600000000000000000000000000000000000000000000000000000000000001fc0000000000000000000000000000000000000000000000000000000000000242000000000000000000000000000000000000000000000000000000000000028800000000000000000000000000000000000000000000000000000000000000022000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7000000000000000000000000c5424b857f758e906013f3555dad202e4bdb4567000000000000000000000000dc24316b9ae028f1497c275eb9192a3ea0f67022000000000000000000000000f178c0b5bb7e7abf4e12a4838c7b7c5ba2c623c00000000000000000000000004ca9b3063ec5866a4b82e437059d2c43d1be596f00000000000000000000000043b4fdfd4ff969587185cdb6f0bd875c5fc83f8c000000000000000000000000071c661b4deefb59e2a3ddb20db036821eee8f4b0000000000000000000000007fc77b5c7614e1533320ea6ddc2eb61fa00a9714000000000000000000000000d51a44d3fae010294c616388b506acda1bfaae460000000000000000000000005a6a4d54456819380173272a5e8e9b9904bdf41b000000000000000000000000a2b47e3d5c44877cca798226b7b8118f9bfb7a56000000000000000000000000fbdca68601f835b27790d98bbb8ec7f05fdeaa9b000000000000000000000000ceaf7747579696a2f0bb206a14210e3c9e6fb2690000000000000000000000008474ddbe98f5aa3179b3b3f5942d724afcdec9f6000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a2000000000000000000000000e57180685e3348589e9521aa53af0bcd497e884d000000000000000000000000a1f8a6807c402e4a15ef4eba36528a3fed24e577000000000000000000000000c270b3b858c335b6ba5d5b10e2da8a09976005ad0000000000000000000000000f3159811670c117c372428d4e69ac32325e4d0f00000000000000000000000094b17476a93b3262d87b9a326965d1e91f9c13e70000000000000000000000004dece678ceceb27446b35c672dc7d61f30bad69e000000000000000000000000390f3595bca2df7d23783dfd126427cceb997bf4000000000000000000000000aeda92e6a3b1028edc139a4ae56ec881f3064d4f0000000000000000000000004d9f9d15101eec665f77210cb999639f760f831e0000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829b000000000000000000000000d82c2eb10f4895cabed6eda6eeee234bd1a9838b00000000000000000000000021e27a5e5513d6e65c4f830167390997aa84843a0000000000000000000000005fae7e604fc3e24fd43a72867cebac94c65b404a0000000000000000000000009c3b46c0ceb5b9e304fcd6d88fc50f7dd24b31bc0000000000000000000000002570f1bd5d2735314fc102eb12fc1afe9e6e7193000000000000000000000000f980b4a4194694913af231de69ab4593f5e0fcdc000000000000000000000000f8d390f23b06d420daa629d3b6a9a24bd27c1ef3000000000000000000000000e080027bd47353b5d1639772b4a75e9ed3658a0d000000000000000000000000383e6b4437b59fff47b619cba855ca29342a855900000000000000000000000000000000000000000000000000000000000000220000000000000000000000006c3f90f043a72fa612cbac8115ee7e52bde6e490000000000000000000000000a3d87fffce63b53e0d54faa1cc983b7eb0b74a9c00000000000000000000000006325440d014e39736583c165c2963ba99faf14e000000000000000000000000cee60cfa923170e4f8204ae08b4fa6a3f5656f3a000000000000000000000000b19059ebb43466c323583928285a49f558e572fd00000000000000000000000043b4fdfd4ff969587185cdb6f0bd875c5fc83f8c000000000000000000000000410e3e86ef427e30b9235497143881f717d93c2a000000000000000000000000075b1bb99792c9e1041ba13afef80c91a1e70fb3000000000000000000000000c4ad29ba4b3c580e6d59105fff484999997675ff0000000000000000000000005a6a4d54456819380173272a5e8e9b9904bdf41b000000000000000000000000845838df265dcd2c412a1dc9e959c7d08537f8a2000000000000000000000000fbdca68601f835b27790d98bbb8ec7f05fdeaa9b000000000000000000000000ceaf7747579696a2f0bb206a14210e3c9e6fb2690000000000000000000000001aef73d49dedc4b1778d0706583995958dc862e60000000000000000000000003175df0976dfa876431c2e9ee6bc45b65d3473cc000000000000000000000000e57180685e3348589e9521aa53af0bcd497e884d000000000000000000000000f43211935c781d5ca1a41d2041f397b8a7366c7a000000000000000000000000c270b3b858c335b6ba5d5b10e2da8a09976005ad0000000000000000000000006c38ce8984a890f5e46e6df6117c26b3f1ecfc9c00000000000000000000000094b17476a93b3262d87b9a326965d1e91f9c13e70000000000000000000000004dece678ceceb27446b35c672dc7d61f30bad69e000000000000000000000000390f3595bca2df7d23783dfd126427cceb997bf4000000000000000000000000aeda92e6a3b1028edc139a4ae56ec881f3064d4f0000000000000000000000004d9f9d15101eec665f77210cb999639f760f831e0000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829b000000000000000000000000d82c2eb10f4895cabed6eda6eeee234bd1a9838b00000000000000000000000021e27a5e5513d6e65c4f830167390997aa84843a0000000000000000000000005b6c539b224014a09b3388e51caaa8e354c959c80000000000000000000000009c3b46c0ceb5b9e304fcd6d88fc50f7dd24b31bc0000000000000000000000002570f1bd5d2735314fc102eb12fc1afe9e6e7193000000000000000000000000f980b4a4194694913af231de69ab4593f5e0fcdc000000000000000000000000f8d390f23b06d420daa629d3b6a9a24bd27c1ef3000000000000000000000000e080027bd47353b5d1639772b4a75e9ed3658a0d000000000000000000000000383e6b4437b59fff47b619cba855ca29342a85590000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000005e0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000006a0000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000008c00000000000000000000000000000000000000000000000000000000000000920000000000000000000000000000000000000000000000000000000000000098000000000000000000000000000000000000000000000000000000000000009e00000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000b600000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000d400000000000000000000000000000000000000000000000000000000000000da00000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000000e800000000000000000000000000000000000000000000000000000000000000ee00000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000108000000000000000000000000000000000000000000000000000000000000010e0000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000000030000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000005e74c9036fb86bd7ecdcb084a0673efc32ea31cb0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe840000000000000000000000000000000000000000000000000000000000000002000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca000000000000000000000000bbc455cb4f1b9e4bfc4b73970d360c8f032efee600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000316eb71485b0ab14103307bf65a021042c6d3800000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000000000000000000000000000000000000000002000000000000000000000000bc6da0fe9ad5f3b0d58160288917aa56653660e90000000000000000000000006c3f90f043a72fa612cbac8115ee7e52bde6e49000000000000000000000000000000000000000000000000000000000000000020000000000000000000000009be89d2a4cd102d8fecc6bf9da793be995c22541000000000000000000000000075b1bb99792c9e1041ba13afef80c91a1e70fb30000000000000000000000000000000000000000000000000000000000000003000000000000000000000000eb4c2781e4eba804ce9a9803c67d0893436bb27d0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000fe18be6b3bd88a2d2a7f928d00292e7a9963cfc60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000200000000000000000000000099d8a9c45b2eca8864373a26d1459e3dff1e17f30000000000000000000000006c3f90f043a72fa612cbac8115ee7e52bde6e49000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000020000000000000000000000008751d4196027d4e6da63716fa7786b5174f04c15000000000000000000000000075b1bb99792c9e1041ba13afef80c91a1e70fb30000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a693b19d2931d498c5b318df961919bb4aee87a50000000000000000000000006c3f90f043a72fa612cbac8115ee7e52bde6e4900000000000000000000000000000000000000000000000000000000000000002000000000000000000000000e2f2a5c287993345a840db3b0845fbc70f5935a50000000000000000000000006c3f90f043a72fa612cbac8115ee7e52bde6e4900000000000000000000000000000000000000000000000000000000000000002000000000000000000000000853d955acef822db058eb8505911ed77f175b99e000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000002000000000000000000000000865377367054516e17014ccded1e7d814edc9ce40000000000000000000000003175df0976dfa876431c2e9ee6bc45b65d3473cc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000005e8422345238f34275888049021821e8e08caa1f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000008e870d67f660d95d5be530380d0ec0bd388289e10000000000000000000000006c3f90f043a72fa612cbac8115ee7e52bde6e4900000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000ae78736cd615f374d3085123a210448e74fc63930000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000856c4efb76c1d1ae02e20ceb03a2a6a08b0b8dc30000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a0d69e286b938e21cbf7e51d71f6a4c8918f482f0000000000000000000000003175df0976dfa876431c2e9ee6bc45b65d3473cc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe840000000000000000000000005e8422345238f34275888049021821e8e08caa1f0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a35b1b31ce002fbf2058d22f30f95d405200a15b000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe840000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000be9895146f7af43049ca1c1ae358b0541ea497040000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005e8422345238f34275888049021821e8e08caa1f00000000000000000000000000000000000000000000000000000000000000030000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000ae78736cd615f374d3085123a210448e74fc6393000000000000000000000000ac3e018457b222d93114458476f3e3416abbe38f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000004591dbff62656e7859afe5e45f6f47d3669fbb28000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000020000000000000000000000006c3ea9036406852006290770bedfcaba0e23a0e8000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f1c9acdc66974dfb6decb12aa385b9cd01190e38000000000000000000000000ae78736cd615f374d3085123a210448e74fc639300000000000000000000000000000000000000000000000000000000000000020000000000000000000000006c3ea9036406852006290770bedfcaba0e23a0e8000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001