Safescan
PolygonPolygon
Executed

0xdc6acbb4fa20ad3b297c2f67f3579c9026edf242ed6a7e41f3947d48549040d4

Safe Transaction on 0xfdff...e687

Overview

To
0x40a2...130d
Value
0 POL
Execution Date
Jul 16, 2026, 03:45 PM
Threshold
1 signatures required

Gas & Technical Details

Nonce13
Operation
DelegateCall
Safe Tx Gas0
Base Gas0
Gas Price0
Gas TokenNative
Refund ReceiverNone
Executor0x2738...eAa7

Transaction Data

0x8d80ff0a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000cc6800ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035a49c36a286fdff3fd0994fed8be208a7bee49970ea9707e687000dd12b90f4fabb6b049e670000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000352660e060405234801562000010575f80fd5b50604051620034c6380380620034c683398101604081905262000033916200006d565b6001600160a01b0392831660805290821660a0521660c052620000b4565b80516001600160a01b038116811462000068575f80fd5b919050565b5f805f6060848603121562000080575f80fd5b6200008b8462000051565b92506200009b6020850162000051565b9150620000ab6040850162000051565b90509250925092565b60805160a05160c0516133af620001175f395f818161036501528181610d9401528181610f74015281816110e30152818161163f0152818161238e015261242b01525f81816102030152610fcd01525f81816102b7015261187401526133af5ff3fe6080604052600436106100ef575f3560e01c8063572b6c0511610087578063d4b6846d11610057578063d4b6846d14610354578063dda5e0aa14610387578063e52241b5146103a6578063e8e33700146103c7575f80fd5b8063572b6c051461029b57806366e56f6d146102f7578063a188fe0514610316578063baa2abde14610335575f80fd5b80633375aa2a116100c25780633375aa2a146101c65780633bf0c9fb146101f25780634204a98d1461023d578063544caa561461025c575f80fd5b80630911d8b9146100f35780630935f771146101325780630992a809146101715780633274946114610192575b5f80fd5b3480156100fe575f80fd5b5061011261010d366004612a25565b6103e6565b604080519384526020840192909252908201526060015b60405180910390f35b34801561013d575f80fd5b5061015161014c366004612abd565b6105c2565b604080519485526020850193909352918301526060820152608001610129565b61018461017f366004612b7d565b6106ff565b604051908152602001610129565b34801561019d575f80fd5b506101b16101ac366004612c33565b61083a565b60408051928352602083019190915201610129565b3480156101d1575f80fd5b506101e56101e0366004612c7b565b6108ed565b6040516101299190612ce9565b3480156101fd575f80fd5b506102257f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610129565b348015610248575f80fd5b506101b1610257366004612d2c565b610acb565b348015610267575f80fd5b5061027b610276366004612d7a565b610c0e565b604080516001600160a01b03938416815292909116602083015201610129565b3480156102a6575f80fd5b506102e76102b5366004612db1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b6040519015158152602001610129565b348015610302575f80fd5b506101e5610311366004612e85565b610c98565b348015610321575f80fd5b50610225610330366004612c33565b610f71565b348015610340575f80fd5b506101b161034f366004612f3c565b6110cf565b34801561035f575f80fd5b506102257f000000000000000000000000000000000000000000000000000000000000000081565b348015610392575f80fd5b506101516103a1366004612fa9565b61121f565b3480156103b1575f80fd5b506103c56103c036600461305e565b611350565b005b3480156103d2575f80fd5b506101126103e13660046130f8565b611617565b60405163298d501f60e11b81526001600160a01b03868116600483015285811660248301525f9182918291829188169063531aa03e90604401602060405180830381865afa15801561043a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061045e919061316f565b90505f80806001600160a01b038416156104e557836001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d2919061318a565b90506104df8c8c8c61083a565b90935091505b821580156104f1575081155b15610522578896508795506103e861051161050c888a6131b5565b611706565b61051b91906131cc565b94506105b3565b5f61052e8a85856117f1565b90508881116105765789975095508561056f8461054b848b6131b5565b61055591906131f3565b84610560858b6131b5565b61056a91906131f3565b611858565b95506105b1565b5f6105828a85876117f1565b98508997508890506105ad8561059885846131b5565b6105a291906131f3565b85610560868c6131b5565b9650505b505b50505050955095509592505050565b5f805f806105d28c8c8c8c610acb565b90945092508391508290506060871561066c57610640838a8a808060200260200160405190810160405280939291908181526020015f905b828210156106365761062760608302860136819003810190613212565b8152602001906001019061060a565b5050505050610c98565b9050806001825161065191906131cc565b815181106106615761066161322c565b602002602001015194505b85156106ef576106c3828888808060200260200160405190810160405280939291908181526020015f905b82821015610636576106b460608302860136819003810190613212565b81526020019060010190610697565b905080600182516106d491906131cc565b815181106106e4576106e461322c565b602002602001015193505b5098509850985098945050505050565b5f8061070b898b613240565b90508a341561072d5760405163b12d13eb60e01b815260040160405180910390fd5b61074081610739611871565b30856118b4565b610750818c8c8c8c8c8c8c611a14565b61075989611caa565b5f61078a61076a60208c018c612db1565b61077a60408d0160208e01612db1565b61033060608e0160408f01612db1565b6040516335313c2160e11b81526001600160a01b03878116600483015291925090821690636a627842906024016020604051808303815f875af11580156107d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f7919061318a565b93506108028d611dfb565b61081761081260208c018c612db1565b611dfb565b61082a61081260408c0160208d01612db1565b5050509998505050505050505050565b5f805f6108478686610c0e565b5090505f80610857888888610f71565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610892573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b69190613253565b5091509150826001600160a01b0316886001600160a01b0316146108db5780826108de565b81815b90999098509650505050505050565b6060816108f981611e90565b61094a888787808060200260200160405190810160405280939291908181526020015f905b828210156106365761093b60608302860136819003810190613212565b8152602001906001019061091e565b915086826001845161095c91906131cc565b8151811061096c5761096c61322c565b60200260200101511015610993576040516342301c2360e01b815260040160405180910390fd5b610a6486865f8181106109a8576109a861322c565b6109be9260206060909202019081019150612db1565b6109c6611871565b610a4589895f8181106109db576109db61322c565b6109f19260206060909202019081019150612db1565b8a8a5f818110610a0357610a0361322c565b9050606002016020016020810190610a1b9190612db1565b8b8b5f818110610a2d57610a2d61322c565b90506060020160400160208101906103309190612db1565b855f81518110610a5757610a5761322c565b60200260200101516118b4565b610ac0828787808060200260200160405190810160405280939291908181526020015f905b82821015610ab557610aa660608302860136819003810190613212565b81526020019060010190610a89565b505050505086611eb4565b509695505050505050565b60405163298d501f60e11b81526001600160a01b03858116600483015284811660248301525f91829182919086169063531aa03e90604401602060405180830381865afa158015610b1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b42919061316f565b90506001600160a01b038116610b5e575f809250925050610c05565b5f80610b6b89898961083a565b915091505f836001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd0919061318a565b905080610bdd84896131b5565b610be791906131f3565b955080610bf483896131b5565b610bfe91906131f3565b9450505050505b94509492505050565b5f80826001600160a01b0316846001600160a01b031603610c4257604051633295f3fd60e21b815260040160405180910390fd5b826001600160a01b0316846001600160a01b031610610c62578284610c65565b83835b90925090506001600160a01b038216610c915760405163d92e233d60e01b815260040160405180910390fd5b9250929050565b6060600182511015610cbd576040516320db826760e01b815260040160405180910390fd5b8151610cca906001613240565b67ffffffffffffffff811115610ce257610ce2612dcc565b604051908082528060200260200182016040528015610d0b578160200160208202803683370190505b50905082815f81518110610d2157610d2161322c565b602090810291909101015281515f5b81811015610f69575f806001600160a01b0316858381518110610d5557610d5561322c565b6020026020010151604001516001600160a01b031614610d9257848281518110610d8157610d8161322c565b602002602001015160400151610db4565b7f00000000000000000000000000000000000000000000000000000000000000005b90505f610dfb868481518110610dcc57610dcc61322c565b60200260200101515f0151878581518110610de957610de961322c565b60200260200101516020015184610f71565b604051635b16ebb760e01b81526001600160a01b03808316600483015291925090831690635b16ebb790602401602060405180830381865afa158015610e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e67919061327e565b610e84576040516302721e1f60e61b815260040160405180910390fd5b806001600160a01b031663f140a35a868581518110610ea557610ea561322c565b6020026020010151888681518110610ebf57610ebf61322c565b60200260200101515f01516040518363ffffffff1660e01b8152600401610ef99291909182526001600160a01b0316602082015260400190565b602060405180830381865afa158015610f14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f38919061318a565b85610f44856001613240565b81518110610f5457610f5461322c565b60209081029190910101525050600101610d30565b505092915050565b5f7f0000000000000000000000000000000000000000000000000000000000000000816001600160a01b03841615610fa95783610fab565b815b60405163d1ea0a1d60e01b81526001600160a01b0380831660048301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063d1ea0a1d90602401602060405180830381865afa158015611014573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611038919061327e565b61105557604051634d39d5a360e11b815260040160405180910390fd5b60405163d9e3ca1360e01b81526001600160a01b038781166004830152868116602483015282169063d9e3ca1390604401602060405180830381865afa1580156110a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c5919061316f565b9695505050505050565b5f80826110db81611e90565b5f6111078b8b7f0000000000000000000000000000000000000000000000000000000000000000610f71565b9050611126611114611871565b6001600160a01b03831690838c6120b3565b60405163226bf2d160e21b81526001600160a01b0387811660048301525f9182918416906389afcb449060240160408051808303815f875af115801561116e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611192919061329d565b915091505f6111a18e8e610c0e565b509050806001600160a01b03168e6001600160a01b0316146111c45781836111c7565b82825b90975095508a8710156111ed576040516323d9bb0560e21b815260040160405180910390fd5b8986101561120e57604051630d32418960e21b815260040160405180910390fd5b505050505097509795505050505050565b85855f80606087156112a85761127c8b8a8a808060200260200160405190810160405280939291908181526020015f905b828210156106365761126d60608302860136819003810190613212565b81526020019060010190611250565b9050806001825161128d91906131cc565b8151811061129d5761129d61322c565b602002602001015194505b851561132b576112ff8a8888808060200260200160405190810160405280939291908181526020015f905b82821015610636576112f060608302860136819003810190613212565b815260200190600101906112d3565b9050806001825161131091906131cc565b815181106113205761132061322c565b602002602001015193505b6113388e8e8e88886103e6565b50959f949e509c50939a509198505050505050505050565b5f61135e6020870187612db1565b90505f6113716040880160208901612db1565b905061137d8888612124565b5f896001600160a01b0316836001600160a01b0316146114c5576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa1580156113d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fd919061318a565b90506001600160a01b038a1687876114166001826131cc565b8181106114255761142561322c565b905060600201602001602081019061143d9190612db1565b6001600160a01b031614611464576040516309d41c6760e31b815260040160405180910390fd5b6114c583828a606001358a8a808060200260200160405190810160405280939291908181526020015f905b828210156114bb576114ac60608302860136819003810190613212565b8152602001906001019061148f565b5050505050612264565b896001600160a01b0316826001600160a01b031614611602576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015611520573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611544919061318a565b90506001600160a01b038a16858561155d6001826131cc565b81811061156c5761156c61322c565b90506060020160200160208101906115849190612db1565b6001600160a01b0316146115ab576040516332b2410360e21b815260040160405180910390fd5b61160282828a608001358888808060200260200160405190810160405280939291908181526020015f905b828210156114bb576115f360608302860136819003810190613212565b815260200190600101906115d6565b61160b8a611dfb565b50505050505050505050565b5f805f8361162481611e90565b6116328c8c8c8c8c8c612321565b90945092505f6116638d8d7f0000000000000000000000000000000000000000000000000000000000000000610f71565b90506116788d611671611871565b83886118b4565b61168b8c611684611871565b83876118b4565b6040516335313c2160e11b81526001600160a01b038881166004830152821690636a627842906024016020604051808303815f875af11580156116d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116f4919061318a565b92505050985098509895505050505050565b5f815f0361171557505f919050565b5f600161172184612506565b901c6001901b9050600181848161173a5761173a6131df565b048201901c90506001818481611752576117526131df565b048201901c9050600181848161176a5761176a6131df565b048201901c90506001818481611782576117826131df565b048201901c9050600181848161179a5761179a6131df565b048201901c905060018184816117b2576117b26131df565b048201901c905060018184816117ca576117ca6131df565b048201901c90506117ea818285816117e4576117e46131df565b04611858565b9392505050565b5f835f0361181257604051632ca2f52b60e11b815260040160405180910390fd5b82158061181d575081155b1561183b5760405163bb55fd2760e01b815260040160405180910390fd5b8261184683866131b5565b61185091906131f3565b949350505050565b5f8183106118665781611868565b825b90505b92915050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036118af575060131936013560601c90565b503390565b5f846001600160a01b03163b116119035760405162461bcd60e51b815260206004820152600e60248201526d139bdd08184818dbdb9d1c9858dd60921b60448201526064015b60405180910390fd5b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f9283929088169161196691906132e1565b5f604051808303815f865af19150503d805f811461199f576040519150601f19603f3d011682016040523d82523d5f602084013e6119a4565b606091505b50915091508180156119ce5750805115806119ce5750808060200190518101906119ce919061327e565b611a0c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016118fa565b505050505050565b5f611a226020870187612db1565b90505f611a356040880160208901612db1565b90505f611a486060890160408a01612db1565b90505f611a56848484610f71565b90505f80826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611a96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aba9190613253565b50915091506103e882111580611ad257506103e88111155b15611af0576040516302721e1f60e61b815260040160405180910390fd5b5050836001600160a01b03168c6001600160a01b031614611bc7576001600160a01b0384168888611b226001826131cc565b818110611b3157611b3161322c565b9050606002016020016020810190611b499190612db1565b6001600160a01b031614611b70576040516309d41c6760e31b815260040160405180910390fd5b611bc78c8c8b606001358b8b808060200260200160405190810160405280939291908181526020015f905b828210156114bb57611bb860608302860136819003810190613212565b81526020019060010190611b9b565b826001600160a01b03168c6001600160a01b031614611c9c576001600160a01b0383168686611bf76001826131cc565b818110611c0657611c0661322c565b9050606002016020016020810190611c1e9190612db1565b6001600160a01b031614611c45576040516332b2410360e21b815260040160405180910390fd5b611c9c8c8b8b608001358989808060200260200160405190810160405280939291908181526020015f905b828210156114bb57611c8d60608302860136819003810190613212565b81526020019060010190611c70565b505050505050505050505050565b5f611cb86020830183612db1565b90505f611ccb6040840160208501612db1565b90505f611cde6060850160408601612db1565b90505f611cec848484610f71565b6040516370a0823160e01b81523060048201529091505f908190611dd8908790879087906001600160a01b038416906370a0823190602401602060405180830381865afa158015611d3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d63919061318a565b6040516370a0823160e01b81523060048201526001600160a01b038b16906370a0823190602401602060405180830381865afa158015611da5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dc9919061318a565b8c60a001358d60c00135612599565b91509150611de78684846126a1565b611df28584836126a1565b50505050505050565b5f611e04611871565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038416906370a0823190602401602060405180830381865afa158015611e4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6f919061318a565b90508015611e8b57611e8b6001600160a01b03841683836127f3565b505050565b42811015611eb157604051630407b05b60e31b815260040160405180910390fd5b50565b81515f611f15848284611ec957611ec961322c565b60200260200101515f0151855f81518110611ee657611ee661322c565b602002602001015160200151865f81518110611f0457611f0461322c565b602002602001015160400151610f71565b90505f5b82811015611a0c575f858281518110611f3457611f3461322c565b602002602001015190505f611f50825f01518360200151610c0e565b5090505f88611f60856001613240565b81518110611f7057611f7061322c565b602002602001015190505f80836001600160a01b0316855f01516001600160a01b031614611f9f57825f611fa2565b5f835b90925090505f611fb360018a6131cc565b8710611fbf5789612031565b6120318b611fce896001613240565b81518110611fde57611fde61322c565b60200260200101515f01518c896001611ff79190613240565b815181106120075761200761322c565b6020026020010151602001518d8a60016120219190613240565b81518110611f0457611f0461322c565b604080515f8152602081019182905263022c0d9f60e01b9091529091506001600160a01b0389169063022c0d9f906120729086908690869060248101613327565b5f604051808303815f87803b158015612089575f80fd5b505af115801561209b573d5f803e3d5ffd5b509299505060019097019650611f1995505050505050565b6040516001600160a01b038085166024830152831660448201526064810182905261211e9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612823565b50505050565b5f6121326020830183612db1565b90505f6121456040840160208501612db1565b90505f61215d83836103306060880160408901612db1565b90506121746001600160a01b0382163383886120b3565b5f61217f8484610c0e565b5060405163226bf2d160e21b81523060048201529091505f9081906001600160a01b038516906389afcb449060240160408051808303815f875af11580156121c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121ed919061329d565b915091505f80846001600160a01b0316886001600160a01b031614612213578284612216565b83835b915091508860a0013582101561223f576040516323d9bb0560e21b815260040160405180910390fd5b8860c0013581101561160b57604051630d32418960e21b815260040160405180910390fd5b5f61226f8483610c98565b905082816001835161228191906131cc565b815181106122915761229161322c565b602002602001015110156122b8576040516342301c2360e01b815260040160405180910390fd5b5f612309835f815181106122ce576122ce61322c565b60200260200101515f0151845f815181106122eb576122eb61322c565b602002602001015160200151855f81518110611f0457611f0461322c565b90506123168682876126a1565b611a0c828430611eb4565b5f808386101561234457604051636e35977960e11b815260040160405180910390fd5b828510156123655760405163acee051360e01b815260040160405180910390fd5b60405163298d501f60e11b81526001600160a01b03898116600483015288811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063531aa03e90604401602060405180830381865afa1580156123d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123f9919061316f565b90506001600160a01b038116612422576040516302721e1f60e61b815260040160405180910390fd5b5f8061244f8b8b7f000000000000000000000000000000000000000000000000000000000000000061083a565b91509150815f148015612460575080155b15612470578894508793506124f8565b5f61247c8a84846117f1565b90508881116124b157868110156124a657604051630d32418960e21b815260040160405180910390fd5b8995509350836124f6565b5f6124bd8a84866117f1565b90508a8111156124cf576124cf613353565b888110156124f0576040516323d9bb0560e21b815260040160405180910390fd5b95508894505b505b505050965096945050505050565b5f80608083901c1561251a57608092831c92015b604083901c1561252c57604092831c92015b602083901c1561253e57602092831c92015b601083901c1561255057601092831c92015b600883901c1561256257600892831c92015b600483901c1561257457600492831c92015b600283901c1561258657600292831c92015b600183901c1561186b5760010192915050565b5f80838610156125bc57604051636e35977960e11b815260040160405180910390fd5b828510156125dd5760405163acee051360e01b815260040160405180910390fd5b5f806125ea8b8b8b61083a565b91509150815f1480156125fb575080155b1561260b57879350869250612693565b5f6126178984846117f1565b905087811161264c578581101561264157604051630d32418960e21b815260040160405180910390fd5b889450925082612691565b5f6126588984866117f1565b90508981111561266a5761266a613353565b8781101561268b576040516323d9bb0560e21b815260040160405180910390fd5b94508793505b505b505097509795505050505050565b5f836001600160a01b03163b116126eb5760405162461bcd60e51b815260206004820152600e60248201526d139bdd08184818dbdb9d1c9858dd60921b60448201526064016118fa565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f9283929087169161274691906132e1565b5f604051808303815f865af19150503d805f811461277f576040519150601f19603f3d011682016040523d82523d5f602084013e612784565b606091505b50915091508180156127ae5750805115806127ae5750808060200190518101906127ae919061327e565b6127ec5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016118fa565b5050505050565b6040516001600160a01b038316602482015260448101829052611e8b90849063a9059cbb60e01b906064016120e7565b5f612877826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128f49092919063ffffffff16565b805190915015611e8b5780806020019051810190612895919061327e565b611e8b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016118fa565b606061185084845f85855f80866001600160a01b0316858760405161291991906132e1565b5f6040518083038185875af1925050503d805f8114612953576040519150601f19603f3d011682016040523d82523d5f602084013e612958565b606091505b509150915061296987838387612974565b979650505050505050565b606083156129e25782515f036129db576001600160a01b0385163b6129db5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016118fa565b5081611850565b61185083838151156129f75781518083602001fd5b8060405162461bcd60e51b81526004016118fa9190613367565b6001600160a01b0381168114611eb1575f80fd5b5f805f805f60a08688031215612a39575f80fd5b8535612a4481612a11565b94506020860135612a5481612a11565b93506040860135612a6481612a11565b94979396509394606081013594506080013592915050565b5f8083601f840112612a8c575f80fd5b50813567ffffffffffffffff811115612aa3575f80fd5b602083019150836020606083028501011115610c91575f80fd5b5f805f805f805f8060c0898b031215612ad4575f80fd5b8835612adf81612a11565b97506020890135612aef81612a11565b96506040890135612aff81612a11565b955060608901359450608089013567ffffffffffffffff80821115612b22575f80fd5b612b2e8c838d01612a7c565b909650945060a08b0135915080821115612b46575f80fd5b50612b538b828c01612a7c565b999c989b5096995094979396929594505050565b5f60e08284031215612b77575f80fd5b50919050565b5f805f805f805f805f6101a08a8c031215612b96575f80fd5b8935612ba181612a11565b985060208a0135975060408a01359650612bbe8b60608c01612b67565b95506101408a013567ffffffffffffffff80821115612bdb575f80fd5b612be78d838e01612a7c565b90975095506101608c0135915080821115612c00575f80fd5b50612c0d8c828d01612a7c565b9094509250506101808a0135612c2281612a11565b809150509295985092959850929598565b5f805f60608486031215612c45575f80fd5b8335612c5081612a11565b92506020840135612c6081612a11565b91506040840135612c7081612a11565b809150509250925092565b5f805f805f8060a08789031215612c90575f80fd5b8635955060208701359450604087013567ffffffffffffffff811115612cb4575f80fd5b612cc089828a01612a7c565b9095509350506060870135612cd481612a11565b80925050608087013590509295509295509295565b602080825282518282018190525f9190848201906040850190845b81811015612d2057835183529284019291840191600101612d04565b50909695505050505050565b5f805f8060808587031215612d3f575f80fd5b8435612d4a81612a11565b93506020850135612d5a81612a11565b92506040850135612d6a81612a11565b9396929550929360600135925050565b5f8060408385031215612d8b575f80fd5b8235612d9681612a11565b91506020830135612da681612a11565b809150509250929050565b5f60208284031215612dc1575f80fd5b81356117ea81612a11565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612e0957612e09612dcc565b604052919050565b5f60608284031215612e21575f80fd5b6040516060810181811067ffffffffffffffff82111715612e4457612e44612dcc565b6040529050808235612e5581612a11565b81526020830135612e6581612a11565b60208201526040830135612e7881612a11565b6040919091015292915050565b5f8060408385031215612e96575f80fd5b8235915060208084013567ffffffffffffffff80821115612eb5575f80fd5b818601915086601f830112612ec8575f80fd5b813581811115612eda57612eda612dcc565b612ee8848260051b01612de0565b81815284810192506060918202840185019189831115612f06575f80fd5b938501935b82851015612f2c57612f1d8a86612e11565b84529384019392850192612f0b565b5080955050505050509250929050565b5f805f805f805f60e0888a031215612f52575f80fd5b8735612f5d81612a11565b96506020880135612f6d81612a11565b955060408801359450606088013593506080880135925060a0880135612f9281612a11565b8092505060c0880135905092959891949750929550565b5f805f805f805f805f60e08a8c031215612fc1575f80fd5b8935612fcc81612a11565b985060208a0135612fdc81612a11565b975060408a0135612fec81612a11565b965060608a0135955060808a0135945060a08a013567ffffffffffffffff80821115613016575f80fd5b6130228d838e01612a7c565b909650945060c08c013591508082111561303a575f80fd5b506130478c828d01612a7c565b915080935050809150509295985092959850929598565b5f805f805f805f610160888a031215613075575f80fd5b873561308081612a11565b9650602088013595506130968960408a01612b67565b945061012088013567ffffffffffffffff808211156130b3575f80fd5b6130bf8b838c01612a7c565b90965094506101408a01359150808211156130d8575f80fd5b506130e58a828b01612a7c565b989b979a50959850939692959293505050565b5f805f805f805f80610100898b031215613110575f80fd5b883561311b81612a11565b9750602089013561312b81612a11565b965060408901359550606089013594506080890135935060a0890135925060c089013561315781612a11565b8092505060e089013590509295985092959890939650565b5f6020828403121561317f575f80fd5b81516117ea81612a11565b5f6020828403121561319a575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761186b5761186b6131a1565b8181038181111561186b5761186b6131a1565b634e487b7160e01b5f52601260045260245ffd5b5f8261320d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60608284031215613222575f80fd5b6118688383612e11565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561186b5761186b6131a1565b5f805f60608486031215613265575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561328e575f80fd5b815180151581146117ea575f80fd5b5f80604083850312156132ae575f80fd5b505080516020909101519092909150565b5f5b838110156132d95781810151838201526020016132c1565b50505f910152565b5f82516132f28184602087016132bf565b9190910192915050565b5f81518084526133138160208601602086016132bf565b601f01601f19169290920160200192915050565b84815283602082015260018060a01b0383166040820152608060608201525f6110c560808301846132fc565b634e487b7160e01b5f52600160045260245ffd5b602081525f61186860208301846132fc56fea26469706673582212200fe5b6908acfc010ea69359647b2a4a2819047fc9f8548684373d4b802c6928064736f6c63430008180033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b049c36a286fdff3fd0994fed8be208a7bee49970ea9707e687000ca96137fb60165a58ca0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001a87608060405234801562000010575f80fd5b5060405162001a6738038062001a6783398101604081905262000033916200010a565b80156200004457620000446200004b565b5062000132565b5f54610100900460ff1615620000b75760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff908116101562000108575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b5f602082840312156200011b575f80fd5b815180151581146200012b575f80fd5b9392505050565b61192780620001405f395ff3fe608060405260043610610198575f3560e01c80638da5cb5b116100e7578063c20d34d311610087578063ed37d66811610062578063ed37d66814610456578063ee71f7d514610475578063f2fde38b14610494578063fdb348ef146104b3575f80fd5b8063c20d34d3146103f9578063cae182fe14610418578063dd0e490414610437575f80fd5b8063adbcfdd9116100c2578063adbcfdd91461037d578063b417f0a31461039c578063b8ba7719146103bb578063bbf024d6146103da575f80fd5b80638da5cb5b1461032e5780639c3e2f0f14610355578063a1ff9bee14610369575f80fd5b80634f8e6e23116101525780636df5d2d31161012d5780636df5d2d3146102c8578063715018a6146102dc5780637b522075146102f0578063871dd0a81461030f575f80fd5b80634f8e6e231461026b57806358b168801461028a578063628102c4146102a9575f80fd5b8063042b7a54146101a3578063082bbded146101d75780630a0764c2146101f85780633766c934146102195780633f3ff7951461022d57806340a240371461024c575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b506101c26101bd3660046115df565b6104d2565b60405190151581526020015b60405180910390f35b3480156101e2575f80fd5b506101eb610591565b6040516101ce9190611618565b348015610203575f80fd5b50610217610212366004611664565b6105a2565b005b348015610224575f80fd5b506101eb610608565b348015610238575f80fd5b506101c2610247366004611664565b610614565b348015610257575f80fd5b50610217610266366004611664565b610626565b348015610276575f80fd5b506101c2610285366004611664565b61063a565b348015610295575f80fd5b506101c26102a43660046115df565b610646565b3480156102b4575f80fd5b506101c26102c3366004611664565b6106f2565b3480156102d3575f80fd5b506101eb6106fe565b3480156102e7575f80fd5b5061021761070a565b3480156102fb575f80fd5b506101c261030a366004611664565b61071d565b34801561031a575f80fd5b50610217610329366004611664565b610729565b348015610339575f80fd5b506033546040516001600160a01b0390911681526020016101ce565b348015610360575f80fd5b506101eb61073a565b348015610374575f80fd5b506101eb610746565b348015610388575f80fd5b50610217610397366004611664565b610752565b3480156103a7575f80fd5b506102176103b6366004611664565b6107b8565b3480156103c6575f80fd5b506102176103d5366004611664565b61081e565b3480156103e5575f80fd5b506102176103f4366004611664565b610884565b348015610404575f80fd5b506101c26104133660046115df565b6108ea565b348015610423575f80fd5b506101c2610432366004611664565b6109d3565b348015610442575f80fd5b50610217610451366004611664565b6109df565b348015610461575f80fd5b506102176104703660046116c5565b6109f0565b348015610480575f80fd5b5061021761048f366004611664565b610c5e565b34801561049f575f80fd5b506102176104ae366004611664565b610c6f565b3480156104be575f80fd5b506102176104cd366004611664565b610ce5565b5f6104de606b33610cf6565b6104fb5760405163d77f09ff60e01b815260040160405180910390fd5b83610507606782610cf6565b6105245760405163c20d1b4160e01b815260040160405180910390fd5b61052f858585610d1a565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f80dfd7923b47fc451bf6738bd93f71c840932ca9af5f834f7548f085d8a8696f8660405161057e91815260200190565b60405180910390a4506001949350505050565b606061059d606d610dba565b905090565b6105aa610dc6565b6105b5606b82610e20565b6105d25760405163d77f09ff60e01b815260040160405180910390fd5b6040516001600160a01b038216907f7cf171afcdc2c5e5a2f9fcb7b995a58cfe8b59463e99698f5a8a333206daf419905f90a250565b606061059d606b610dba565b5f610620606b83610cf6565b92915050565b61062e610dc6565b61063781610e34565b50565b5f610620606583610cf6565b5f610652606d33610cf6565b61066f5760405163477b6b0160e01b815260040160405180910390fd5b8361067b606582610cf6565b610698576040516325b9640760e01b815260040160405180910390fd5b6106a3858585610d1a565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f0b4e29fa6123d4685bf6ed511b905234ddcc98463d2d0210e43560086d4c8e0b8660405161057e91815260200190565b5f610620606d83610cf6565b606061059d6065610dba565b610712610dc6565b61071b5f610eb9565b565b5f610620606983610cf6565b610731610dc6565b61063781610f0a565b606061059d6069610dba565b606061059d6067610dba565b61075a610dc6565b610765606782610e20565b6107825760405163c20d1b4160e01b815260040160405180910390fd5b6040516001600160a01b038216907f47f8adab229df44df89e46652cf62e7e5c682687c15c2c81afb9579665cd0557905f90a250565b6107c0610dc6565b6107cb606d82610e20565b6107e85760405163477b6b0160e01b815260040160405180910390fd5b6040516001600160a01b038216907f8b61f6f336b4038a97c54c3155b16d6022f379a5d7febfe9c8dbe846ee04ce96905f90a250565b610826610dc6565b610831606582610e20565b61084e576040516325b9640760e01b815260040160405180910390fd5b6040516001600160a01b038216907fcb673a92712778b9930b003548c9c051a42ed7fc685a9441d12db0e7949c76c7905f90a250565b61088c610dc6565b610897606982610e20565b6108b457604051637eec6bb560e01b815260040160405180910390fd5b6040516001600160a01b038216907fb705eb5ffbdf857192587aaf75d0b9e265dbf987f3d6fba02f8fe8f620d6917f905f90a250565b5f6108f6606d33610cf6565b6109135760405163477b6b0160e01b815260040160405180910390fd5b8261091f606982610cf6565b61093c57604051637eec6bb560e01b815260040160405180910390fd5b84610948606782610cf6565b6109655760405163c20d1b4160e01b815260040160405180910390fd5b610970868686610d1a565b846001600160a01b0316866001600160a01b0316336001600160a01b03167ff2bd9dc6dc24e49acb7d4e25944a3a0882cd5a4d981d8afb1ab65e26774460e2876040516109bf91815260200190565b60405180910390a450600195945050505050565b5f610620606783610cf6565b6109e7610dc6565b61063781610f8f565b5f54610100900460ff1615808015610a0e57505f54600160ff909116105b80610a275750303b158015610a2757505f5460ff166001145b610a8f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b5f805460ff191660011790558015610ab0575f805461ff0019166101001790555b610ab8611014565b5f5b8b811015610af957610af18d8d83818110610ad757610ad76117ba565b9050602002016020810190610aec9190611664565b611042565b600101610aba565b505f5b89811015610b3b57610b338b8b83818110610b1957610b196117ba565b9050602002016020810190610b2e9190611664565b610e34565b600101610afc565b505f5b87811015610b7d57610b75898983818110610b5b57610b5b6117ba565b9050602002016020810190610b709190611664565b6110c7565b600101610b3e565b505f5b85811015610bbf57610bb7878783818110610b9d57610b9d6117ba565b9050602002016020810190610bb29190611664565b610f0a565b600101610b80565b505f5b83811015610c0157610bf9858583818110610bdf57610bdf6117ba565b9050602002016020810190610bf49190611664565b610f8f565b600101610bc2565b50610c0b82610c6f565b8015610c50575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050505050565b610c66610dc6565b61063781611042565b610c77610dc6565b6001600160a01b038116610cdc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a86565b61063781610eb9565b610ced610dc6565b610637816110c7565b6001600160a01b0381165f90815260018301602052604081205415155b9392505050565b6040516370a0823160e01b815230600482015281906001600160a01b038516906370a0823190602401602060405180830381865afa158015610d5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8291906117ce565b1015610da157604051634a0340e560e11b815260040160405180910390fd5b610db56001600160a01b038416838361114c565b505050565b60605f610d138361119e565b6033546001600160a01b0316331461071b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a86565b5f610d13836001600160a01b0384166111f7565b6001600160a01b038116610e5b5760405163e9de6d8560e01b815260040160405180910390fd5b610e666067826112da565b610e83576040516303f139f160e61b815260040160405180910390fd5b6040516001600160a01b038216907f52cceb71b4b81514c72f2311183885dd3a70cca83e7811fa08e9b9937047109d905f90a250565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038116610f315760405163b4f852e560e01b815260040160405180910390fd5b610f3c606b826112da565b610f5957604051634eafebf560e11b815260040160405180910390fd5b6040516001600160a01b038216907f9e7d4acbadbfd04616769397fcc4adee4425cf04da0e151419e325f6c1668a27905f90a250565b6001600160a01b038116610fb6576040516307f7e58d60e31b815260040160405180910390fd5b610fc1606d826112da565b610fde57604051634dd6652560e01b815260040160405180910390fd5b6040516001600160a01b038216907f357712fedbe19fb3f93413598711d92f1540b12f1a3b37041de91a433b8f127a905f90a250565b5f54610100900460ff1661103a5760405162461bcd60e51b8152600401610a86906117e5565b61071b6112ee565b6001600160a01b0381166110695760405163ea96e0cd60e01b815260040160405180910390fd5b6110746065826112da565b6110915760405163486cffbb60e01b815260040160405180910390fd5b6040516001600160a01b038216907f177acde39223f473628b69da4bf70587e58c441e053c73d5c52a5741815e51a4905f90a250565b6001600160a01b0381166110ee576040516390d1f70f60e01b815260040160405180910390fd5b6110f96069826112da565b61111657604051638a2a0b4f60e01b815260040160405180910390fd5b6040516001600160a01b038216907fcb10bd75f0aed49db393f8fe226bc596b5a305b1ac7aceedfacae0506766b259905f90a250565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610db590849061131d565b6060815f018054806020026020016040519081016040528092919081815260200182805480156111eb57602002820191905f5260205f20905b8154815260200190600101908083116111d7575b50505050509050919050565b5f81815260018301602052604081205480156112d1575f611219600183611830565b85549091505f9061122c90600190611830565b905081811461128b575f865f01828154811061124a5761124a6117ba565b905f5260205f200154905080875f01848154811061126a5761126a6117ba565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061129c5761129c61184f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610620565b5f915050610620565b5f610d13836001600160a01b0384166113ee565b5f54610100900460ff166113145760405162461bcd60e51b8152600401610a86906117e5565b61071b33610eb9565b5f611371826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661143a9092919063ffffffff16565b805190915015610db5578080602001905181019061138f9190611863565b610db55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610a86565b5f81815260018301602052604081205461143357508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610620565b505f610620565b606061144884845f85611450565b949350505050565b6060824710156114b15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610a86565b5f80866001600160a01b031685876040516114cc91906118a4565b5f6040518083038185875af1925050503d805f8114611506576040519150601f19603f3d011682016040523d82523d5f602084013e61150b565b606091505b509150915061151c87838387611527565b979650505050505050565b606083156115955782515f0361158e576001600160a01b0385163b61158e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a86565b5081611448565b61144883838151156115aa5781518083602001fd5b8060405162461bcd60e51b8152600401610a8691906118bf565b80356001600160a01b03811681146115da575f80fd5b919050565b5f805f606084860312156115f1575f80fd5b6115fa846115c4565b9250611608602085016115c4565b9150604084013590509250925092565b602080825282518282018190525f9190848201906040850190845b818110156116585783516001600160a01b031683529284019291840191600101611633565b50909695505050505050565b5f60208284031215611674575f80fd5b610d13826115c4565b5f8083601f84011261168d575f80fd5b50813567ffffffffffffffff8111156116a4575f80fd5b6020830191508360208260051b85010111156116be575f80fd5b9250929050565b5f805f805f805f805f805f60c08c8e0312156116df575f80fd5b67ffffffffffffffff808d3511156116f5575f80fd5b6117028e8e358f0161167d565b909c509a5060208d0135811015611717575f80fd5b6117278e60208f01358f0161167d565b909a50985060408d013581101561173c575f80fd5b61174c8e60408f01358f0161167d565b909850965060608d0135811015611761575f80fd5b6117718e60608f01358f0161167d565b909650945060808d0135811015611786575f80fd5b506117978d60808e01358e0161167d565b90935091506117a860a08d016115c4565b90509295989b509295989b9093969950565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156117de575f80fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8181038181111561062057634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b5f60208284031215611873575f80fd5b81518015158114610d13575f80fd5b5f5b8381101561189c578181015183820152602001611884565b50505f910152565b5f82516118b5818460208701611882565b9190910192915050565b602081525f82518060208401526118dd816040850160208701611882565b601f01601f1916919091016040019291505056fea2646970667358221220ee9fb03a23276d47218f732d51328c3b09b39a9df43dbb8a1b73dd72d8b2626464736f6c6343000818003300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c49c36a286fdff3fd0994fed8be208a7bee49970ea9707e68700e3a1ccdfe0937ad5872fdf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000104e60a060405260405162000e4e38038062000e4e8339810160408190526200002691620003bb565b828162000034828262000099565b505081604051620000459062000359565b6001600160a01b039091168152602001604051809103905ff0801580156200006f573d5f803e3d5ffd5b506001600160a01b0316608052620000906200008a60805190565b620000fe565b505050620004b2565b620000a4826200016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115620000f057620000eb8282620001ee565b505050565b620000fa62000267565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6200013f5f8051602062000e2e833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a16200016c8162000289565b50565b806001600160a01b03163b5f03620001aa57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f80846001600160a01b0316846040516200020c919062000495565b5f60405180830381855af49150503d805f811462000246576040519150601f19603f3d011682016040523d82523d5f602084013e6200024b565b606091505b5090925090506200025e858383620002ca565b95945050505050565b3415620002875760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002b457604051633173bdd160e11b81525f6004820152602401620001a1565b805f8051602062000e2e833981519152620001cd565b606082620002e357620002dd8262000330565b62000329565b8151158015620002fb57506001600160a01b0384163b155b156200032657604051639996b31560e01b81526001600160a01b0385166004820152602401620001a1565b50805b9392505050565b8051156200034057805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b6104fc806200093283390190565b80516001600160a01b03811681146200037e575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620003b357818101518382015260200162000399565b50505f910152565b5f805f60608486031215620003ce575f80fd5b620003d98462000367565b9250620003e96020850162000367565b60408501519092506001600160401b038082111562000406575f80fd5b818601915086601f8301126200041a575f80fd5b8151818111156200042f576200042f62000383565b604051601f8201601f19908116603f011681019083821181831017156200045a576200045a62000383565b8160405282815289602084870101111562000473575f80fd5b6200048683602083016020880162000397565b80955050505050509250925092565b5f8251620004a881846020870162000397565b9190910192915050565b608051610468620004ca5f395f601001526104685ff3fe608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f806100913660048184610302565b81019061009e919061033d565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b610151565b6100c98261016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101ea565b505050565b6100ac61025c565b5f61014c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e80801561016b573d5ff35b3d5ffd5b806001600160a01b03163b5f036101a957604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516102069190610406565b5f60405180830381855af49150503d805f811461023e576040519150601f19603f3d011682016040523d82523d5f602084013e610243565b606091505b509150915061025385838361027b565b95945050505050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b6060826102905761028b826102da565b6102d3565b81511580156102a757506001600160a01b0384163b155b156102d057604051639996b31560e01b81526001600160a01b03851660048201526024016101a0565b50805b9392505050565b8051156102e957805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f8085851115610310575f80fd5b8386111561031c575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561034e575f80fd5b82356001600160a01b0381168114610364575f80fd5b9150602083013567ffffffffffffffff80821115610380575f80fd5b818501915085601f830112610393575f80fd5b8135818111156103a5576103a5610329565b604051601f8201601f19908116603f011681019083821181831017156103cd576103cd610329565b816040528281528860208487010111156103e5575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f82515f5b81811015610425576020818601810151858301520161040b565b505f92019182525091905056fea2646970667358221220e34e72d84e3a2dd8d2e268415e1cf09d5dd29f94e414167a5753b4c207b18a1b64736f6c63430008180033608060405234801561000f575f80fd5b506040516104fc3803806104fc83398101604081905261002e916100bb565b806001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100658161006c565b50506100e8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100cb575f80fd5b81516001600160a01b03811681146100e1575f80fd5b9392505050565b610407806100f55f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f80fd5b348015610058575f80fd5b506100616100fd565b005b34801561006e575f80fd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f80fd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610372565b3480156100e9575f80fd5b506100616100f836600461038b565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061014890869086906004016103a6565b5f604051808303818588803b15801561015f575f80fd5b505af1158015610171573d5f803e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f805f60608486031215610272575f80fd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff808211156102a9575f80fd5b818601915086601f8301126102bc575f80fd5b8135818111156102ce576102ce61024c565b604051601f8201601f19908116603f011681019083821181831017156102f6576102f661024c565b8160405282815289602084870101111561030e575f80fd5b826020860160208301375f6020848301015280955050505050509250925092565b5f81518084525f5b8181101561035357602081850181015186830182015201610337565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610384602083018461032f565b9392505050565b5f6020828403121561039b575f80fd5b813561038481610238565b6001600160a01b03831681526040602082018190525f906103c99083018461032f565b94935050505056fea2646970667358221220db513a3c9be3a801af2c4caa80d57b4356ddccfc8827495bbdf8e4f0576b9b4c64736f6c63430008180033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000c16d23e4789e2b214d71c1df7820a4ddab1df5ff000000000000000000000000fdff3fd0994fed8be208a7bee49970ea9707e68700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000164ed37d66800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000014000000000000000000000000058099b74f4acd642da77b4b7966b4138ec5ba458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000363b8cef44f88ce7b41b8576fc493a3c5946951f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f2fde38b00000000000000000000000058099b74f4acd642da77b4b7966b4138ec5ba45800ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026849c36a286fdff3fd0994fed8be208a7bee49970ea9707e687007c960c540fddd27e6f6d060000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000261a608060405234801561001057600080fd5b506040516125fa3803806125fa83398101604081905261002f91610169565b6100383361004c565b80156100465761004661009c565b50610192565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600054600160a81b900460ff161561010a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff600160a01b90910481161015610167576000805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561017b57600080fd5b8151801515811461018b57600080fd5b9392505050565b612459806101a16000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80636a30b25311610125578063a9059cbb116100ad578063cf456ae71161007c578063cf456ae71461049c578063d505accf146104af578063dd62ed3e146104c2578063f1087966146104d5578063f2fde38b146104e857600080fd5b8063a9059cbb14610453578063aa271e1a14610466578063bb997bac1461028d578063cd76bd791461048957600080fd5b80637ecebe00116100f45780637ecebe00146104015780638da5cb5b1461041457806395d89b41146104255780639dc29fac1461042d578063a457c2d71461044057600080fd5b80636a30b253146103b05780636d70f7ae146103c357806370a08231146103e6578063715018a6146103f957600080fd5b80633644e515116101a85780634334614a116101775780634334614a14610341578063558a72971461036457806358cf9672146103775780635d5ab44a1461038a57806369cfb4111461039d57600080fd5b80633644e51514610300578063395093511461030857806340c10f191461031b57806342966c681461032e57600080fd5b806320c582be116101ef57806320c582be1461028d57806323b872dd146102a05780632d5ecf45146102b35780632e0f98ad146102de578063313ce567146102f157600080fd5b806306fdde0314610221578063095ea7b31461023f5780630d895ee11461026257806318160ddd14610277575b600080fd5b6102296104fb565b6040516102369190611aed565b60405180910390f35b61025261024d366004611b57565b61058d565b6040519015158152602001610236565b610275610270366004611b81565b6105a2565b005b61027f6105b8565b604051908152602001610236565b61027561029b366004611bbd565b6105c8565b6102526102ae366004611bbd565b610659565b609c546102c6906001600160a01b031681565b6040516001600160a01b039091168152602001610236565b6102756102ec366004611c45565b61066e565b60405160128152602001610236565b61027f610763565b610252610316366004611b57565b61076d565b610252610329366004611b57565b610799565b61025261033c366004611cb4565b610810565b61025261034f366004611ccd565b60a06020526000908152604090205460ff1681565b610275610372366004611b81565b610857565b610275610385366004611b57565b610869565b610275610398366004611e88565b610891565b6102756103ab366004611fd5565b610af1565b6102756103be366004612066565b610c77565b6102526103d1366004611ccd565b60a16020526000908152604090205460ff1681565b61027f6103f4366004611ccd565b610cbd565b610275610cdb565b61027f61040f366004611ccd565b610cef565b6000546001600160a01b03166102c6565b610229610d0d565b61025261043b366004611b57565b610d1c565b61025261044e366004611b57565b610d58565b610252610461366004611b57565b610dde565b610252610474366004611ccd565b609f6020526000908152604090205460ff1681565b609e546102c6906001600160a01b031681565b6102756104aa366004611b81565b610dea565b6102756104bd3660046120de565b610dfc565b61027f6104d0366004612151565b610e14565b609d546102c6906001600160a01b031681565b6102756104f6366004611ccd565b610e41565b60606002805461050a90612184565b80601f016020809104026020016040519081016040528092919081815260200182805461053690612184565b80156105835780601f1061055857610100808354040283529160200191610583565b820191906000526020600020905b81548152906001019060200180831161056657829003601f168201915b5050505050905090565b60006105998383610eba565b90505b92915050565b6105aa610ec8565b6105b48282610f22565b5050565b60006105c360065490565b905090565b33600081815260a1602052604090205460ff166106485760405162461bcd60e51b815260206004820152603360248201527f537461626c65546f6b656e56333a206e6f7420616c6c6f77656420746f20636160448201527236361037b7363c90313c9037b832b930ba37b960691b60648201526084015b60405180910390fd5b610653848484610f82565b50505050565b600061066684848461112d565b949350505050565b331561068c5760405162461bcd60e51b815260040161063f906121b8565b8281146107015760405162461bcd60e51b815260206004820152603e60248201527f537461626c65546f6b656e56333a20726563697069656e747320616e6420616d60448201527f6f756e7473206d757374206265207468652073616d65206c656e6774682e0000606482015260840161063f565b60005b8381101561075c57610754858583818110610721576107216121e2565b90506020020160208101906107369190611ccd565b848484818110610748576107486121e2565b90506020020135611146565b600101610704565b5050505050565b60006105c3611207565b60003361078f8185856107808383610e14565b61078a91906121f8565b611282565b5060019392505050565b336000818152609f602052604081205490919060ff166108065760405162461bcd60e51b815260206004820152602260248201527f537461626c65546f6b656e56333a206e6f7420616c6c6f77656420746f206d696044820152611b9d60f21b606482015260840161063f565b61078f8484611146565b33600081815260a0602052604081205490919060ff166108425760405162461bcd60e51b815260040161063f90612219565b61084c33846113a7565b600191505b50919050565b61085f610ec8565b6105b482826114d8565b33156108875760405162461bcd60e51b815260040161063f906121b8565b6105b482826113a7565b600054600390600160a81b900460ff161580156108bc575060005460ff808316600160a01b90920416105b6108d85760405162461bcd60e51b815260040161063f9061225b565b6000805460ff60a81b1960ff8416600160a01b021661ffff60a01b1990911617600160a81b17905561090a8989611530565b61092d89604051806040016040528060018152602001603360f81b815250611572565b610936876115b5565b845186511461097f5760405162461bcd60e51b8152602060048201526015602482015274082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b604482015260640161063f565b60005b86518110156109d9576109c78782815181106109a0576109a06121e2565b60200260200101518783815181106109ba576109ba6121e2565b6020026020010151611146565b6109d26001826121f8565b9050610982565b5060005b8451811015610a1c57610a0a8582815181106109fb576109fb6121e2565b60200260200101516001611605565b610a156001826121f8565b90506109dd565b5060005b8351811015610a5f57610a4d848281518110610a3e57610a3e6121e2565b60200260200101516001610f22565b610a586001826121f8565b9050610a20565b5060005b8251811015610aa257610a90838281518110610a8157610a816121e2565b602002602001015160016114d8565b610a9b6001826121f8565b9050610a63565b506000805460ff60a81b1916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050565b600054600390600160a81b900460ff16158015610b1c575060005460ff808316600160a01b90920416105b610b385760405162461bcd60e51b815260040161063f9061225b565b6000805460ff60a81b1960ff8416600160a01b021661ffff60a01b1990911617600160a81b179055610b68610ec8565b610b92610b736104fb565b604051806040016040528060018152602001603360f81b815250611572565b60005b8451811015610bc557610bb38582815181106109fb576109fb6121e2565b610bbe6001826121f8565b9050610b95565b5060005b8351811015610bf957610be7848281518110610a3e57610a3e6121e2565b610bf26001826121f8565b9050610bc9565b5060005b8251811015610c2d57610c1b838281518110610a8157610a816121e2565b610c266001826121f8565b9050610bfd565b506000805460ff60a81b1916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b3315610c955760405162461bcd60e51b815260040161063f906121b8565b610c9f8885611146565b610ca98784611146565b610cb38582611146565b5050505050505050565b6001600160a01b03811660009081526005602052604081205461059c565b610ce3610ec8565b610ced60006115b5565b565b6001600160a01b03811660009081526069602052604081205461059c565b60606003805461050a90612184565b33600081815260a0602052604081205490919060ff16610d4e5760405162461bcd60e51b815260040161063f90612219565b61078f84846113a7565b60003381610d668286610e14565b905083811015610dc65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161063f565b610dd38286868403611282565b506001949350505050565b6000610599838361165d565b610df2610ec8565b6105b48282611605565b610e0b8787878787878761166b565b50505050505050565b6001600160a01b038083166000908152600760209081526040808320938516835292905290812054610599565b610e49610ec8565b6001600160a01b038116610eae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161063f565b610eb7816115b5565b50565b60003361078f818585611282565b6000546001600160a01b03163314610ced5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161063f565b6001600160a01b038216600081815260a06020908152604091829020805460ff191685151590811790915591519182527ff0e5abe4ab32ea692e3889b4c146fd4ddae5f17bb40ab4feba97fb67a2d4de0f91015b60405180910390a25050565b6001600160a01b038316610fe65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161063f565b6001600160a01b0382166110485760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161063f565b6001600160a01b038316600090815260056020526040902054818110156110c05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161063f565b6001600160a01b0380851660008181526005602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111209086815260200190565b60405180910390a3610653565b60003361113b8582856117cf565b610dd3858585610f82565b6001600160a01b03821661119c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161063f565b80600660008282546111ae91906121f8565b90915550506001600160a01b0382166000818152600560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60006105c37f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61123660355490565b6036546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6001600160a01b0383166112e45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161063f565b6001600160a01b0382166113455760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161063f565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0382166114075760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161063f565b6001600160a01b0382166000908152600560205260409020548181101561147b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161063f565b6001600160a01b03831660008181526005602090815260408083208686039055600680548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161139a565b505050565b6001600160a01b038216600081815260a16020908152604091829020805460ff191685151590811790915591519182527f966c160e1c4dbc7df8d69af4ace01e9297c3cf016397b7914971f2fbfa32672d9101610f76565b600054600160a81b900460ff166115595760405162461bcd60e51b815260040161063f906122a9565b6002611565838261234f565b5060036114d3828261234f565b600054600160a81b900460ff1661159b5760405162461bcd60e51b815260040161063f906122a9565b815160209283012081519190920120603591909155603655565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166000818152609f6020908152604091829020805460ff191685151590811790915591519182527fb21afb9ce9be0a676f8f317ff0ca072fb89a4f8ce2d1b6fe80f8755c14f1cb199101610f76565b60003361078f818585610f82565b834211156116bb5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161063f565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886116ea8c611843565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061174582611869565b90506000611755828787876118b7565b9050896001600160a01b0316816001600160a01b0316146117b85760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161063f565b6117c38a8a8a611282565b50505050505050505050565b60006117db8484610e14565b9050600019811461065357818110156118365760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161063f565b6106538484848403611282565b6001600160a01b0381166000908152606960205260409020805460018101825590610851565b600061059c611876611207565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b60008060006118c8878787876118df565b915091506118d5816119a3565b5095945050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611916575060009050600361199a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561196a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166119935760006001925092505061199a565b9150600090505b94509492505050565b60008160048111156119b7576119b761240d565b036119bf5750565b60018160048111156119d3576119d361240d565b03611a205760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161063f565b6002816004811115611a3457611a3461240d565b03611a815760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161063f565b6003816004811115611a9557611a9561240d565b03610eb75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161063f565b602081526000825180602084015260005b81811015611b1b5760208186018101516040868401015201611afe565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114611b5257600080fd5b919050565b60008060408385031215611b6a57600080fd5b611b7383611b3b565b946020939093013593505050565b60008060408385031215611b9457600080fd5b611b9d83611b3b565b915060208301358015158114611bb257600080fd5b809150509250929050565b600080600060608486031215611bd257600080fd5b611bdb84611b3b565b9250611be960208501611b3b565b929592945050506040919091013590565b60008083601f840112611c0c57600080fd5b5081356001600160401b03811115611c2357600080fd5b6020830191508360208260051b8501011115611c3e57600080fd5b9250929050565b60008060008060408587031215611c5b57600080fd5b84356001600160401b03811115611c7157600080fd5b611c7d87828801611bfa565b90955093505060208501356001600160401b03811115611c9c57600080fd5b611ca887828801611bfa565b95989497509550505050565b600060208284031215611cc657600080fd5b5035919050565b600060208284031215611cdf57600080fd5b61059982611b3b565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611d2657611d26611ce8565b604052919050565b600082601f830112611d3f57600080fd5b81356001600160401b03811115611d5857611d58611ce8565b611d6b601f8201601f1916602001611cfe565b818152846020838601011115611d8057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115611db657611db6611ce8565b5060051b60200190565b600082601f830112611dd157600080fd5b8135611de4611ddf82611d9d565b611cfe565b8082825260208201915060208360051b860101925085831115611e0657600080fd5b602085015b838110156118d557611e1c81611b3b565b835260209283019201611e0b565b600082601f830112611e3b57600080fd5b8135611e49611ddf82611d9d565b8082825260208201915060208360051b860101925085831115611e6b57600080fd5b602085015b838110156118d5578035835260209283019201611e70565b600080600080600080600080610100898b031215611ea557600080fd5b88356001600160401b03811115611ebb57600080fd5b611ec78b828c01611d2e565b98505060208901356001600160401b03811115611ee357600080fd5b611eef8b828c01611d2e565b975050611efe60408a01611b3b565b955060608901356001600160401b03811115611f1957600080fd5b611f258b828c01611dc0565b95505060808901356001600160401b03811115611f4157600080fd5b611f4d8b828c01611e2a565b94505060a08901356001600160401b03811115611f6957600080fd5b611f758b828c01611dc0565b93505060c08901356001600160401b03811115611f9157600080fd5b611f9d8b828c01611dc0565b92505060e08901356001600160401b03811115611fb957600080fd5b611fc58b828c01611dc0565b9150509295985092959890939650565b600080600060608486031215611fea57600080fd5b83356001600160401b0381111561200057600080fd5b61200c86828701611dc0565b93505060208401356001600160401b0381111561202857600080fd5b61203486828701611dc0565b92505060408401356001600160401b0381111561205057600080fd5b61205c86828701611dc0565b9150509250925092565b600080600080600080600080610100898b03121561208357600080fd5b61208c89611b3b565b975061209a60208a01611b3b565b96506120a860408a01611b3b565b95506120b660608a01611b3b565b979a969950949760808101359660a0820135965060c0820135955060e0909101359350915050565b600080600080600080600060e0888a0312156120f957600080fd5b61210288611b3b565b965061211060208901611b3b565b95506040880135945060608801359350608088013560ff8116811461213457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561216457600080fd5b61216d83611b3b565b915061217b60208401611b3b565b90509250929050565b600181811c9082168061219857607f821691505b60208210810361085157634e487b7160e01b600052602260045260246000fd5b60208082526010908201526f13db9b1e4815934818d85b8818d85b1b60821b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561059c57634e487b7160e01b600052601160045260246000fd5b60208082526022908201527f537461626c65546f6b656e56333a206e6f7420616c6c6f77656420746f206275604082015261393760f11b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b601f8211156114d357828211156114d357806000526020600020601f840160051c6020851015612322575060005b90810190601f840160051c0360005b8181101561234757600083820155600101612331565b505050505050565b81516001600160401b0381111561236857612368611ce8565b61237c816123768454612184565b846122f4565b6020601f8211600181146123b057600083156123985750848201515b600019600385901b1c1916600184901b17845561075c565b600084815260208120601f198516915b828110156123e057878501518255602094850194600190920191016123c0565b50848210156123fe5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220990ea190ecb8a2962bffb147da7cb748b1e91ae974ca8f31c74df5538ba2b5e364736f6c63430008210033000000000000000000000000000000000000000000000000000000000000000100000000000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031e49c36a286fdff3fd0994fed8be208a7bee49970ea9707e6870096c58ce4fb61f2bc9110cb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000317e608060405234801562000010575f80fd5b506040516200315e3803806200315e83398101604081905262000033916200010c565b8080156200004557620000456200004d565b505062000134565b5f54610100900460ff1615620000b95760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811610156200010a575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b5f602082840312156200011d575f80fd5b815180151581146200012d575f80fd5b9392505050565b61301c80620001425f395ff3fe608060405234801561000f575f80fd5b50600436106100f0575f3560e01c80638ae9126211610093578063c6ee655911610063578063c6ee6559146102af578063cd3293de146102c2578063f2fde38b146102d5578063f9cf120f146102e8575f80fd5b80638ae91262146102415780638da5cb5b146102545780639cecc80a14610279578063c673bdaf1461028c575f80fd5b80633b7d0946116100ce5780633b7d0946146101fe578063485cc95514610211578063673a2a1f14610224578063715018a614610239575f80fd5b80630792d513146100f457806321c28191146101d65780632d3d3638146101eb575b5f80fd5b610171610102366004612803565b60996020525f90815260409020805460019091015460ff82169163ffffffff6101008204811692600160281b8304909116916001600160a01b03600160481b90910416906001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041688565b60408051981515895263ffffffff97881660208a015296909516958701959095526001600160a01b0390921660608601526001600160401b03908116608086015290811660a085015291821660c08401521660e0820152610100015b60405180910390f35b6101e96101e4366004612803565b610309565b005b6101e96101f936600461281e565b610678565b6101e961020c366004612803565b610689565b6101e961021f366004612835565b61069a565b61022c610817565b6040516101cd919061286c565b6101e9610828565b6101e961024f3660046128b8565b61083b565b6033546001600160a01b03165b6040516001600160a01b0390911681526020016101cd565b6101e9610287366004612803565b61089b565b61029f61029a366004612803565b61091b565b60405190151581526020016101cd565b6101e96102bd366004612958565b61093c565b609a54610261906001600160a01b031681565b6101e96102e3366004612803565b6109c1565b6102fb6102f6366004612803565b610a37565b6040516101cd9291906129ec565b610311610b0d565b61031a81610b66565b6001600160a01b0381165c1561035357604051635ab2de7360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038181165f9081526099602090815260409182902082516101008082018552825460ff81161515835290810463ffffffff908116948301859052600160281b82041694820194909452600160481b90930490931660608301526001909201546001600160401b038082166080840152600160401b8204811660a0840152600160801b8204811660c0840152600160c01b9091041660e0820152901580159061041a5750806040015181602001516104119190612b05565b63ffffffff1642105b1561043857604051635b8e479960e01b815260040160405180910390fd5b5f6104438383610b9b565b90505f61044f82610df8565b90505f8061045c84610e25565b915091505f6040518060a0016040528085606001518152602001855f0151600181111561048b5761048b61298b565b81526020018660e0015115158152602001846001600160a01b03168152602001836001600160a01b03168152506040516020016104c89190612b22565b60408051808303601f190181528282526001600160a01b038a165f8181526099602090815290849020805464ffffffff0019166101004263ffffffff16021790558801519288015163c60801b760e01b85529194509263c60801b7926105349290918690600401612bbf565b5f604051808303815f87803b15801561054b575f80fd5b505af115801561055d573d5f803e3d5ffd5b50505050610572876001600160a01b03165c90565b61058f57604051632f33932560e11b815260040160405180910390fd5b835160018111156105a2576105a261298b565b6001600160a01b0388167f3afe6594af21c57a7487cfc78225502f73bf538255617b89ef877a20f7e9f3fc5f875160018111156105e1576105e161298b565b146105ec57846105ee565b855b60608801515f895160018111156106075761060761298b565b146106125787610614565b865b89604001518a602001516106289190612bdd565b60405161065d94939291906001600160a01b039485168152602081019390935292166040820152606081019190915260800190565b60405180910390a35050505050506106756001606555565b50565b610680610e5a565b61067581610eb4565b610691610e5a565b61067581611405565b5f54610100900460ff16158080156106b857505f54600160ff909116105b806106d15750303b1580156106d157505f5460ff166001145b6107345760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161034a565b5f805460ff191660011790558015610755575f805461ff0019166101001790555b61075e83611481565b6001600160a01b03821661078557604051631eaec23760e11b815260040160405180910390fd5b609a80546001600160a01b0319166001600160a01b0384169081179091556040515f907fb69e1c416d8be92ac92c8e97e77c4626fba5e6ab50161099f659ea3303479e50908290a38015610812575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b606061082360976114de565b905090565b610830610e5a565b6108395f6114f1565b565b3361084581610b66565b6001600160a01b038616301461086e57604051631bb805db60e11b815260040160405180910390fd5b5f61087b83850185612c08565b905061088982878784611542565b61089282611750565b50505050505050565b6108a3610e5a565b6001600160a01b0381166108ca57604051631eaec23760e11b815260040160405180910390fd5b609a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fb69e1c416d8be92ac92c8e97e77c4626fba5e6ab50161099f659ea3303479e50905f90a35050565b6001600160a01b0381165f9081526098602052604081205415155b92915050565b610944610e5a565b61094d82610b66565b6001600160a01b0382165f81815260996020908152604091829020805468ffffffff00000000001916600160281b63ffffffff87169081029190911790915591519182527f291b37a9266271582b181016e7e36ca9c359af773652a68fc638b2e903fec6e791015b60405180910390a25050565b6109c9610e5a565b6001600160a01b038116610a2e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161034a565b610675816114f1565b610a3f612714565b610a476127bf565b610a5083610b66565b6001600160a01b038084165f9081526099602090815260409182902082516101008082018552825460ff81161515835263ffffffff918104821694830194909452600160281b84041693810193909352600160481b90910490921660608201526001909101546001600160401b038082166080840152600160401b8204811660a0840152600160801b8204811660c0840152600160c01b9091041660e0820152610afa8482610b9b565b9250610b0583610df8565b915050915091565b600260655403610b5f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161034a565b6002606555565b6001600160a01b0381165f9081526098602052604090205461067557604051637dc598f960e11b815260040160405180910390fd5b610ba3612714565b6001600160a01b0383168082526040805163392f37e960e01b8152905185925f92839283928392909163392f37e99160048082019260c0929091908290030181865afa158015610bf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c199190612c9d565b955095505050935093505f84118015610c3157505f83115b610c4e57604051633509a51560e21b815260040160405180910390fd5b670de0b6b3a76400008411158015610c6e5750670de0b6b3a76400008311155b610c8b5760405163323ee65360e21b815260040160405180910390fd5b6001600160a01b039182166060808801919091529082166080808801919091526001600160401b0394851660a08089019190915293851660c0808901919091528851151560e0808a0191909152604080518085018252938b015188168452958a01518716602084015290890151861682860152808901519095169181019190915261010086015281516393965ec960e01b815291515f938493849384938493849384938b16926393965ec9926004808401939192918290030181865afa158015610d57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7b9190612cf8565b96509650965096509650965096508161ffff168111610dad576040516317d00e1560e31b815260040160405180910390fd5b50604080518082018252948552602080860194909452888401949094528351608081018552958652918501939093529115158382015261ffff90911660608301528301525092915050565b610e006127bf565b81604001516040015115610e175761093682611762565b6109368261190b565b919050565b5f808260e00151610e3f5782608001518360600151610e4a565b826060015183608001515b91509150915091565b6001606555565b6033546001600160a01b031633146108395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034a565b5f610ec26020830183612803565b6001600160a01b031603610ee95760405163dda832db60e01b815260040160405180910390fd5b610f01610ef96020830183612803565b609790611aa6565b610f1e57604051634420ac3560e01b815260040160405180910390fd5b5f610f2c6020830183612803565b6001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8b9190612d63565b6001600160a01b0316610fa46040840160208501612803565b6001600160a01b03161490508015816110495750610fc86040830160208401612803565b6001600160a01b0316610fde6020840184612803565b6001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611019573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103d9190612d63565b6001600160a01b031614155b15611067576040516335a6596f60e01b815260040160405180910390fd5b61107760c0830160a08401612d94565b6001600160401b0316670de0b6b3a76400001115806110b657506110a160a0830160808401612d94565b6001600160401b0316670de0b6b3a764000011155b156110d45760405163ddd5e17b60e01b815260040160405180910390fd5b6110e5610100830160e08401612d94565b6001600160401b0316670de0b6b3a7640000111580611124575061110f60e0830160c08401612d94565b6001600160401b0316670de0b6b3a764000011155b156111425760405163ddd5e17b60e01b815260040160405180910390fd5b5f611154610100840160e08501612d94565b61116460c0850160a08601612d94565b61116e9190612dad565b6001600160401b031611801561119b57505f6111906080840160608501612803565b6001600160a01b0316145b156111b957604051630d324e2760e21b815260040160405180910390fd5b604080516101008101825282151581525f602082015290818101906111e49060608601908601612dcd565b63ffffffff1681526020016111ff6080850160608601612803565b6001600160a01b0316815260200161121d60a0850160808601612d94565b6001600160401b0316815260200161123b60c0850160a08601612d94565b6001600160401b0316815260200161125960e0850160c08601612d94565b6001600160401b03168152602001611278610100850160e08601612d94565b6001600160401b0316905260995f6112936020860186612803565b6001600160a01b03908116825260208083019390935260409182015f208451815486860151948701516060880151909416600160481b027fffffff0000000000000000000000000000000000000000ffffffffffffffffff63ffffffff958616600160281b021665010000000000600160e81b0319959096166101000264ffffffff00199315159390931664ffffffffff199092169190911791909117929092169290921717815560808301516001909101805460a085015160c086015160e0909601516001600160401b03908116600160c01b026001600160c01b03978216600160801b02979097166fffffffffffffffffffffffffffffffff928216600160401b026fffffffffffffffffffffffffffffffff199094169190951617919091171691909117929092179091556113cd90830183612803565b6001600160a01b03167f5865b763d2fcaa2023d34f5622fec93cfc34b82e8625c1e622b9a6cb47a69239836040516109b59190612de6565b611410609782611aba565b61142d57604051637dc598f960e11b815260040160405180910390fd5b6001600160a01b0381165f8181526099602052604080822080546001600160e81b0319168155600101829055517f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f9190a250565b5f54610100900460ff166114a75760405162461bcd60e51b815260040161034a90612eb7565b6001600160a01b0381166114ce5760405163076c9e1560e21b815260040160405180910390fd5b6114d6611ace565b610a2e611afc565b60605f6114ea83611b2a565b9392505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038085165f90815260996020908152604080832081516101008082018452825460ff81161515835263ffffffff918104821695830195909552600160281b85041692810192909252600160481b9092049093166060840152600101546001600160401b038082166080850152600160401b8204811660a0850152600160801b8204811660c0850152600160c01b9091041660e083015280808080866020015160018111156115f9576115f961298b565b1461161757856060015186608001518660e001518760c0015161162c565b856080015186606001518660a0015187608001515b6001600160401b031693506001600160401b03169350935093505f8089116116545787611656565b885b90505f670de0b6b3a764000061166c8584612f02565b6116769190612f2d565b90505f670de0b6b3a76400008461168d8486612f4c565b6116979190612f02565b6116a19190612f2d565b90505f896020015160018111156116ba576116ba61298b565b036116f4576116ce87838a60600151611b83565b6116e1876116dc8486612f4c565b611ba3565b6116ef868d8b5f0151611d20565b611742565b61170387838a60600151611b83565b609a5461171c90889083906001600160a01b0316611b83565b6117348761172a8385612bdd565b6116dc9086612f4c565b611742868d8b5f0151611d20565b505050505050505050505050565b6001600160a01b0381166001815d5050565b61176a6127bf565b5f61271083604001516060015161ffff166127106117889190612bdd565b6040850151516117989190612f02565b6117a29190612f2d565b90505f83604001516020015190505f8460e001516117db576117d68561010001516060015186610100015160400151611f0d565b6117f2565b610100850151602081015190516117f29190611f0d565b90505f856020015160200151846118099190612f02565b6020870151516118199085612f02565b6118239190612f4c565b90505f8387604001515f0151670de0b6b3a76400006118429190612f02565b86858a60400151602001516118579190612f02565b6118619190612f02565b61186b9190612f2d565b6118759190612bdd565b90505f6118998383670de0b6b3a76400008b60c001516001600160401b0316611f59565b90505f6118dc828a60c001516001600160401b03168b60a001516001600160401b03168c60400151602001518d604001515f01518a670de0b6b3a7640000611f83565b90508860e0015115611900576118f3898284611fc3565b9998505050505050505050565b6118f3898383611fe2565b6119136127bf565b5f61271083604001516060015161ffff166127106119319190612f4c565b6040850151516119419190612f02565b61194b9190612f2d565b90505f83604001516020015190505f8460e0015161197f576101008501516020810151905161197a9190611f0d565b61199b565b61199b8561010001516060015186610100015160400151611f0d565b6020860151519091505f906119b09084612f02565b60208088015101516119c29086612f02565b6119cc9190612f4c565b90505f84876040015160200151670de0b6b3a76400006119ec9190612f02565b60408901515186906119ff908790612f02565b611a099190612f02565b611a139190612f2d565b611a1d9190612bdd565b90505f611a418383670de0b6b3a76400008b60a001516001600160401b0316611f59565b90505f611a84828a60a001516001600160401b03168b60c001516001600160401b03168c604001515f01518d60400151602001518a670de0b6b3a7640000611f83565b90508860e0015115611a9b576118f3898383611fe2565b6118f3898284611fc3565b5f6114ea836001600160a01b038416612007565b5f6114ea836001600160a01b038416612053565b5f54610100900460ff16611af45760405162461bcd60e51b815260040161034a90612eb7565b61083961213d565b5f54610100900460ff16611b225760405162461bcd60e51b815260040161034a90612eb7565b61083961216c565b6060815f01805480602002602001604051908101604052809291908181526020018280548015611b7757602002820191905f5260205f20905b815481526020019060010190808311611b63575b50505050509050919050565b815f03611b8f57505050565b6108126001600160a01b0384168284612192565b805f03611bae575050565b609a54604051634f8e6e2360e01b81526001600160a01b03848116600483015290911690634f8e6e2390602401602060405180830381865afa158015611bf6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c1a9190612f5f565b15611c7857604051630852cd8d60e31b8152600481018290526001600160a01b038316906342966c68906024015f604051808303815f87803b158015611c5e575f80fd5b505af1158015611c70573d5f803e3d5ffd5b505050505050565b609a54604051636570c17f60e11b81526001600160a01b0384811660048301529091169063cae182fe90602401602060405180830381865afa158015611cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ce49190612f5f565b15611d0757609a54611d03906001600160a01b03848116911683612192565b5050565b60405163ab506d2960e01b815260040160405180910390fd5b609a54604051634f8e6e2360e01b81526001600160a01b03858116600483015290911690634f8e6e2390602401602060405180830381865afa158015611d68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8c9190612f5f565b15611dea576040516340c10f1960e01b81526001600160a01b038381166004830152602482018390528416906340c10f19906044015f604051808303815f87803b158015611dd8575f80fd5b505af1158015610892573d5f803e3d5ffd5b609a54604051636570c17f60e11b81526001600160a01b0385811660048301529091169063cae182fe90602401602060405180830381865afa158015611e32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e569190612f5f565b15611ef457609a5460405163010ade9560e21b81526001600160a01b0385811660048301528481166024830152604482018490529091169063042b7a54906064016020604051808303815f875af1158015611eb3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ed79190612f5f565b61081257604051632cdf64eb60e11b815260040160405180910390fd5b604051630713e80560e51b815260040160405180910390fd5b5f670de0b6b3a7640000611f2a6001600160401b03841682612f4c565b611f456001600160401b038616670de0b6b3a7640000612f4c565b611f4f9190612f02565b6114ea9190612f2d565b5f611f648484612f02565b611f6e8387612f02565b611f789190612f2d565b90505b949350505050565b5f83611fad611f928589612f02565b611f9c858b612f02565b611fa6898d612f02565b91906121e4565b611fb79190612f2d565b98975050505050505050565b611fcb6127bf565b8282611fd886838361228d565b9695505050505050565b611fea6127bf565b5f80611ff78686866122d0565b9092509050611fd88683836123c8565b5f81815260018301602052604081205461204c57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610936565b505f610936565b5f818152600183016020526040812054801561212d575f612075600183612f4c565b85549091505f9061208890600190612f4c565b90508181146120e7575f865f0182815481106120a6576120a6612f7a565b905f5260205f200154905080875f0184815481106120c6576120c6612f7a565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806120f8576120f8612f8e565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610936565b5f915050610936565b5092915050565b5f54610100900460ff166121635760405162461bcd60e51b815260040161034a90612eb7565b610839336114f1565b5f54610100900460ff16610e535760405162461bcd60e51b815260040161034a90612eb7565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261081290849061240c565b5f80805f19858709858702925082811083820303915050805f0361221b5783828161221157612211612f19565b04925050506114ea565b808411612226575f80fd5b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b6122956127bf565b5f815260e0840151156122b4575f6020820152604081018290526122c2565b602081018290525f60408201525b606081019290925250919050565b5f805f6122dc866124dd565b609a546040516370a0823160e01b81526001600160a01b0391821660048201529192505f91908316906370a0823190602401602060405180830381865afa158015612329573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061234d9190612fa2565b9050805f0361236f576040516333c2ae0960e11b815260040160405180910390fd5b848110156123b7575f6123948861010001516060015189610100015160400151611f0d565b919350839190506123af8883670de0b6b3a7640000846124f9565b9450506123be565b8492508593505b5050935093915050565b6123d06127bf565b6001815260e0840151156123f057602081018390525f60408201526123fe565b5f6020820152604081018390525b606081019190915292915050565b5f612460826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166125399092919063ffffffff16565b805190915015610812578080602001905181019061247e9190612f5f565b6108125760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161034a565b5f8160e001516124f1578160600151610936565b506080015190565b5f805f61250587612547565b915091505f8061251489612575565b6001600160401b031691506001600160401b031691506118f388828487878c8c611f83565b6060611f7b84845f856125a0565b5f808260e001516125645760408301518051602090910151610e4a565b505060400151602081015190519091565b5f808260e0015161258f578260c001518360a00151610e4a565b505060a081015160c0909101519091565b6060824710156126015760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161034a565b5f80866001600160a01b0316858760405161261c9190612fb9565b5f6040518083038185875af1925050503d805f8114612656576040519150601f19603f3d011682016040523d82523d5f602084013e61265b565b606091505b509150915061266c87838387612677565b979650505050505050565b606083156126e55782515f036126de576001600160a01b0385163b6126de5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161034a565b5081611f7b565b611f7b83838151156126fa5781518083602001fd5b8060405162461bcd60e51b815260040161034a9190612fd4565b6040518061012001604052805f6001600160a01b0316815260200161274a60405180604001604052805f81526020015f81525090565b8152604080516080810182525f8082526020828101829052928201819052606082015291019081525f602080830182905260408084018390526060808501849052608080860185905260a086018590528251908101835284815292830184905290820183905281019190915260c09091015290565b6040805160808101909152805f81526020015f81526020015f81526020015f81525090565b6001600160a01b0381168114610675575f80fd5b8035610e20816127e4565b5f60208284031215612813575f80fd5b81356114ea816127e4565b5f610100828403121561282f575f80fd5b50919050565b5f8060408385031215612846575f80fd5b8235612851816127e4565b91506020830135612861816127e4565b809150509250929050565b602080825282518282018190525f9190848201906040850190845b818110156128ac5783516001600160a01b031683529284019291840191600101612887565b50909695505050505050565b5f805f805f608086880312156128cc575f80fd5b85356128d7816127e4565b9450602086013593506040860135925060608601356001600160401b0380821115612900575f80fd5b818801915088601f830112612913575f80fd5b813581811115612921575f80fd5b896020828501011115612932575f80fd5b9699959850939650602001949392505050565b803563ffffffff81168114610e20575f80fd5b5f8060408385031215612969575f80fd5b8235612974816127e4565b915061298260208401612945565b90509250929050565b634e487b7160e01b5f52602160045260245ffd5b600281106129bb57634e487b7160e01b5f52602160045260245ffd5b9052565b6129ca82825161299f565b6020810151602083015260408101516040830152606081015160608301525050565b82516001600160a01b031681526102808101602084810151805184830152908101516040840152506040840151612a4d6060840182805182526020810151602083015260408101511515604083015261ffff60608201511660608301525050565b5060608401516001600160a01b03811660e0840152506080840151610100612a7f818501836001600160a01b03169052565b60a08601516001600160401b0390811661012086015260c0870151811661014086015260e087015115156101608601529086015180518216610180860152602081015182166101a0860152604081015182166101c086015260600151166101e0840152506114ea6102008301846129bf565b634e487b7160e01b5f52601160045260245ffd5b63ffffffff81811683821601908082111561213657612136612af1565b8151815260208083015160a0830191612b3d9084018261299f565b50604083015115156040830152606083015160018060a01b038082166060850152806080860151166080850152505092915050565b5f5b83811015612b8c578181015183820152602001612b74565b50505f910152565b5f8151808452612bab816020860160208601612b72565b601f01601f19169290920160200192915050565b838152826020820152606060408201525f611f786060830184612b94565b8082018082111561093657610936612af1565b8015158114610675575f80fd5b8035610e2081612bf0565b5f60a08284031215612c18575f80fd5b60405160a081018181106001600160401b0382111715612c4657634e487b7160e01b5f52604160045260245ffd5b60405282358152602083013560028110612c5e575f80fd5b6020820152612c6f60408401612bfd565b6040820152612c80606084016127f8565b6060820152612c91608084016127f8565b60808201529392505050565b5f805f805f8060c08789031215612cb2575f80fd5b865195506020870151945060408701519350606087015192506080870151612cd9816127e4565b60a0880151909250612cea816127e4565b809150509295509295509295565b5f805f805f805f60e0888a031215612d0e575f80fd5b875196506020880151955060408801519450606088015193506080880151612d3581612bf0565b60a089015190935061ffff81168114612d4c575f80fd5b8092505060c0880151905092959891949750929550565b5f60208284031215612d73575f80fd5b81516114ea816127e4565b80356001600160401b0381168114610e20575f80fd5b5f60208284031215612da4575f80fd5b6114ea82612d7e565b6001600160401b0381811683821601908082111561213657612136612af1565b5f60208284031215612ddd575f80fd5b6114ea82612945565b61010081018235612df6816127e4565b6001600160a01b039081168352602084013590612e12826127e4565b16602083015263ffffffff612e2960408501612945565b166040830152612e3b606084016127f8565b6001600160a01b03166060830152612e5560808401612d7e565b6001600160401b03166080830152612e6f60a08401612d7e565b6001600160401b031660a0830152612e8960c08401612d7e565b6001600160401b031660c0830152612ea360e08401612d7e565b6001600160401b03811660e0840152612136565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b808202811582820484141761093657610936612af1565b634e487b7160e01b5f52601260045260245ffd5b5f82612f4757634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561093657610936612af1565b5f60208284031215612f6f575f80fd5b81516114ea81612bf0565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b5f60208284031215612fb2575f80fd5b5051919050565b5f8251612fca818460208701612b72565b9190910192915050565b602081525f6114ea6020830184612b9456fea2646970667358221220468d639d7a0bf2c1ea2039a5de9e8f2f1865fe2795eaed30f7b0adebdc4f085664736f6c634300081800330000000000000000000000000000000000000000000000000000000000000001000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa49c36a286fdff3fd0994fed8be208a7bee49970ea9707e687004fde217e8aa94cbe36dab600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000f2e60a060405260405162000e4e38038062000e4e8339810160408190526200002691620003bb565b828162000034828262000099565b505081604051620000459062000359565b6001600160a01b039091168152602001604051809103905ff0801580156200006f573d5f803e3d5ffd5b506001600160a01b0316608052620000906200008a60805190565b620000fe565b505050620004b2565b620000a4826200016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115620000f057620000eb8282620001ee565b505050565b620000fa62000267565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6200013f5f8051602062000e2e833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a16200016c8162000289565b50565b806001600160a01b03163b5f03620001aa57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f80846001600160a01b0316846040516200020c919062000495565b5f60405180830381855af49150503d805f811462000246576040519150601f19603f3d011682016040523d82523d5f602084013e6200024b565b606091505b5090925090506200025e858383620002ca565b95945050505050565b3415620002875760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002b457604051633173bdd160e11b81525f6004820152602401620001a1565b805f8051602062000e2e833981519152620001cd565b606082620002e357620002dd8262000330565b62000329565b8151158015620002fb57506001600160a01b0384163b155b156200032657604051639996b31560e01b81526001600160a01b0385166004820152602401620001a1565b50805b9392505050565b8051156200034057805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b6104fc806200093283390190565b80516001600160a01b03811681146200037e575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620003b357818101518382015260200162000399565b50505f910152565b5f805f60608486031215620003ce575f80fd5b620003d98462000367565b9250620003e96020850162000367565b60408501519092506001600160401b038082111562000406575f80fd5b818601915086601f8301126200041a575f80fd5b8151818111156200042f576200042f62000383565b604051601f8201601f19908116603f011681019083821181831017156200045a576200045a62000383565b8160405282815289602084870101111562000473575f80fd5b6200048683602083016020880162000397565b80955050505050509250925092565b5f8251620004a881846020870162000397565b9190910192915050565b608051610468620004ca5f395f601001526104685ff3fe608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f806100913660048184610302565b81019061009e919061033d565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b610151565b6100c98261016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101ea565b505050565b6100ac61025c565b5f61014c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e80801561016b573d5ff35b3d5ffd5b806001600160a01b03163b5f036101a957604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516102069190610406565b5f60405180830381855af49150503d805f811461023e576040519150601f19603f3d011682016040523d82523d5f602084013e610243565b606091505b509150915061025385838361027b565b95945050505050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b6060826102905761028b826102da565b6102d3565b81511580156102a757506001600160a01b0384163b155b156102d057604051639996b31560e01b81526001600160a01b03851660048201526024016101a0565b50805b9392505050565b8051156102e957805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f8085851115610310575f80fd5b8386111561031c575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561034e575f80fd5b82356001600160a01b0381168114610364575f80fd5b9150602083013567ffffffffffffffff80821115610380575f80fd5b818501915085601f830112610393575f80fd5b8135818111156103a5576103a5610329565b604051601f8201601f19908116603f011681019083821181831017156103cd576103cd610329565b816040528281528860208487010111156103e5575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f82515f5b81811015610425576020818601810151858301520161040b565b505f92019182525091905056fea2646970667358221220e34e72d84e3a2dd8d2e268415e1cf09d5dd29f94e414167a5753b4c207b18a1b64736f6c63430008180033608060405234801561000f575f80fd5b506040516104fc3803806104fc83398101604081905261002e916100bb565b806001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100658161006c565b50506100e8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100cb575f80fd5b81516001600160a01b03811681146100e1575f80fd5b9392505050565b610407806100f55f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f80fd5b348015610058575f80fd5b506100616100fd565b005b34801561006e575f80fd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f80fd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610372565b3480156100e9575f80fd5b506100616100f836600461038b565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061014890869086906004016103a6565b5f604051808303818588803b15801561015f575f80fd5b505af1158015610171573d5f803e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f805f60608486031215610272575f80fd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff808211156102a9575f80fd5b818601915086601f8301126102bc575f80fd5b8135818111156102ce576102ce61024c565b604051601f8201601f19908116603f011681019083821181831017156102f6576102f661024c565b8160405282815289602084870101111561030e575f80fd5b826020860160208301375f6020848301015280955050505050509250925092565b5f81518084525f5b8181101561035357602081850181015186830182015201610337565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610384602083018461032f565b9392505050565b5f6020828403121561039b575f80fd5b813561038481610238565b6001600160a01b03831681526040602082018190525f906103c99083018461032f565b94935050505056fea2646970667358221220db513a3c9be3a801af2c4caa80d57b4356ddccfc8827495bbdf8e4f0576b9b4c64736f6c63430008180033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000420fbdb50dadf0286144bff91ed62a6893dee148000000000000000000000000fdff3fd0994fed8be208a7bee49970ea9707e68700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc95500000000000000000000000058099b74f4acd642da77b4b7966b4138ec5ba4580000000000000000000000004255cf38e51516766180b33122029a88cb853806000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030fcd4fd891f7de98606bf97cb8654f7ba33c4e700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f2fde38b00000000000000000000000058099b74f4acd642da77b4b7966b4138ec5ba458000000000000000000000000000000000000000000000000

Signatures

0x05920fb0072fef3ba5e9fdde18da0f965ca10732769342d83e39abb90384f5aa44321c3dbe5241f682cd0d99ad031a8d32335edc152dc955202b2912c7cb65c11b