Special data
- Nonce: 1
- Is contract? Yes
-
Contract code:
0x60806040526004361061023a5760003560e01c80636c0360eb1161012e578063b83e1346116100ab578063e08e65ea1161006f578063e08e65ea1461083a578063e0df5b6f14610863578063e985e9c51461088c578063ef978827146108c9578063f2fde38b146108f45761023a565b8063b83e134614610755578063b88d4fde14610780578063c30373ab146107a9578063c87b56dd146107d4578063d8a7ab89146108115761023a565b80638da5cb5b116100f25780638da5cb5b1461069e57806395d89b41146106c957806397254e55146106f4578063a22cb46514610710578063b308ff33146107395761023a565b80636c0360eb146105d85780636ecd23061461060357806370a082311461061f578063715018a61461065c57806378e97925146106735761023a565b80632796d139116101bc57806342842e0e1161018057806342842e0e146104e357806349df728c1461050c5780634aac41e6146105355780634f6ccce71461055e5780636352211e1461059b5761023a565b80632796d139146103fc5780632f745c591461042757806334b6ab1a1461046457806338e21cce1461048f5780633ccfd60b146104cc5761023a565b8063081812fc11610203578063081812fc14610317578063095ea7b31461035457806318160ddd1461037d5780631959d9f8146103a857806323b872dd146103d35761023a565b80629a46fd1461023f5780630186d1371461026857806301ffc9a71461028457806306fdde03146102c157806307e89ec0146102ec575b600080fd5b34801561024b57600080fd5b5061026660048036038101906102619190613624565b61091d565b005b610282600480360381019061027d91906136b6565b6109bd565b005b34801561029057600080fd5b506102ab60048036038101906102a6919061375b565b610c71565b6040516102b89190613797565b60405180910390f35b3480156102cd57600080fd5b506102d6610c83565b6040516102e3919061384b565b60405180910390f35b3480156102f857600080fd5b50610301610d15565b60405161030e9190613886565b60405180910390f35b34801561032357600080fd5b5061033e600480360381019061033991906138cd565b610d21565b60405161034b919061393b565b60405180910390f35b34801561036057600080fd5b5061037b60048036038101906103769190613982565b610da6565b005b34801561038957600080fd5b50610392610ebe565b60405161039f9190613886565b60405180910390f35b3480156103b457600080fd5b506103bd610ecb565b6040516103ca9190613797565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f591906139c2565b610ede565b005b34801561040857600080fd5b50610411610f3e565b60405161041e9190613886565b60405180910390f35b34801561043357600080fd5b5061044e60048036038101906104499190613982565b610f45565b60405161045b9190613886565b60405180910390f35b34801561047057600080fd5b50610479610fea565b6040516104869190613a2e565b60405180910390f35b34801561049b57600080fd5b506104b660048036038101906104b19190613a49565b610ff0565b6040516104c39190613797565b60405180910390f35b3480156104d857600080fd5b506104e1611010565b005b3480156104ef57600080fd5b5061050a600480360381019061050591906139c2565b6110db565b005b34801561051857600080fd5b50610533600480360381019061052e9190613ab4565b6110fb565b005b34801561054157600080fd5b5061055c600480360381019061055791906138cd565b611278565b005b34801561056a57600080fd5b50610585600480360381019061058091906138cd565b6112fe565b6040516105929190613886565b60405180910390f35b3480156105a757600080fd5b506105c260048036038101906105bd91906138cd565b61136f565b6040516105cf919061393b565b60405180910390f35b3480156105e457600080fd5b506105ed611421565b6040516105fa919061384b565b60405180910390f35b61061d60048036038101906106189190613b1a565b6114af565b005b34801561062b57600080fd5b5061064660048036038101906106419190613a49565b6116a4565b6040516106539190613886565b60405180910390f35b34801561066857600080fd5b5061067161175c565b005b34801561067f57600080fd5b506106886117e4565b6040516106959190613886565b60405180910390f35b3480156106aa57600080fd5b506106b36117ea565b6040516106c0919061393b565b60405180910390f35b3480156106d557600080fd5b506106de611814565b6040516106eb919061384b565b60405180910390f35b61070e600480360381019061070991906136b6565b6118a6565b005b34801561071c57600080fd5b5061073760048036038101906107329190613b47565b611c06565b005b610753600480360381019061074e9190613b1a565b611c1c565b005b34801561076157600080fd5b5061076a611dd1565b6040516107779190613a2e565b60405180910390f35b34801561078c57600080fd5b506107a760048036038101906107a29190613cb7565b611dd7565b005b3480156107b557600080fd5b506107be611e39565b6040516107cb9190613886565b60405180910390f35b3480156107e057600080fd5b506107fb60048036038101906107f691906138cd565b611e4e565b604051610808919061384b565b60405180910390f35b34801561081d57600080fd5b5061083860048036038101906108339190613d66565b611eca565b005b34801561084657600080fd5b50610861600480360381019061085c9190613d66565b611f50565b005b34801561086f57600080fd5b5061088a60048036038101906108859190613e34565b611fd6565b005b34801561089857600080fd5b506108b360048036038101906108ae9190613e7d565b61206c565b6040516108c09190613797565b60405180910390f35b3480156108d557600080fd5b506108de612100565b6040516108eb9190613886565b60405180910390f35b34801561090057600080fd5b5061091b60048036038101906109169190613a49565b612106565b005b6109256121fe565b73ffffffffffffffffffffffffffffffffffffffff166109436117ea565b73ffffffffffffffffffffffffffffffffffffffff1614610999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099090613f09565b60405180910390fd5b80601060006101000a81548160ff02191690831515021790555042600f8190555050565b6002600b541415610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa90613f75565b60405180910390fd5b6002600b81905550601060009054906101000a900460ff16610a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5190613fe1565b60405180910390fd5b6001600e5481610a6a600c612206565b610a749190614030565b1115610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac906140d2565b60405180910390fd5b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b399061413e565b60405180910390fd5b8282601154610bb9838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508233604051602001610b9e91906141a6565b60405160208183030381529060405280519060200120612214565b610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef9061420d565b60405180910390fd5b6001601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610c6133610c5c61222b565b612246565b505050506001600b819055505050565b6000610c7c82612264565b9050919050565b606060008054610c929061425c565b80601f0160208091040260200160405190810160405280929190818152602001828054610cbe9061425c565b8015610d0b5780601f10610ce057610100808354040283529160200191610d0b565b820191906000526020600020905b815481529060010190602001808311610cee57829003601f168201915b5050505050905090565b67016345785d8a000081565b6000610d2c826122de565b610d6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6290614300565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610db18261136f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1990614392565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610e416121fe565b73ffffffffffffffffffffffffffffffffffffffff161480610e705750610e6f81610e6a6121fe565b61206c565b5b610eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea690614424565b60405180910390fd5b610eb9838361234a565b505050565b6000600880549050905090565b601060009054906101000a900460ff1681565b610eef610ee96121fe565b82612403565b610f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f25906144b6565b60405180910390fd5b610f398383836124e1565b505050565b6202a30081565b6000610f50836116a4565b8210610f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8890614548565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60125481565b60136020528060005260406000206000915054906101000a900460ff1681565b6110186121fe565b73ffffffffffffffffffffffffffffffffffffffff166110366117ea565b73ffffffffffffffffffffffffffffffffffffffff161461108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108390613f09565b60405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156110d7573d6000803e3d6000fd5b5050565b6110f683838360405180602001604052806000815250611dd7565b505050565b6111036121fe565b73ffffffffffffffffffffffffffffffffffffffff166111216117ea565b73ffffffffffffffffffffffffffffffffffffffff1614611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90613f09565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111b2919061393b565b602060405180830381865afa1580156111cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f3919061457d565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016112309291906145aa565b6020604051808303816000875af115801561124f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127391906145e8565b505050565b6112806121fe565b73ffffffffffffffffffffffffffffffffffffffff1661129e6117ea565b73ffffffffffffffffffffffffffffffffffffffff16146112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112eb90613f09565b60405180910390fd5b80600e8190555050565b6000611308610ebe565b8210611349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134090614687565b60405180910390fd5b6008828154811061135d5761135c6146a7565b5b90600052602060002001549050919050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90614748565b60405180910390fd5b80915050919050565b600d805461142e9061425c565b80601f016020809104026020016040519081016040528092919081815260200182805461145a9061425c565b80156114a75780601f1061147c576101008083540402835291602001916114a7565b820191906000526020600020905b81548152906001019060200180831161148a57829003601f168201915b505050505081565b6002600b5414156114f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ec90613f75565b60405180910390fd5b6002600b81905550601060009054906101000a900460ff1661154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154390613fe1565b60405180910390fd5b8060ff16600e548161155e600c612206565b6115689190614030565b11156115a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a0906140d2565b60405180910390fd5b67016345785d8a00008260ff163481836115c39190614768565b14611603576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fa9061480e565b60405180910390fd5b620697806202a3006116159190614030565b600f546116229190614030565b4211611663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165a9061487a565b60405180910390fd5b60005b8460ff16811015611695576116823361167d61222b565b612246565b808061168d9061489a565b915050611666565b505050506001600b8190555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170c90614955565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6117646121fe565b73ffffffffffffffffffffffffffffffffffffffff166117826117ea565b73ffffffffffffffffffffffffffffffffffffffff16146117d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cf90613f09565b60405180910390fd5b6117e2600061273d565b565b600f5481565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546118239061425c565b80601f016020809104026020016040519081016040528092919081815260200182805461184f9061425c565b801561189c5780601f106118715761010080835404028352916020019161189c565b820191906000526020600020905b81548152906001019060200180831161187f57829003601f168201915b5050505050905090565b6002600b5414156118ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e390613f75565b60405180910390fd5b6002600b81905550601060009054906101000a900460ff16611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193a90613fe1565b60405180910390fd5b6001600e5481611953600c612206565b61195d9190614030565b111561199e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611995906140d2565b60405180910390fd5b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a229061413e565b60405180910390fd5b67016345785d8a00006001348183611a439190614768565b14611a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7a9061480e565b60405180910390fd5b8484601254611afa838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508233604051602001611adf91906141a6565b60405160208183030381529060405280519060200120612214565b611b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b309061420d565b60405180910390fd5b6202a300600f54611b4a9190614030565b4211611b8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b82906149c1565b60405180910390fd5b6001601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611bf433611bef61222b565b612246565b5050505050506001600b819055505050565b611c18611c116121fe565b8383612803565b5050565b6002600b541415611c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5990613f75565b60405180910390fd5b6002600b81905550601060009054906101000a900460ff16611cb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb090613fe1565b60405180910390fd5b8060ff16600e5481611ccb600c612206565b611cd59190614030565b1115611d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0d906140d2565b60405180910390fd5b611d1e6121fe565b73ffffffffffffffffffffffffffffffffffffffff16611d3c6117ea565b73ffffffffffffffffffffffffffffffffffffffff1614611d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8990613f09565b60405180910390fd5b60005b8260ff16811015611dc457611db133611dac61222b565b612246565b8080611dbc9061489a565b915050611d95565b50506001600b8190555050565b60115481565b611de8611de26121fe565b83612403565b611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e906144b6565b60405180910390fd5b611e3384848484612970565b50505050565b620697806202a300611e4b9190614030565b81565b6060611e59826122de565b611e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8f90614a2d565b60405180910390fd5b600d611ea3836129cc565b604051602001611eb4929190614b69565b6040516020818303038152906040529050919050565b611ed26121fe565b73ffffffffffffffffffffffffffffffffffffffff16611ef06117ea565b73ffffffffffffffffffffffffffffffffffffffff1614611f46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3d90613f09565b60405180910390fd5b8060118190555050565b611f586121fe565b73ffffffffffffffffffffffffffffffffffffffff16611f766117ea565b73ffffffffffffffffffffffffffffffffffffffff1614611fcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc390613f09565b60405180910390fd5b8060128190555050565b611fde6121fe565b73ffffffffffffffffffffffffffffffffffffffff16611ffc6117ea565b73ffffffffffffffffffffffffffffffffffffffff1614612052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204990613f09565b60405180910390fd5b80600d9080519060200190612068929190613535565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600e5481565b61210e6121fe565b73ffffffffffffffffffffffffffffffffffffffff1661212c6117ea565b73ffffffffffffffffffffffffffffffffffffffff1614612182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217990613f09565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156121f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e990614c0a565b60405180910390fd5b6121fb8161273d565b50565b600033905090565b600081600001549050919050565b6000826122218584612b2d565b1490509392505050565b6000612237600c612be0565b612241600c612206565b905090565b612260828260405180602001604052806000815250612bf6565b5050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806122d757506122d682612c51565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166123bd8361136f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061240e826122de565b61244d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244490614c9c565b60405180910390fd5b60006124588361136f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806124c757508373ffffffffffffffffffffffffffffffffffffffff166124af84610d21565b73ffffffffffffffffffffffffffffffffffffffff16145b806124d857506124d7818561206c565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166125018261136f565b73ffffffffffffffffffffffffffffffffffffffff1614612557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254e90614d2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125be90614dc0565b60405180910390fd5b6125d2838383612d33565b6125dd60008261234a565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461262d9190614de0565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126849190614030565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612872576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286990614e60565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516129639190613797565b60405180910390a3505050565b61297b8484846124e1565b61298784848484612d43565b6129c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129bd90614ef2565b60405180910390fd5b50505050565b60606000821415612a14576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612b28565b600082905060005b60008214612a46578080612a2f9061489a565b915050600a82612a3f9190614f41565b9150612a1c565b60008167ffffffffffffffff811115612a6257612a61613b8c565b5b6040519080825280601f01601f191660200182016040528015612a945781602001600182028036833780820191505090505b5090505b60008514612b2157600182612aad9190614de0565b9150600a85612abc9190614f72565b6030612ac89190614030565b60f81b818381518110612ade57612add6146a7565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612b1a9190614f41565b9450612a98565b8093505050505b919050565b60008082905060005b8451811015612bd5576000858281518110612b5457612b536146a7565b5b60200260200101519050808311612b95578281604051602001612b78929190614fc4565b604051602081830303815290604052805190602001209250612bc1565b8083604051602001612ba8929190614fc4565b6040516020818303038152906040528051906020012092505b508080612bcd9061489a565b915050612b36565b508091505092915050565b6001816000016000828254019250508190555050565b612c008383612ecb565b612c0d6000848484612d43565b612c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c4390614ef2565b60405180910390fd5b505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612d1c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612d2c5750612d2b82613099565b5b9050919050565b612d3e838383613103565b505050565b6000612d648473ffffffffffffffffffffffffffffffffffffffff16613217565b15612ebe578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612d8d6121fe565b8786866040518563ffffffff1660e01b8152600401612daf9493929190615045565b6020604051808303816000875af1925050508015612deb57506040513d601f19601f82011682018060405250810190612de891906150a6565b60015b612e6e573d8060008114612e1b576040519150601f19603f3d011682016040523d82523d6000602084013e612e20565b606091505b50600081511415612e66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5d90614ef2565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612ec3565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f329061511f565b60405180910390fd5b612f44816122de565b15612f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f7b9061518b565b60405180910390fd5b612f9060008383612d33565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612fe09190614030565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61310e83838361322a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156131515761314c8161322f565b613190565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461318f5761318e8382613278565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156131d3576131ce816133e5565b613212565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146132115761321082826134b6565b5b5b505050565b600080823b905060008111915050919050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001613285846116a4565b61328f9190614de0565b9050600060076000848152602001908152602001600020549050818114613374576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506133f99190614de0565b9050600060096000848152602001908152602001600020549050600060088381548110613429576134286146a7565b5b90600052602060002001549050806008838154811061344b5761344a6146a7565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061349a576134996151ab565b5b6001900381819060005260206000200160009055905550505050565b60006134c1836116a4565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b8280546135419061425c565b90600052602060002090601f01602090048101928261356357600085556135aa565b82601f1061357c57805160ff19168380011785556135aa565b828001600101855582156135aa579182015b828111156135a957825182559160200191906001019061358e565b5b5090506135b791906135bb565b5090565b5b808211156135d45760008160009055506001016135bc565b5090565b6000604051905090565b600080fd5b600080fd5b60008115159050919050565b613601816135ec565b811461360c57600080fd5b50565b60008135905061361e816135f8565b92915050565b60006020828403121561363a576136396135e2565b5b60006136488482850161360f565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261367657613675613651565b5b8235905067ffffffffffffffff81111561369357613692613656565b5b6020830191508360208202830111156136af576136ae61365b565b5b9250929050565b600080602083850312156136cd576136cc6135e2565b5b600083013567ffffffffffffffff8111156136eb576136ea6135e7565b5b6136f785828601613660565b92509250509250929050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61373881613703565b811461374357600080fd5b50565b6000813590506137558161372f565b92915050565b600060208284031215613771576137706135e2565b5b600061377f84828501613746565b91505092915050565b613791816135ec565b82525050565b60006020820190506137ac6000830184613788565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156137ec5780820151818401526020810190506137d1565b838111156137fb576000848401525b50505050565b6000601f19601f8301169050919050565b600061381d826137b2565b61382781856137bd565b93506138378185602086016137ce565b61384081613801565b840191505092915050565b600060208201905081810360008301526138658184613812565b905092915050565b6000819050919050565b6138808161386d565b82525050565b600060208201905061389b6000830184613877565b92915050565b6138aa8161386d565b81146138b557600080fd5b50565b6000813590506138c7816138a1565b92915050565b6000602082840312156138e3576138e26135e2565b5b60006138f1848285016138b8565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613925826138fa565b9050919050565b6139358161391a565b82525050565b6000602082019050613950600083018461392c565b92915050565b61395f8161391a565b811461396a57600080fd5b50565b60008135905061397c81613956565b92915050565b60008060408385031215613999576139986135e2565b5b60006139a78582860161396d565b92505060206139b8858286016138b8565b9150509250929050565b6000806000606084860312156139db576139da6135e2565b5b60006139e98682870161396d565b93505060206139fa8682870161396d565b9250506040613a0b868287016138b8565b9150509250925092565b6000819050919050565b613a2881613a15565b82525050565b6000602082019050613a436000830184613a1f565b92915050565b600060208284031215613a5f57613a5e6135e2565b5b6000613a6d8482850161396d565b91505092915050565b6000613a818261391a565b9050919050565b613a9181613a76565b8114613a9c57600080fd5b50565b600081359050613aae81613a88565b92915050565b600060208284031215613aca57613ac96135e2565b5b6000613ad884828501613a9f565b91505092915050565b600060ff82169050919050565b613af781613ae1565b8114613b0257600080fd5b50565b600081359050613b1481613aee565b92915050565b600060208284031215613b3057613b2f6135e2565b5b6000613b3e84828501613b05565b91505092915050565b60008060408385031215613b5e57613b5d6135e2565b5b6000613b6c8582860161396d565b9250506020613b7d8582860161360f565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613bc482613801565b810181811067ffffffffffffffff82111715613be357613be2613b8c565b5b80604052505050565b6000613bf66135d8565b9050613c028282613bbb565b919050565b600067ffffffffffffffff821115613c2257613c21613b8c565b5b613c2b82613801565b9050602081019050919050565b82818337600083830152505050565b6000613c5a613c5584613c07565b613bec565b905082815260208101848484011115613c7657613c75613b87565b5b613c81848285613c38565b509392505050565b600082601f830112613c9e57613c9d613651565b5b8135613cae848260208601613c47565b91505092915050565b60008060008060808587031215613cd157613cd06135e2565b5b6000613cdf8782880161396d565b9450506020613cf08782880161396d565b9350506040613d01878288016138b8565b925050606085013567ffffffffffffffff811115613d2257613d216135e7565b5b613d2e87828801613c89565b91505092959194509250565b613d4381613a15565b8114613d4e57600080fd5b50565b600081359050613d6081613d3a565b92915050565b600060208284031215613d7c57613d7b6135e2565b5b6000613d8a84828501613d51565b91505092915050565b600067ffffffffffffffff821115613dae57613dad613b8c565b5b613db782613801565b9050602081019050919050565b6000613dd7613dd284613d93565b613bec565b905082815260208101848484011115613df357613df2613b87565b5b613dfe848285613c38565b509392505050565b600082601f830112613e1b57613e1a613651565b5b8135613e2b848260208601613dc4565b91505092915050565b600060208284031215613e4a57613e496135e2565b5b600082013567ffffffffffffffff811115613e6857613e676135e7565b5b613e7484828501613e06565b91505092915050565b60008060408385031215613e9457613e936135e2565b5b6000613ea28582860161396d565b9250506020613eb38582860161396d565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613ef36020836137bd565b9150613efe82613ebd565b602082019050919050565b60006020820190508181036000830152613f2281613ee6565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000613f5f601f836137bd565b9150613f6a82613f29565b602082019050919050565b60006020820190508181036000830152613f8e81613f52565b9050919050565b7f4f472073616c65206973206e6f74206f70656e00000000000000000000000000600082015250565b6000613fcb6013836137bd565b9150613fd682613f95565b602082019050919050565b60006020820190508181036000830152613ffa81613fbe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061403b8261386d565b91506140468361386d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561407b5761407a614001565b5b828201905092915050565b7f4e6f204772756773204c65667400000000000000000000000000000000000000600082015250565b60006140bc600d836137bd565b91506140c782614086565b602082019050919050565b600060208201905081810360008301526140eb816140af565b9050919050565b7f416c7265616479204d696e746564000000000000000000000000000000000000600082015250565b6000614128600e836137bd565b9150614133826140f2565b602082019050919050565b600060208201905081810360008301526141578161411b565b9050919050565b60008160601b9050919050565b60006141768261415e565b9050919050565b60006141888261416b565b9050919050565b6141a061419b8261391a565b61417d565b82525050565b60006141b2828461418f565b60148201915081905092915050565b7f4164647265737320646f6573206e6f74206578697374206f6e206c6973740000600082015250565b60006141f7601e836137bd565b9150614202826141c1565b602082019050919050565b60006020820190508181036000830152614226816141ea565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061427457607f821691505b602082108114156142885761428761422d565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006142ea602c836137bd565b91506142f58261428e565b604082019050919050565b60006020820190508181036000830152614319816142dd565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061437c6021836137bd565b915061438782614320565b604082019050919050565b600060208201905081810360008301526143ab8161436f565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b600061440e6038836137bd565b9150614419826143b2565b604082019050919050565b6000602082019050818103600083015261443d81614401565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b60006144a06031836137bd565b91506144ab82614444565b604082019050919050565b600060208201905081810360008301526144cf81614493565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000614532602b836137bd565b915061453d826144d6565b604082019050919050565b6000602082019050818103600083015261456181614525565b9050919050565b600081519050614577816138a1565b92915050565b600060208284031215614593576145926135e2565b5b60006145a184828501614568565b91505092915050565b60006040820190506145bf600083018561392c565b6145cc6020830184613877565b9392505050565b6000815190506145e2816135f8565b92915050565b6000602082840312156145fe576145fd6135e2565b5b600061460c848285016145d3565b91505092915050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614671602c836137bd565b915061467c82614615565b604082019050919050565b600060208201905081810360008301526146a081614664565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006147326029836137bd565b915061473d826146d6565b604082019050919050565b6000602082019050818103600083015261476181614725565b9050919050565b60006147738261386d565b915061477e8361386d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156147b7576147b6614001565b5b828202905092915050565b7f496e636f7272656374204554482076616c75652073656e740000000000000000600082015250565b60006147f86018836137bd565b9150614803826147c2565b602082019050919050565b60006020820190508181036000830152614827816147eb565b9050919050565b7f7075626c6963206d696e74206e6f742073746172746564000000000000000000600082015250565b60006148646017836137bd565b915061486f8261482e565b602082019050919050565b6000602082019050818103600083015261489381614857565b9050919050565b60006148a58261386d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156148d8576148d7614001565b5b600182019050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b600061493f602a836137bd565b915061494a826148e3565b604082019050919050565b6000602082019050818103600083015261496e81614932565b9050919050565b7f77686974656c697374206d696e74206e6f742073746172746564000000000000600082015250565b60006149ab601a836137bd565b91506149b682614975565b602082019050919050565b600060208201905081810360008301526149da8161499e565b9050919050565b7f4e6f6e6578697374656e7420746f6b656e000000000000000000000000000000600082015250565b6000614a176011836137bd565b9150614a22826149e1565b602082019050919050565b60006020820190508181036000830152614a4681614a0a565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154614a7a8161425c565b614a848186614a4d565b94506001821660008114614a9f5760018114614ab057614ae3565b60ff19831686528186019350614ae3565b614ab985614a58565b60005b83811015614adb57815481890152600182019150602081019050614abc565b838801955050505b50505092915050565b7f2f00000000000000000000000000000000000000000000000000000000000000600082015250565b6000614b22600183614a4d565b9150614b2d82614aec565b600182019050919050565b6000614b43826137b2565b614b4d8185614a4d565b9350614b5d8185602086016137ce565b80840191505092915050565b6000614b758285614a6d565b9150614b8082614b15565b9150614b8c8284614b38565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614bf46026836137bd565b9150614bff82614b98565b604082019050919050565b60006020820190508181036000830152614c2381614be7565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000614c86602c836137bd565b9150614c9182614c2a565b604082019050919050565b60006020820190508181036000830152614cb581614c79565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b6000614d186029836137bd565b9150614d2382614cbc565b604082019050919050565b60006020820190508181036000830152614d4781614d0b565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614daa6024836137bd565b9150614db582614d4e565b604082019050919050565b60006020820190508181036000830152614dd981614d9d565b9050919050565b6000614deb8261386d565b9150614df68361386d565b925082821015614e0957614e08614001565b5b828203905092915050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614e4a6019836137bd565b9150614e5582614e14565b602082019050919050565b60006020820190508181036000830152614e7981614e3d565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614edc6032836137bd565b9150614ee782614e80565b604082019050919050565b60006020820190508181036000830152614f0b81614ecf565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614f4c8261386d565b9150614f578361386d565b925082614f6757614f66614f12565b5b828204905092915050565b6000614f7d8261386d565b9150614f888361386d565b925082614f9857614f97614f12565b5b828206905092915050565b6000819050919050565b614fbe614fb982613a15565b614fa3565b82525050565b6000614fd08285614fad565b602082019150614fe08284614fad565b6020820191508190509392505050565b600081519050919050565b600082825260208201905092915050565b600061501782614ff0565b6150218185614ffb565b93506150318185602086016137ce565b61503a81613801565b840191505092915050565b600060808201905061505a600083018761392c565b615067602083018661392c565b6150746040830185613877565b8181036060830152615086818461500c565b905095945050505050565b6000815190506150a08161372f565b92915050565b6000602082840312156150bc576150bb6135e2565b5b60006150ca84828501615091565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006151096020836137bd565b9150615114826150d3565b602082019050919050565b60006020820190508181036000830152615138816150fc565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615175601c836137bd565b91506151808261513f565b602082019050919050565b600060208201905081810360008301526151a481615168565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212202b6ab5b9034da7ead1a69f6adf331386ca16d3e725ede6f4472adcf93a33c5ea64736f6c634300080a0033