diff --git a/broadcast/111-upgrade_app_registry.s.sol/7887/run-1730390196.json b/broadcast/111-upgrade_app_registry.s.sol/7887/run-1730390196.json new file mode 100644 index 00000000..2512fc96 --- /dev/null +++ b/broadcast/111-upgrade_app_registry.s.sol/7887/run-1730390196.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0x63bfba43b601311e8cd2a32af96b3f969773be8208e77916f17a8e5998d93155", + "transactionType": "CREATE2", + "contractName": "KintoAppRegistry", + "contractAddress": "0xb94240ff4ab45811c550ee3c5ea19bc692210a29", + "function": null, + "arguments": [ + "0x8a4720488CA32f1223ccFE5A087e250fE3BC5D75", + "0x1842a4EFf3eFd24c50B63c3CF89cECEe245Fc2bd" + ], + "transaction": { + "from": "0x660ad4b5a74130a4796b4d54bc6750ae93c86e6c", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "value": "0x0", + "input": "0x0000000000000000000000000000000000000000000000000000000000000000610100604052306080523480156200001657600080fd5b50604051620060ab380380620060ab8339810160408190526200003991620001aa565b62000043620000d0565b6001600160a01b0380831660c081905290821660a052604080516399a6cddd60e01b815290516399a6cddd916004808201926020929091908290030181865afa15801562000095573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000bb9190620001e9565b6001600160a01b031660e05250620002109050565b600054610100900460ff16156200013d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200018f576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b0381168114620001a757600080fd5b50565b60008060408385031215620001be57600080fd5b8251620001cb8162000191565b6020840151909250620001de8162000191565b809150509250929050565b600060208284031215620001fc57600080fd5b8151620002098162000191565b9392505050565b60805160a05160c05160e051615dea620002c160003960008181610ac50152818161150601528181611a8a01528181611d650152818161200601526122e4015260008181610d2201528181610f200152818161145b015281816116ad01528181611cc8015281816122460152613cc20152600081816105e8015281816113ec01526119150152600081816124d701528181612517015281816125d10152818161261101526127370152615dea6000f3fe6080604052600436106104525760003560e01c80637ed6a5cb1161023f578063b7b188d111610139578063dc3acebe116100b6578063e985e9c51161007a578063e985e9c514610e29578063f2c9784f14610e72578063f2fde38b14610e9a578063fae3f61214610eba578063fd96326814610ed557600080fd5b8063dc3acebe14610d8c578063e2c4631614610dac578063e44bde3b14610dcc578063e614b4e914610de1578063e739d16214610e0e57600080fd5b8063c1d3c7b3116100fd578063c1d3c7b314610cd0578063c233e2a314610cf0578063c5c0369914610d10578063c87b56dd14610d44578063db9d31f414610d6457600080fd5b8063b7b188d114610c18578063b88d4fde14610c2d578063bb28e1e714610c4d578063bf0b065514610c7e578063c1475bac14610c9957600080fd5b806399a6cddd116101c7578063a22cb4651161018b578063a22cb46514610b5d578063a2ac0a0214610b7d578063b17025b014610b9d578063b4e0028114610bca578063b55ca2c314610c0157600080fd5b806399a6cddd14610ab35780639a6896f614610ae75780639dabef0314610b075780639de85d0814610b22578063a217170014610b3d57600080fd5b80638da5cb5b1161020e5780638da5cb5b146109d657806392e1c6c1146109f45780639461b86814610a2b57806395d89b4114610a6257806396e62b6014610a9357600080fd5b80637ed6a5cb1461094c5780638129fc1c1461096c5780638a2828da146109815780638c0fdf98146109b257600080fd5b80633659cfe6116103505780636352211e116102d857806377e932ac1161029c57806377e932ac1461089a57806377ffb529146108ba5780637975f38e146108da5780637a738545146108f55780637b787a241461091557600080fd5b80636352211e146108105780636d3005de1461083057806370a0823114610845578063715018a614610865578063725928511461087a57600080fd5b80634f1ef2861161031f5780634f1ef286146107935780634f6ccce7146107a657806352d1902d146107c657806352daa608146107db5780635b19c2d8146107f057600080fd5b80633659cfe6146106f757806342842e0e146107175780634a4693be146107375780634b5aea5d1461076b57600080fd5b80631473cc08116103de5780632357eda3116103a25780632357eda31461066b57806323b872dd1461068b57806323effcd1146106ab57806329ef5c1b146106c25780632f745c59146106d757600080fd5b80631473cc08146105b657806316e4cbf9146105d657806318160ddd1461060a57806318f062cd146106295780631e2c6d3e1461064b57600080fd5b8063095ea7b311610425578063095ea7b3146105215780630e6ff4321461054157806312015e521461056157806312c3aad51461057657806313bc6d4b1461059657600080fd5b806301ffc9a7146104575780630665e6ac1461048c57806306fdde03146104ae578063081812fc146104e9575b600080fd5b34801561046357600080fd5b506104776104723660046150b8565b610ef0565b60405190151581526020015b60405180910390f35b34801561049857600080fd5b506104ac6104a73660046150ea565b610f01565b005b3480156104ba57600080fd5b5060408051808201909152600981526804b696e746f204150560bc1b60208201525b6040516104839190615173565b3480156104f557600080fd5b50610509610504366004615186565b6110ef565b6040516001600160a01b039091168152602001610483565b34801561052d57600080fd5b506104ac61053c36600461519f565b611116565b34801561054d57600080fd5b506104ac61055c366004615217565b61122b565b34801561056d57600080fd5b50610509606e81565b34801561058257600080fd5b50610509610591366004615186565b61134d565b3480156105a257600080fd5b506104776105b1366004615259565b611378565b3480156105c257600080fd5b506104ac6105d13660046152b8565b611446565b3480156105e257600080fd5b506105097f000000000000000000000000000000000000000000000000000000000000000081565b34801561061657600080fd5b506099545b604051908152602001610483565b34801561063557600080fd5b5061063e6117c5565b60405161048391906153c4565b34801561065757600080fd5b506104776106663660046150ea565b6119e0565b34801561067757600080fd5b506104776106863660046153d7565b611e66565b34801561069757600080fd5b506104ac6106a6366004615444565b612406565b3480156106b757600080fd5b5061061b62278d0081565b3480156106ce57600080fd5b5061061b600a81565b3480156106e357600080fd5b5061061b6106f236600461519f565b612437565b34801561070357600080fd5b506104ac610712366004615259565b6124cd565b34801561072357600080fd5b506104ac610732366004615444565b6125ac565b34801561074357600080fd5b5061075263040b850f60e31b81565b6040516001600160e01b03199091168152602001610483565b34801561077757600080fd5b50610509734e59b44847b379578588920ca78fbf26c0b4956c81565b6104ac6107a1366004615528565b6125c7565b3480156107b257600080fd5b5061061b6107c1366004615186565b612697565b3480156107d257600080fd5b5061061b61272a565b3480156107e757600080fd5b5061063e6127dd565b3480156107fc57600080fd5b5061050961080b366004615186565b612840565b34801561081c57600080fd5b5061050961082b366004615186565b612851565b34801561083c57600080fd5b5061063e6128b1565b34801561085157600080fd5b5061061b610860366004615259565b612912565b34801561087157600080fd5b506104ac612998565b34801561088657600080fd5b506104ac610895366004615217565b6129ac565b3480156108a657600080fd5b506104776108b5366004615578565b612ace565b3480156108c657600080fd5b506105096108d5366004615186565b612b4c565b3480156108e657600080fd5b506107526307eb652360e21b81565b34801561090157600080fd5b50610477610910366004615259565b612b5d565b34801561092157600080fd5b50610509610930366004615259565b610168602052600090815260409020546001600160a01b031681565b34801561095857600080fd5b506104ac610967366004615259565b612ba7565b34801561097857600080fd5b506104ac612c5e565b34801561098d57600080fd5b5061047761099c366004615259565b61016a6020526000908152604090205460ff1681565b3480156109be57600080fd5b506105096f71727de22e5e9d8baf0edac6f37da03281565b3480156109e257600080fd5b5060c9546001600160a01b0316610509565b348015610a0057600080fd5b50610509610a0f366004615259565b610164602052600090815260409020546001600160a01b031681565b348015610a3757600080fd5b50610509610a46366004615186565b610162602052600090815260409020546001600160a01b031681565b348015610a6e57600080fd5b5060408051808201909152600881526704b494e544f4150560c41b60208201526104dc565b348015610a9f57600080fd5b50610477610aae3660046150b8565b612dd2565b348015610abf57600080fd5b506105097f000000000000000000000000000000000000000000000000000000000000000081565b348015610af357600080fd5b506104ac610b023660046150ea565b612e00565b348015610b1357600080fd5b506107526306df68c760e51b81565b348015610b2e57600080fd5b5061061b662386f26fc1000081565b348015610b4957600080fd5b50610477610b583660046150ea565b612e37565b348015610b6957600080fd5b506104ac610b783660046155b4565b612eac565b348015610b8957600080fd5b50610477610b983660046150b8565b612eb7565b348015610ba957600080fd5b50610bbd610bb8366004615259565b612eed565b60405161048391906155e2565b348015610bd657600080fd5b50610509610be5366004615259565b610167602052600090815260409020546001600160a01b031681565b348015610c0d57600080fd5b5061061b6101635481565b348015610c2457600080fd5b5061061b603c81565b348015610c3957600080fd5b506104ac610c48366004615613565b612fd9565b348015610c5957600080fd5b50610477610c68366004615259565b61016c6020526000908152604090205460ff1681565b348015610c8a57600080fd5b5061075263b760faf960e01b81565b348015610ca557600080fd5b50610509610cb4366004615259565b610160602052600090815260409020546001600160a01b031681565b348015610cdc57600080fd5b506104ac610ceb3660046152b8565b613011565b348015610cfc57600080fd5b506104ac610d0b366004615217565b6130e1565b348015610d1c57600080fd5b506105097f000000000000000000000000000000000000000000000000000000000000000081565b348015610d5057600080fd5b506104dc610d5f366004615186565b613203565b348015610d7057600080fd5b5061050973660ad4b5a74130a4796b4d54bc6750ae93c86e6c81565b348015610d9857600080fd5b50610509610da7366004615259565b613269565b348015610db857600080fd5b506104ac610dc736600461567f565b6132b1565b348015610dd857600080fd5b50610752600081565b348015610ded57600080fd5b50610e01610dfc366004615259565b6134d3565b6040516104839190615702565b348015610e1a57600080fd5b5061075263611d2e7560e11b81565b348015610e3557600080fd5b50610477610e443660046150ea565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b348015610e7e57600080fd5b50610509732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb81565b348015610ea657600080fd5b506104ac610eb5366004615259565b613731565b348015610ec657600080fd5b50610752634b1d7cf560e01b81565b348015610ee157600080fd5b5061075263765e827f60e01b81565b6000610efb826137a7565b92915050565b6040516304131fc960e31b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690632098fe4890602401602060405180830381865afa158015610f67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8b91906157a3565b600003610fbb57604051633146914d60e11b81526001600160a01b03831660048201526024015b60405180910390fd5b60c9546001600160a01b03163314801590610fdf5750336001600160a01b03831614155b1561100857604051633146914d60e11b81526001600160a01b0383166004820152602401610fb2565b6001600160a01b03828116600090815261016860205260409020541615611071576001600160a01b03808316600081815261016860208181526040808420805490961684526101678252832080546001600160a01b031990811690915593909252905281541690555b6040516001600160a01b038216907fb3aeb43a1257df8782f2b4a1e24e054eebef0ecb13c22fea8a16078ca40a4fd990600090a26001600160a01b039182166000818152610168602090815260408083208054969095166001600160a01b031996871681179095559382526101679052919091208054909216179055565b60006110fa826137cc565b506000908152606960205260409020546001600160a01b031690565b600061112182612851565b9050806001600160a01b0316836001600160a01b03160361118e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610fb2565b336001600160a01b03821614806111aa57506111aa8133610e44565b61121c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610fb2565b611226838361382b565b505050565b611233613899565b7f33faed76ddc60c6bbbed3a0b267181db13bde22b167f1624e1a922748bb8989d6101658383604051611268939291906157bc565b60405180910390a160005b610165548110156112d55760006101666000610165848154811061129957611299615854565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101611273565b5060005b8181101561133f57600161016660008585858181106112fa576112fa615854565b905060200201602081019061130f9190615259565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556001016112d9565b506112266101658383614fb7565b610169818154811061135e57600080fd5b6000918252602090912001546001600160a01b0316905081565b60006001600160a01b0382163014806113ad57506001600160a01b038216732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb145b806113d057506001600160a01b0382166f71727de22e5e9d8baf0edac6f37da032145b806113e457506001600160a01b038216606e145b8061142057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80610efb5750506001600160a01b03166000908152610166602052604090205460ff1690565b6040516304131fc960e31b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632098fe4890602401602060405180830381865afa1580156114aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ce91906157a3565b6000036114f057604051633146914d60e11b8152336004820152602401610fb2565b60405163025e7c2760e01b8152600060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690639944f51890339063025e7c2790602401602060405180830381865afa15801561155d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611581919061586a565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156115c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e99190615887565b611606576040516320e155c960e21b815260040160405180910390fd5b6001600160a01b038616600090815261015f602052604090205415611649576040516345ed80e960e01b81526001600160a01b0387166004820152602401610fb2565b6001600160a01b0386811660009081526101606020526040902054161561168e5760405163581f587f60e01b81526001600160a01b0387166004820152602401610fb2565b6040516304131fc960e31b81526001600160a01b0387811660048301527f00000000000000000000000000000000000000000000000000000000000000001690632098fe4890602401602060405180830381865afa1580156116f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171891906157a3565b1561174157604051638561d0f960e01b81526001600160a01b0387166004820152602401610fb2565b6101638054906000611752836158ba565b919050555061176b6101635489898989898989896138f3565b6117783361016354613fbd565b604080513381524260208201526001600160a01b038816917fa556480340fa0f22d63dd2fa81b30a61453ebf99f0bfca6cdff6af42e492ab50910160405180910390a25050505050505050565b610165546060906000906117da9060056158d3565b67ffffffffffffffff8111156117f2576117f2615485565b60405190808252806020026020018201604052801561181b578160200160208202803683370190505b509050308160008151811061183257611832615854565b60200260200101906001600160a01b031690816001600160a01b031681525050732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb8160018151811061187a5761187a615854565b60200260200101906001600160a01b031690816001600160a01b0316815250506f71727de22e5e9d8baf0edac6f37da032816002815181106118be576118be615854565b60200260200101906001600160a01b031690816001600160a01b031681525050606e816003815181106118f3576118f3615854565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160048151811061194757611947615854565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b610165548110156119da57610165818154811061198957611989615854565b6000918252602090912001546001600160a01b0316826119aa8360056158d3565b815181106119ba576119ba615854565b6001600160a01b039092166020928302919091019091015260010161196a565b50919050565b6001600160a01b0381166000908152610166602052604081205460ff1615611a0a57506001610efb565b6001600160a01b0382161580611a3c57506001600160a01b038216734e59b44847b379578588920ca78fbf26c0b4956c145b15611b7f576001600160a01b03808416600090815261016760205260409020541680611a6c576000915050610efb565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa158015611adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aff919061586a565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b679190615887565b611b75576000915050610efb565b6001915050610efb565b6001600160a01b0382811660009081526101606020526040812054909116611be8576001600160a01b038381166000908152610164602052604090205416611bc75782611c05565b6001600160a01b038084166000908152610164602052604090205416611c05565b6001600160a01b0380841660009081526101606020526040902054165b6001600160a01b038581166000908152610164602052604090205491925082811691161480611c7e57506001600160a01b038084166000908152610164602052604080822054878416835291205482169116148015611c7e57506001600160a01b03848116600090815261016460205260409020541615155b15611e5c576001600160a01b038116600090815261015f6020526040812054611ca690612851565b6040516304131fc960e31b81526001600160a01b0380831660048301529192507f000000000000000000000000000000000000000000000000000000000000000090911690632098fe4890602401602060405180830381865afa158015611d11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3591906157a3565b600003611d4757600092505050610efb565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa158015611db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dda919061586a565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e429190615887565b611e5157600092505050610efb565b600192505050610efb565b5060009392505050565b60008083611e75576000611e8c565b611e836004600086886158e6565b611e8c91615910565b9050611e9786612b5d565b8015611ea75750611ea781612eb7565b15611ef1576000611ebc6024600487896158e6565b810190611ec99190615259565b9050806001600160a01b0316886001600160a01b031614611eef576000925050506123fd565b505b611efb8682612ace565b15611f45576000611f0f85600481896158e6565b810190611f1c9190615940565b915050806001600160a01b0316886001600160a01b031614611f43576000925050506123fd565b505b611f4e86612b5d565b8015611f5e5750611f5e81612dd2565b15611f6d5760009150506123fd565b611f7686611378565b15611f855760019150506123fd565b6001600160a01b0386161580611fb757506001600160a01b038616734e59b44847b379578588920ca78fbf26c0b4956c145b156120fd576001600160a01b03808816600090815261016760205260409020541680611fe8576000925050506123fd565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa158015612057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061207b919061586a565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156120bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e39190615887565b6120f2576000925050506123fd565b6001925050506123fd565b6001600160a01b0386811660009081526101606020526040812054909116612166576001600160a01b0387811660009081526101646020526040902054166121455786612183565b6001600160a01b038088166000908152610164602052604090205416612183565b6001600160a01b0380881660009081526101606020526040902054165b6001600160a01b0389811660009081526101646020526040902054919250828116911614806121fc57506001600160a01b0380881660009081526101646020526040808220548b84168352912054821691161480156121fc57506001600160a01b03888116600090815261016460205260409020541615155b156123dd576001600160a01b038116600090815261015f602052604081205461222490612851565b6040516304131fc960e31b81526001600160a01b0380831660048301529192507f000000000000000000000000000000000000000000000000000000000000000090911690632098fe4890602401602060405180830381865afa15801561228f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b391906157a3565b6000036122c657600093505050506123fd565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa158015612335573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612359919061586a565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561239d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c19190615887565b6123d157600093505050506123fd565b600193505050506123fd565b6001600160a01b0387166123f6576000925050506123fd565b6000925050505b95945050505050565b6124103382613fd7565b61242c5760405162461bcd60e51b8152600401610fb290615965565b611226838383614056565b600061244283612912565b82106124a45760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610fb2565b506001600160a01b03919091166000908152609760209081526040808320938352929052205490565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036125155760405162461bcd60e51b8152600401610fb2906159b2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661255e600080516020615d4a833981519152546001600160a01b031690565b6001600160a01b0316146125845760405162461bcd60e51b8152600401610fb2906159fe565b61258d816141c7565b604080516000808252602082019092526125a9918391906141cf565b50565b61122683838360405180602001604052806000815250612fd9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361260f5760405162461bcd60e51b8152600401610fb2906159b2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612658600080516020615d4a833981519152546001600160a01b031690565b6001600160a01b03161461267e5760405162461bcd60e51b8152600401610fb2906159fe565b612687826141c7565b612693828260016141cf565b5050565b60006126a260995490565b82106127055760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610fb2565b6099828154811061271857612718615854565b90600052602060002001549050919050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146127ca5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610fb2565b50600080516020615d4a83398151915290565b606061016980548060200260200160405190810160405280929190818152602001828054801561283657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612818575b5050505050905090565b610165818154811061135e57600080fd5b6000818152606760205260408120546001600160a01b031680610efb5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fb2565b606061016b805480602002602001604051908101604052809291908181526020018280548015612836576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311612818575050505050905090565b60006001600160a01b03821661297c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610fb2565b506001600160a01b031660009081526068602052604090205490565b6129a0613899565b6129aa600061433a565b565b6129b4613899565b7ffdcc6d089475f32a8859ad321734e908c5baf20dc8620467af021801d2f30cd061016983836040516129e9939291906157bc565b60405180910390a160005b61016954811015612a5657600061016a60006101698481548110612a1a57612a1a615854565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790556001016129f4565b5060005b81811015612ac057600161016a6000858585818110612a7b57612a7b615854565b9050602002016020810190612a909190615259565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101612a5a565b506112266101698383614fb7565b6000612ad983612b5d565b8015612b4557506001600160e01b031982166307eb652360e21b1480612b0f57506001600160e01b0319821663765e827f60e01b145b80612b2a57506001600160e01b03198216634b1d7cf560e01b145b80612b4557506001600160e01b031982166306df68c760e51b145b9392505050565b61016b818154811061135e57600080fd5b60006001600160a01b038216732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb1480610efb57506001600160a01b0382166f71727de22e5e9d8baf0edac6f37da0321492915050565b612baf613899565b6001600160a01b038116600090815261015f602052604090206001015460ff1615612bf857604051636398134f60e11b81526001600160a01b0382166004820152602401610fb2565b6001600160a01b038116600081815261015f6020526040908190206001908101805460ff19169091179055517f8aa2b15126b5f19780e90450219824aa62847223823a97580eda33ccad359a5190612c539042815260200190565b60405180910390a250565b600054610100900460ff1615808015612c7e5750600054600160ff909116105b80612c985750303b158015612c98575060005460ff166001145b612cfb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610fb2565b6000805460ff191660011790558015612d1e576000805461ff0019166101001790555b612d696040518060400160405280600981526020016804b696e746f204150560bc1b8152506040518060400160405280600881526020016704b494e544f4150560c41b81525061438c565b612d716143bd565b612d796143e4565b612d816143bd565b612d8a3361433a565b80156125a9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60006001600160e01b031982161580610efb57506001600160e01b0319821663b760faf960e01b1492915050565b612e08613899565b6001600160a01b0391821660009081526101606020526040902080546001600160a01b03191691909216179055565b6000826001600160a01b0316826001600160a01b03161480612e7657506001600160a01b03828116600090815261016060205260409020548116908416145b80612b455750506001600160a01b0391821660009081526101616020908152604080832093909416825291909152205460ff1690565b612693338383614413565b60006001600160e01b0319821663040b850f60e31b1480610efb57506001600160e01b0319821663611d2e7560e11b1492915050565b612ef561501a565b6001600160a01b0382811660009081526101606020526040812054909116612f1d5782612f3a565b6001600160a01b0380841660009081526101606020526040902054165b6001600160a01b038116600090815261015f6020526040812060028101546003820154600483015460059093015494955090939092849003612f7d57603c612f7f565b835b86526000839003612f9157600a612f93565b825b60208701526000829003612faa5762278d00612fac565b815b60408701526000819003612fc757662386f26fc10000612fc9565b805b6060870152509395945050505050565b612fe33383613fd7565b612fff5760405162461bcd60e51b8152600401610fb290615965565b61300b848484846144e1565b50505050565b6001600160a01b038616600090815261015f602052604090205461303481612851565b6001600160a01b0316336001600160a01b031614613082573361305682612851565b604051631eba4e2b60e31b81526001600160a01b03928316600482015291166024820152604401610fb2565b613093818a8a8a8a8a8a8a8a6138f3565b604080513381524260208201526001600160a01b038916917f1c64f068a47e25f729fe0a695d5999e7c9669e2f9397d4a40fb04b3e89ad393f910160405180910390a2505050505050505050565b6130e9613899565b7f754988d694eecd9881eff0cbf621d6001bcff2b9dc34d04a3595e9fd58fd550361016b838360405161311e939291906157bc565b60405180910390a160005b61016b5481101561318b57600061016c600061016b848154811061314f5761314f615854565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101613129565b5060005b818110156131f557600161016c60008585858181106131b0576131b0615854565b90506020020160208101906131c59190615259565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905560010161318f565b5061122661016b8383614fb7565b606061320e826137cc565b6000613218614514565b905060008151116132385760405180602001604052806000815250612b45565b8061324284614534565b604051602001613253929190615a4a565b6040516020818303038152906040529392505050565b6001600160a01b03818116600090815261016060205260408120549091166132915781610efb565b506001600160a01b03908116600090815261016060205260409020541690565b8281146132db576040516355c5b3e360e11b81526004810184905260248101829052604401610fb2565b6001600160a01b038516600090815261015f6020526040902054158061334b57506001600160a01b038516600090815261015f602052604090205461331f90612851565b6001600160a01b0316336001600160a01b03161415801561334b575060c9546001600160a01b03163314155b156133a4576001600160a01b038516600090815261015f6020526040902054339061337590612851565b604051600162560d8b60e11b031981526001600160a01b03928316600482015291166024820152604401610fb2565b60005b838110156134cb578484828181106133c1576133c1615854565b90506020020160208101906133d69190615259565b6001600160a01b03163b600003613433578484828181106133f9576133f9615854565b905060200201602081019061340e9190615259565b6040516310f6aa6360e21b81526001600160a01b039091166004820152602401610fb2565b82828281811061344557613445615854565b905060200201602081019061345a9190615a79565b6001600160a01b0387166000908152610161602052604081209087878581811061348657613486615854565b905060200201602081019061349b9190615259565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556001016133a7565b505050505050565b61352460405180610120016040528060008152602001600015158152602001600081526020016000815260200160008152602001600081526020016060815260200160608152602001606081525090565b6001600160a01b038281166000908152610160602052604081205461015f921661354e578361356b565b6001600160a01b0380851660009081526101606020526040902054165b6001600160a01b03168152602080820192909252604090810160002081516101208101835281548152600182015460ff161515938101939093526002810154918301919091526003810154606083015260048101546080830152600581015460a083015260068101805460c0840191906135e490615a96565b80601f016020809104026020016040519081016040528092919081815260200182805461361090615a96565b801561365d5780601f106136325761010080835404028352916020019161365d565b820191906000526020600020905b81548152906001019060200180831161364057829003601f168201915b50505050508152602001600782018054806020026020016040519081016040528092919081815260200182805480156136bf57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116136a1575b505050505081526020016008820180548060200260200160405190810160405280929190818152602001828054801561372157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613703575b5050505050815250509050919050565b613739613899565b6001600160a01b03811661379e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fb2565b6125a98161433a565b60006001600160e01b0319821663780e9d6360e01b1480610efb5750610efb826145c7565b6000818152606760205260409020546001600160a01b03166125a95760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fb2565b600081815260696020526040902080546001600160a01b0319166001600160a01b038416908117909155819061386082612851565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60c9546001600160a01b031633146129aa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fb2565b6001600160a01b038616600090815261015f602090815260408083206007018054825181850281018501909352808352919290919083018282801561396157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613943575b5050505050905060005b81518110156139d1576000610164600084848151811061398d5761398d615854565b6020908102919091018101516001600160a01b0390811683529082019290925260400160002080546001600160a01b0319169290911691909117905560010161396b565b506001600160a01b038716600090815261015f602090815260409182902060080180548351818402810184019094528084529091830182828015613a3e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613a20575b5050505050905060005b8151811015613aae5760006101606000848481518110613a6a57613a6a615854565b6020908102919091018101516001600160a01b0390811683529082019290925260400160002080546001600160a01b03191692909116919091179055600101613a48565b5060408051610120810182528b815260006020808301829052873583850152870135606083015291860135608082015260a08101866003602002013581526020018b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060408051602087810282810182019093528782529283019290918891889182918501908490808284376000920191909152505050908252506040805160208a810282810182019093528a82529283019290918b918b91829185019084908082843760009201829052509390945250508d81526101626020908152604080832080546001600160a01b0319166001600160a01b038f16908117909155835261015f825291829020845181559084015160018201805460ff1916911515919091179055908301516002820155606083015160038201556080830151600482015560a0830151600582015560c083015192935083929091506006820190613c2c9082615b12565b5060e08201518051613c48916007840191602090910190615038565b506101008201518051613c65916008840191602090910190615038565b5090505060005b86811015613eb8576000888883818110613c8857613c88615854565b9050602002016020810190613c9d9190615259565b6040516304131fc960e31b81526001600160a01b0380831660048301529192506000917f00000000000000000000000000000000000000000000000000000000000000001690632098fe4890602401602060405180830381865afa158015613d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d2d91906157a3565b1115613d5757604051638561d0f960e01b81526001600160a01b0382166004820152602401610fb2565b6001600160a01b03818116600090815261016060205260409020541615801590613d9f57506001600160a01b03818116600090815261016060205260409020548116908b1614155b15613dc857604051630a178b6b60e41b81526001600160a01b0382166004820152602401610fb2565b896001600160a01b0316816001600160a01b031603613e0557604051630a178b6b60e41b81526001600160a01b0382166004820152602401610fb2565b6001600160a01b038116600090815261016a602052604090205460ff1615613e4b57604051636730cd7560e11b81526001600160a01b0382166004820152602401610fb2565b806001600160a01b03163b600003613e81576040516310f6aa6360e21b81526001600160a01b0382166004820152602401610fb2565b6001600160a01b0390811660009081526101606020526040902080546001600160a01b031916918b16919091179055600101613c6c565b5060005b83811015613faf576000858583818110613ed857613ed8615854565b9050602002016020810190613eed9190615259565b6001600160a01b03163b1115613f4957848482818110613f0f57613f0f615854565b9050602002016020810190613f249190615259565b60405163f7833c4760e01b81526001600160a01b039091166004820152602401610fb2565b886101646000878785818110613f6157613f61615854565b9050602002016020810190613f769190615259565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b03191692909116919091179055600101613ebc565b505050505050505050505050565b612693828260405180602001604052806000815250614617565b600080613fe383612851565b9050806001600160a01b0316846001600160a01b0316148061402a57506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b8061404e5750836001600160a01b0316614043846110ef565b6001600160a01b0316145b949350505050565b826001600160a01b031661406982612851565b6001600160a01b03161461408f5760405162461bcd60e51b8152600401610fb290615bd2565b6001600160a01b0382166140f15760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610fb2565b6140fe838383600161464a565b826001600160a01b031661411182612851565b6001600160a01b0316146141375760405162461bcd60e51b8152600401610fb290615bd2565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6125a9613899565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561420257611226836146d5565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561425c575060408051601f3d908101601f19168201909252614259918101906157a3565b60015b6142bf5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610fb2565b600080516020615d4a833981519152811461432e5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610fb2565b50611226838383614771565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166143b35760405162461bcd60e51b8152600401610fb290615c17565b6126938282614796565b600054610100900460ff166129aa5760405162461bcd60e51b8152600401610fb290615c17565b600054610100900460ff1661440b5760405162461bcd60e51b8152600401610fb290615c17565b6129aa6147d6565b816001600160a01b0316836001600160a01b0316036144745760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610fb2565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6144ec848484614056565b6144f884848484614806565b61300b5760405162461bcd60e51b8152600401610fb290615c62565b6060604051806060016040528060248152602001615d6a60249139905090565b6060600061454183614907565b600101905060008167ffffffffffffffff81111561456157614561615485565b6040519080825280601f01601f19166020018201604052801561458b576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461459557509392505050565b60006001600160e01b031982166380ac58cd60e01b14806145f857506001600160e01b03198216635b5e139f60e01b145b80610efb57506301ffc9a760e01b6001600160e01b0319831614610efb565b61462183836149df565b61462e6000848484614806565b6112265760405162461bcd60e51b8152600401610fb290615c62565b6001600160a01b0384161580159061467f57506001600160a01b03841673660ad4b5a74130a4796b4d54bc6750ae93c86e6c14155b8015614699575060c9546001600160a01b03858116911614155b806146ab57506001600160a01b038316155b156146c95760405163d845a97b60e01b815260040160405180910390fd5b61300b84848484614b78565b6001600160a01b0381163b6147425760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610fb2565b600080516020615d4a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61477a83614cac565b6000825111806147875750805b156112265761300b8383614cec565b600054610100900460ff166147bd5760405162461bcd60e51b8152600401610fb290615c17565b60656147c98382615b12565b5060666112268282615b12565b600054610100900460ff166147fd5760405162461bcd60e51b8152600401610fb290615c17565b6129aa3361433a565b60006001600160a01b0384163b156148fc57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061484a903390899088908890600401615cb4565b6020604051808303816000875af1925050508015614885575060408051601f3d908101601f1916820190925261488291810190615ce7565b60015b6148e2573d8080156148b3576040519150601f19603f3d011682016040523d82523d6000602084013e6148b8565b606091505b5080516000036148da5760405162461bcd60e51b8152600401610fb290615c62565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061404e565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106149465772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614972576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061499057662386f26fc10000830492506010015b6305f5e10083106149a8576305f5e100830492506008015b61271083106149bc57612710830492506004015b606483106149ce576064830492506002015b600a8310610efb5760010192915050565b6001600160a01b038216614a355760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610fb2565b6000818152606760205260409020546001600160a01b031615614a9a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fb2565b614aa860008383600161464a565b6000818152606760205260409020546001600160a01b031615614b0d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fb2565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001811115614be75760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610fb2565b816001600160a01b038516614c4357614c3e81609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b614c66565b836001600160a01b0316856001600160a01b031614614c6657614c668582614d11565b6001600160a01b038416614c8257614c7d81614dae565b614ca5565b846001600160a01b0316846001600160a01b031614614ca557614ca58482614e5d565b5050505050565b614cb5816146d5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612b458383604051806060016040528060278152602001615d8e60279139614ea1565b60006001614d1e84612912565b614d289190615d04565b600083815260986020526040902054909150808214614d7b576001600160a01b03841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b5060009182526098602090815260408084208490556001600160a01b039094168352609781528383209183525290812055565b609954600090614dc090600190615d04565b6000838152609a602052604081205460998054939450909284908110614de857614de8615854565b906000526020600020015490508060998381548110614e0957614e09615854565b6000918252602080832090910192909255828152609a90915260408082208490558582528120556099805480614e4157614e41615d17565b6001900381819060005260206000200160009055905550505050565b6000614e6883612912565b6001600160a01b039093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b6060600080856001600160a01b031685604051614ebe9190615d2d565b600060405180830381855af49150503d8060008114614ef9576040519150601f19603f3d011682016040523d82523d6000602084013e614efe565b606091505b5091509150614f0f86838387614f19565b9695505050505050565b60608315614f88578251600003614f81576001600160a01b0385163b614f815760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610fb2565b508161404e565b61404e8383815115614f9d5781518083602001fd5b8060405162461bcd60e51b8152600401610fb29190615173565b82805482825590600052602060002090810192821561500a579160200282015b8281111561500a5781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190614fd7565b5061501692915061508d565b5090565b60405180608001604052806004906020820280368337509192915050565b82805482825590600052602060002090810192821561500a579160200282015b8281111561500a57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190615058565b5b80821115615016576000815560010161508e565b6001600160e01b0319811681146125a957600080fd5b6000602082840312156150ca57600080fd5b8135612b45816150a2565b6001600160a01b03811681146125a957600080fd5b600080604083850312156150fd57600080fd5b8235615108816150d5565b91506020830135615118816150d5565b809150509250929050565b60005b8381101561513e578181015183820152602001615126565b50506000910152565b6000815180845261515f816020860160208601615123565b601f01601f19169290920160200192915050565b602081526000612b456020830184615147565b60006020828403121561519857600080fd5b5035919050565b600080604083850312156151b257600080fd5b82356151bd816150d5565b946020939093013593505050565b60008083601f8401126151dd57600080fd5b50813567ffffffffffffffff8111156151f557600080fd5b6020830191508360208260051b850101111561521057600080fd5b9250929050565b6000806020838503121561522a57600080fd5b823567ffffffffffffffff81111561524157600080fd5b61524d858286016151cb565b90969095509350505050565b60006020828403121561526b57600080fd5b8135612b45816150d5565b60008083601f84011261528857600080fd5b50813567ffffffffffffffff8111156152a057600080fd5b60208301915083602082850101111561521057600080fd5b600080600080600080600080610100898b0312156152d557600080fd5b883567ffffffffffffffff808211156152ed57600080fd5b6152f98c838d01615276565b909a50985060208b0135915061530e826150d5565b90965060408a0135908082111561532457600080fd5b6153308c838d016151cb565b909750955060e08b0191508b82111561534857600080fd5b60608b0194509035908082111561535e57600080fd5b5061536b8b828c016151cb565b999c989b5096995094979396929594505050565b60008151808452602080850194506020840160005b838110156153b95781516001600160a01b031687529582019590820190600101615394565b509495945050505050565b602081526000612b45602083018461537f565b6000806000806000608086880312156153ef57600080fd5b85356153fa816150d5565b9450602086013561540a816150d5565b9350604086013567ffffffffffffffff81111561542657600080fd5b61543288828901615276565b96999598509660600135949350505050565b60008060006060848603121561545957600080fd5b8335615464816150d5565b92506020840135615474816150d5565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126154ac57600080fd5b813567ffffffffffffffff808211156154c7576154c7615485565b604051601f8301601f19908116603f011681019082821181831017156154ef576154ef615485565b8160405283815286602085880101111561550857600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561553b57600080fd5b8235615546816150d5565b9150602083013567ffffffffffffffff81111561556257600080fd5b61556e8582860161549b565b9150509250929050565b6000806040838503121561558b57600080fd5b8235615596816150d5565b91506020830135615118816150a2565b80151581146125a957600080fd5b600080604083850312156155c757600080fd5b82356155d2816150d5565b91506020830135615118816155a6565b60808101818360005b600481101561560a5781518352602092830192909101906001016155eb565b50505092915050565b6000806000806080858703121561562957600080fd5b8435615634816150d5565b93506020850135615644816150d5565b925060408501359150606085013567ffffffffffffffff81111561566757600080fd5b6156738782880161549b565b91505092959194509250565b60008060008060006060868803121561569757600080fd5b85356156a2816150d5565b9450602086013567ffffffffffffffff808211156156bf57600080fd5b6156cb89838a016151cb565b909650945060408801359150808211156156e457600080fd5b506156f1888289016151cb565b969995985093965092949392505050565b602081528151602082015260006020830151615722604084018215159052565b506040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c08301516101208060e0850152615767610140850183615147565b915060e0850151601f19610100818786030181880152615787858461537f565b908801518782039092018488015293509050614f0f838261537f565b6000602082840312156157b557600080fd5b5051919050565b6000604082016040835280865480835260608501915087600052602092508260002060005b828110156158065781546001600160a01b0316845292840192600191820191016157e1565b505050838103828501528481528590820160005b8681101561584857823561582d816150d5565b6001600160a01b03168252918301919083019060010161581a565b50979650505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561587c57600080fd5b8151612b45816150d5565b60006020828403121561589957600080fd5b8151612b45816155a6565b634e487b7160e01b600052601160045260246000fd5b6000600182016158cc576158cc6158a4565b5060010190565b80820180821115610efb57610efb6158a4565b600080858511156158f657600080fd5b8386111561590357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156159385780818660040360031b1b83161692505b505092915050565b6000806040838503121561595357600080fd5b823591506020830135615118816150d5565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60008351615a5c818460208801615123565b835190830190615a70818360208801615123565b01949350505050565b600060208284031215615a8b57600080fd5b8135612b45816155a6565b600181811c90821680615aaa57607f821691505b6020821081036119da57634e487b7160e01b600052602260045260246000fd5b601f821115611226576000816000526020600020601f850160051c81016020861015615af35750805b601f850160051c820191505b818110156134cb57828155600101615aff565b815167ffffffffffffffff811115615b2c57615b2c615485565b615b4081615b3a8454615a96565b84615aca565b602080601f831160018114615b755760008415615b5d5750858301515b600019600386901b1c1916600185901b1785556134cb565b600085815260208120601f198616915b82811015615ba457888601518255948401946001909101908401615b85565b5085821015615bc25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090614f0f90830184615147565b600060208284031215615cf957600080fd5b8151612b45816150a2565b81810381811115610efb57610efb6158a4565b634e487b7160e01b600052603160045260246000fd5b60008251615d3f818460208701615123565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc68747470733a2f2f6b696e746f2e78797a2f6d657461646174612f6b696e746f6170702f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f988862003b84def355ca57a13d361238f7725e220e97881ef82d67b5328f20c64736f6c634300081800330000000000000000000000008a4720488ca32f1223ccfe5a087e250fe3bc5d750000000000000000000000001842a4eff3efd24c50b63c3cf89cecee245fc2bd", + "nonce": "0x5bfd", + "chainId": "0x1ecf" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xacd0d3fa0467ad903ee9db6f92b28820c9e8971528d4707a73736c167ade4b8a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x2843c269d2a64ecfa63548e8b3fc0fd23b7f70cb", + "function": "handleOps((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address)", + "arguments": [ + "[(0x2e2B1c42E38f5af81771e65D87729E57ABD1337a, 2683, 0x, 0xb61d27f60000000000000000000000005a2b641b84b0230c8e75f55d5afd27f4dbd59d5b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000b94240ff4ab45811c550ee3c5ea19bc692210a2900000000000000000000000000000000000000000000000000000000, 4000000, 210000, 21000, 1, 1000000000, 0x0000000000000000000000000000000000000000, 0xf24a4e998dd149f59d1d413a3f4addedbb53e30a87235a4f9b13365aab19906a7bec5496ede9ad28be452effb18481ecaabd698d0aa9c556846493daef019e941bc50fb1f929b00fc61c75a59e0c52416a97ffc1000f0cafc74a8c962741d8b8f525381739ee0dd07dcaba1e35fc594fe75b79b1d93738a2e221ab4f2e83e1a6721b)]", + "0x660ad4B5A74130a4796B4d54BC6750Ae93C86e6c" + ], + "transaction": { + "from": "0x660ad4b5a74130a4796b4d54bc6750ae93c86e6c", + "to": "0x2843c269d2a64ecfa63548e8b3fc0fd23b7f70cb", + "value": "0x0", + "input": "0x1fad948c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000660ad4b5a74130a4796b4d54bc6750ae93c86e6c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002e2b1c42e38f5af81771e65d87729e57abd1337a0000000000000000000000000000000000000000000000000000000000000a7b0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000003d0900000000000000000000000000000000000000000000000000000000000003345000000000000000000000000000000000000000000000000000000000000052080000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c4b61d27f60000000000000000000000005a2b641b84b0230c8e75f55d5afd27f4dbd59d5b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000b94240ff4ab45811c550ee3c5ea19bc692210a290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082f24a4e998dd149f59d1d413a3f4addedbb53e30a87235a4f9b13365aab19906a7bec5496ede9ad28be452effb18481ecaabd698d0aa9c556846493daef019e941bc50fb1f929b00fc61c75a59e0c52416a97ffc1000f0cafc74a8c962741d8b8f525381739ee0dd07dcaba1e35fc594fe75b79b1d93738a2e221ab4f2e83e1a6721b000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x5bfe", + "chainId": "0x1ecf" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xba7f15", + "logs": [ + { + "address": "0xb94240ff4ab45811c550ee3c5ea19bc692210a29", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x40d417b5365eb82d24f17f8d0397cdd806bb926cee2d8e7b25740e2c0de201cb", + "blockNumber": "0x3c2a5", + "transactionHash": "0x63bfba43b601311e8cd2a32af96b3f969773be8208e77916f17a8e5998d93155", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000080000000000000040000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x63bfba43b601311e8cd2a32af96b3f969773be8208e77916f17a8e5998d93155", + "transactionIndex": "0x1", + "blockHash": "0x40d417b5365eb82d24f17f8d0397cdd806bb926cee2d8e7b25740e2c0de201cb", + "blockNumber": "0x3c2a5", + "gasUsed": "0xba7f15", + "effectiveGasPrice": "0x5f5e100", + "from": "0x660ad4b5a74130a4796b4d54bc6750ae93c86e6c", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": null, + "gasUsedForL1": "0x69bbad", + "l1BlockNumber": "0x141c1c1" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x777bc", + "logs": [ + { + "address": "0x2843c269d2a64ecfa63548e8b3fc0fd23b7f70cb", + "topics": [ + "0xbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972" + ], + "data": "0x", + "blockHash": "0x0abd7e50bf93e81576ac8e60e2ef9ea8db0970a071d4addeeda8e0cd26f4842b", + "blockNumber": "0x3c2a6", + "transactionHash": "0xacd0d3fa0467ad903ee9db6f92b28820c9e8971528d4707a73736c167ade4b8a", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x5a2b641b84b0230c8e75f55d5afd27f4dbd59d5b", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000b94240ff4ab45811c550ee3c5ea19bc692210a29" + ], + "data": "0x", + "blockHash": "0x0abd7e50bf93e81576ac8e60e2ef9ea8db0970a071d4addeeda8e0cd26f4842b", + "blockNumber": "0x3c2a6", + "transactionHash": "0xacd0d3fa0467ad903ee9db6f92b28820c9e8971528d4707a73736c167ade4b8a", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x2843c269d2a64ecfa63548e8b3fc0fd23b7f70cb", + "topics": [ + "0x49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f", + "0x780a93a7ea7d4c5a8f6621ec82c013947487414692bec3030d0161a454a0cb49", + "0x0000000000000000000000002e2b1c42e38f5af81771e65d87729e57abd1337a", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000a7b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000083cdb0000000000000000000000000000000000000000000000000000000000083cdb", + "blockHash": "0x0abd7e50bf93e81576ac8e60e2ef9ea8db0970a071d4addeeda8e0cd26f4842b", + "blockNumber": "0x3c2a6", + "transactionHash": "0xacd0d3fa0467ad903ee9db6f92b28820c9e8971528d4707a73736c167ade4b8a", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + } + ], + "logsBloom": "0x04000000000000000000000000000000400001000000000000000000000000000008000000000000000000010000000000000000000000000000020000000000000000000000000000000000000002000000000000000000000000000008000800000000020000000000020000000800002000000000000000000000000000000000000000000000000000000000800000000000000000800000000000000000000400000000000000400010000000000000080000000000000002000000000000000020000000100001000000000000000000000000000080000000000020000000000000010000000000000000000000000000000000000000000080000000", + "type": "0x2", + "transactionHash": "0xacd0d3fa0467ad903ee9db6f92b28820c9e8971528d4707a73736c167ade4b8a", + "transactionIndex": "0x1", + "blockHash": "0x0abd7e50bf93e81576ac8e60e2ef9ea8db0970a071d4addeeda8e0cd26f4842b", + "blockNumber": "0x3c2a6", + "gasUsed": "0x777bc", + "effectiveGasPrice": "0x5f5e100", + "from": "0x660ad4b5a74130a4796b4d54bc6750ae93c86e6c", + "to": "0x2843c269d2a64ecfa63548e8b3fc0fd23b7f70cb", + "contractAddress": null, + "gasUsedForL1": "0x4e1b2", + "l1BlockNumber": "0x141c1c1" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1730390196, + "chain": 7887, + "commit": "c81fe5c" +} \ No newline at end of file diff --git a/broadcast/111-upgrade_app_registry.s.sol/7887/run-latest.json b/broadcast/111-upgrade_app_registry.s.sol/7887/run-latest.json index 07974e00..2512fc96 100644 --- a/broadcast/111-upgrade_app_registry.s.sol/7887/run-latest.json +++ b/broadcast/111-upgrade_app_registry.s.sol/7887/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0x2f054c29c1d69f386ff04f418dbbeb8f17347e5985826e43376d90ae0f612908", + "hash": "0x63bfba43b601311e8cd2a32af96b3f969773be8208e77916f17a8e5998d93155", "transactionType": "CREATE2", "contractName": "KintoAppRegistry", - "contractAddress": "0x226fcf8657ca310b375a7e23b87092cd1e3af92f", + "contractAddress": "0xb94240ff4ab45811c550ee3c5ea19bc692210a29", "function": null, "arguments": [ "0x8a4720488CA32f1223ccFE5A087e250fE3BC5D75", @@ -14,29 +14,29 @@ "from": "0x660ad4b5a74130a4796b4d54bc6750ae93c86e6c", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "value": "0x0", - "input": "0x0000000000000000000000000000000000000000000000000000000000000000610100604052306080523480156200001657600080fd5b5060405162006029380380620060298339810160408190526200003991620001aa565b62000043620000d0565b6001600160a01b0380831660c081905290821660a052604080516399a6cddd60e01b815290516399a6cddd916004808201926020929091908290030181865afa15801562000095573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000bb9190620001e9565b6001600160a01b031660e05250620002109050565b600054610100900460ff16156200013d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200018f576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b0381168114620001a757600080fd5b50565b60008060408385031215620001be57600080fd5b8251620001cb8162000191565b6020840151909250620001de8162000191565b809150509250929050565b600060208284031215620001fc57600080fd5b8151620002098162000191565b9392505050565b60805160a05160c05160e051615d68620002c160003960008181610aaf015281816114ba01528181611a3e01528181611d1901528181611fba0152612298015260008181610cf101528181610ed40152818161140f0152818161166101528181611c7c015281816121fa0152613c400152600081816105d2015281816113a001526118c901526000818161248b015281816124cb01528181612585015281816125c501526126eb0152615d686000f3fe60806040526004361061043c5760003560e01c80637b787a2411610234578063b7b188d11161012e578063db9d31f4116100b6578063e739d1621161007a578063e739d16214610ddd578063e985e9c514610df8578063f2c9784f14610e41578063f2fde38b14610e69578063fd96326814610e8957600080fd5b8063db9d31f414610d33578063dc3acebe14610d5b578063e2c4631614610d7b578063e44bde3b14610d9b578063e614b4e914610db057600080fd5b8063c1475bac116100fd578063c1475bac14610c68578063c1d3c7b314610c9f578063c233e2a314610cbf578063c5c0369914610cdf578063c87b56dd14610d1357600080fd5b8063b7b188d114610be7578063b88d4fde14610bfc578063bb28e1e714610c1c578063bf0b065514610c4d57600080fd5b806396e62b60116101bc578063a22cb46511610180578063a22cb46514610b2c578063a2ac0a0214610b4c578063b17025b014610b6c578063b4e0028114610b99578063b55ca2c314610bd057600080fd5b806396e62b6014610a7d57806399a6cddd14610a9d5780639a6896f614610ad15780639de85d0814610af1578063a217170014610b0c57600080fd5b80638c0fdf98116102035780638c0fdf981461099c5780638da5cb5b146109c057806392e1c6c1146109de5780639461b86814610a1557806395d89b4114610a4c57600080fd5b80637b787a24146108ff5780637ed6a5cb146109365780638129fc1c146109565780638a2828da1461096b57600080fd5b80632f745c59116103455780635b19c2d8116102cd5780637259285111610291578063725928511461086457806377e932ac1461088457806377ffb529146108a45780637975f38e146108c45780637a738545146108df57600080fd5b80635b19c2d8146107da5780636352211e146107fa5780636d3005de1461081a57806370a082311461082f578063715018a61461084f57600080fd5b80634b5aea5d116103145780634b5aea5d146107555780634f1ef2861461077d5780634f6ccce71461079057806352d1902d146107b057806352daa608146107c557600080fd5b80632f745c59146106c15780633659cfe6146106e157806342842e0e146107015780634a4693be1461072157600080fd5b80631473cc08116103c85780631e2c6d3e116103975780631e2c6d3e146106355780632357eda31461065557806323b872dd1461067557806323effcd11461069557806329ef5c1b146106ac57600080fd5b80631473cc08146105a057806316e4cbf9146105c057806318160ddd146105f457806318f062cd1461061357600080fd5b8063095ea7b31161040f578063095ea7b31461050b5780630e6ff4321461052b57806312015e521461054b57806312c3aad51461056057806313bc6d4b1461058057600080fd5b806301ffc9a7146104415780630665e6ac1461047657806306fdde0314610498578063081812fc146104d3575b600080fd5b34801561044d57600080fd5b5061046161045c366004615036565b610ea4565b60405190151581526020015b60405180910390f35b34801561048257600080fd5b50610496610491366004615068565b610eb5565b005b3480156104a457600080fd5b5060408051808201909152600981526804b696e746f204150560bc1b60208201525b60405161046d91906150f1565b3480156104df57600080fd5b506104f36104ee366004615104565b6110a3565b6040516001600160a01b03909116815260200161046d565b34801561051757600080fd5b5061049661052636600461511d565b6110ca565b34801561053757600080fd5b50610496610546366004615195565b6111df565b34801561055757600080fd5b506104f3606e81565b34801561056c57600080fd5b506104f361057b366004615104565b611301565b34801561058c57600080fd5b5061046161059b3660046151d7565b61132c565b3480156105ac57600080fd5b506104966105bb366004615236565b6113fa565b3480156105cc57600080fd5b506104f37f000000000000000000000000000000000000000000000000000000000000000081565b34801561060057600080fd5b506099545b60405190815260200161046d565b34801561061f57600080fd5b50610628611779565b60405161046d9190615342565b34801561064157600080fd5b50610461610650366004615068565b611994565b34801561066157600080fd5b50610461610670366004615355565b611e1a565b34801561068157600080fd5b506104966106903660046153c2565b6123ba565b3480156106a157600080fd5b5061060562278d0081565b3480156106b857600080fd5b50610605600a81565b3480156106cd57600080fd5b506106056106dc36600461511d565b6123eb565b3480156106ed57600080fd5b506104966106fc3660046151d7565b612481565b34801561070d57600080fd5b5061049661071c3660046153c2565b612560565b34801561072d57600080fd5b5061073c63040b850f60e31b81565b6040516001600160e01b0319909116815260200161046d565b34801561076157600080fd5b506104f3734e59b44847b379578588920ca78fbf26c0b4956c81565b61049661078b3660046154a6565b61257b565b34801561079c57600080fd5b506106056107ab366004615104565b61264b565b3480156107bc57600080fd5b506106056126de565b3480156107d157600080fd5b50610628612791565b3480156107e657600080fd5b506104f36107f5366004615104565b6127f4565b34801561080657600080fd5b506104f3610815366004615104565b612805565b34801561082657600080fd5b50610628612865565b34801561083b57600080fd5b5061060561084a3660046151d7565b6128c6565b34801561085b57600080fd5b5061049661294c565b34801561087057600080fd5b5061049661087f366004615195565b612960565b34801561089057600080fd5b5061046161089f3660046154f6565b612a82565b3480156108b057600080fd5b506104f36108bf366004615104565b612aca565b3480156108d057600080fd5b5061073c6307eb652360e21b81565b3480156108eb57600080fd5b506104616108fa3660046151d7565b612adb565b34801561090b57600080fd5b506104f361091a3660046151d7565b610168602052600090815260409020546001600160a01b031681565b34801561094257600080fd5b506104966109513660046151d7565b612b25565b34801561096257600080fd5b50610496612bdc565b34801561097757600080fd5b506104616109863660046151d7565b61016a6020526000908152604090205460ff1681565b3480156109a857600080fd5b506104f36f71727de22e5e9d8baf0edac6f37da03281565b3480156109cc57600080fd5b5060c9546001600160a01b03166104f3565b3480156109ea57600080fd5b506104f36109f93660046151d7565b610164602052600090815260409020546001600160a01b031681565b348015610a2157600080fd5b506104f3610a30366004615104565b610162602052600090815260409020546001600160a01b031681565b348015610a5857600080fd5b5060408051808201909152600881526704b494e544f4150560c41b60208201526104c6565b348015610a8957600080fd5b50610461610a98366004615036565b612d50565b348015610aa957600080fd5b506104f37f000000000000000000000000000000000000000000000000000000000000000081565b348015610add57600080fd5b50610496610aec366004615068565b612d7e565b348015610afd57600080fd5b50610605662386f26fc1000081565b348015610b1857600080fd5b50610461610b27366004615068565b612db5565b348015610b3857600080fd5b50610496610b47366004615532565b612e2a565b348015610b5857600080fd5b50610461610b67366004615036565b612e35565b348015610b7857600080fd5b50610b8c610b873660046151d7565b612e6b565b60405161046d9190615560565b348015610ba557600080fd5b506104f3610bb43660046151d7565b610167602052600090815260409020546001600160a01b031681565b348015610bdc57600080fd5b506106056101635481565b348015610bf357600080fd5b50610605603c81565b348015610c0857600080fd5b50610496610c17366004615591565b612f57565b348015610c2857600080fd5b50610461610c373660046151d7565b61016c6020526000908152604090205460ff1681565b348015610c5957600080fd5b5061073c63b760faf960e01b81565b348015610c7457600080fd5b506104f3610c833660046151d7565b610160602052600090815260409020546001600160a01b031681565b348015610cab57600080fd5b50610496610cba366004615236565b612f8f565b348015610ccb57600080fd5b50610496610cda366004615195565b61305f565b348015610ceb57600080fd5b506104f37f000000000000000000000000000000000000000000000000000000000000000081565b348015610d1f57600080fd5b506104c6610d2e366004615104565b613181565b348015610d3f57600080fd5b506104f373660ad4b5a74130a4796b4d54bc6750ae93c86e6c81565b348015610d6757600080fd5b506104f3610d763660046151d7565b6131e7565b348015610d8757600080fd5b50610496610d963660046155fd565b61322f565b348015610da757600080fd5b5061073c600081565b348015610dbc57600080fd5b50610dd0610dcb3660046151d7565b613451565b60405161046d9190615680565b348015610de957600080fd5b5061073c63611d2e7560e11b81565b348015610e0457600080fd5b50610461610e13366004615068565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b348015610e4d57600080fd5b506104f3732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb81565b348015610e7557600080fd5b50610496610e843660046151d7565b6136af565b348015610e9557600080fd5b5061073c63765e827f60e01b81565b6000610eaf82613725565b92915050565b6040516304131fc960e31b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690632098fe4890602401602060405180830381865afa158015610f1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3f9190615721565b600003610f6f57604051633146914d60e11b81526001600160a01b03831660048201526024015b60405180910390fd5b60c9546001600160a01b03163314801590610f935750336001600160a01b03831614155b15610fbc57604051633146914d60e11b81526001600160a01b0383166004820152602401610f66565b6001600160a01b03828116600090815261016860205260409020541615611025576001600160a01b03808316600081815261016860208181526040808420805490961684526101678252832080546001600160a01b031990811690915593909252905281541690555b6040516001600160a01b038216907fb3aeb43a1257df8782f2b4a1e24e054eebef0ecb13c22fea8a16078ca40a4fd990600090a26001600160a01b039182166000818152610168602090815260408083208054969095166001600160a01b031996871681179095559382526101679052919091208054909216179055565b60006110ae8261374a565b506000908152606960205260409020546001600160a01b031690565b60006110d582612805565b9050806001600160a01b0316836001600160a01b0316036111425760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610f66565b336001600160a01b038216148061115e575061115e8133610e13565b6111d05760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610f66565b6111da83836137a9565b505050565b6111e7613817565b7f33faed76ddc60c6bbbed3a0b267181db13bde22b167f1624e1a922748bb8989d610165838360405161121c9392919061573a565b60405180910390a160005b610165548110156112895760006101666000610165848154811061124d5761124d6157d2565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101611227565b5060005b818110156112f357600161016660008585858181106112ae576112ae6157d2565b90506020020160208101906112c391906151d7565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905560010161128d565b506111da6101658383614f35565b610169818154811061131257600080fd5b6000918252602090912001546001600160a01b0316905081565b60006001600160a01b03821630148061136157506001600160a01b038216732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb145b8061138457506001600160a01b0382166f71727de22e5e9d8baf0edac6f37da032145b8061139857506001600160a01b038216606e145b806113d457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80610eaf5750506001600160a01b03166000908152610166602052604090205460ff1690565b6040516304131fc960e31b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632098fe4890602401602060405180830381865afa15801561145e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114829190615721565b6000036114a457604051633146914d60e11b8152336004820152602401610f66565b60405163025e7c2760e01b8152600060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690639944f51890339063025e7c2790602401602060405180830381865afa158015611511573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153591906157e8565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159d9190615805565b6115ba576040516320e155c960e21b815260040160405180910390fd5b6001600160a01b038616600090815261015f6020526040902054156115fd576040516345ed80e960e01b81526001600160a01b0387166004820152602401610f66565b6001600160a01b038681166000908152610160602052604090205416156116425760405163581f587f60e01b81526001600160a01b0387166004820152602401610f66565b6040516304131fc960e31b81526001600160a01b0387811660048301527f00000000000000000000000000000000000000000000000000000000000000001690632098fe4890602401602060405180830381865afa1580156116a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cc9190615721565b156116f557604051638561d0f960e01b81526001600160a01b0387166004820152602401610f66565b610163805490600061170683615838565b919050555061171f610163548989898989898989613871565b61172c3361016354613f3b565b604080513381524260208201526001600160a01b038816917fa556480340fa0f22d63dd2fa81b30a61453ebf99f0bfca6cdff6af42e492ab50910160405180910390a25050505050505050565b6101655460609060009061178e906005615851565b67ffffffffffffffff8111156117a6576117a6615403565b6040519080825280602002602001820160405280156117cf578160200160208202803683370190505b50905030816000815181106117e6576117e66157d2565b60200260200101906001600160a01b031690816001600160a01b031681525050732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb8160018151811061182e5761182e6157d2565b60200260200101906001600160a01b031690816001600160a01b0316815250506f71727de22e5e9d8baf0edac6f37da03281600281518110611872576118726157d2565b60200260200101906001600160a01b031690816001600160a01b031681525050606e816003815181106118a7576118a76157d2565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816004815181106118fb576118fb6157d2565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b6101655481101561198e57610165818154811061193d5761193d6157d2565b6000918252602090912001546001600160a01b03168261195e836005615851565b8151811061196e5761196e6157d2565b6001600160a01b039092166020928302919091019091015260010161191e565b50919050565b6001600160a01b0381166000908152610166602052604081205460ff16156119be57506001610eaf565b6001600160a01b03821615806119f057506001600160a01b038216734e59b44847b379578588920ca78fbf26c0b4956c145b15611b33576001600160a01b03808416600090815261016760205260409020541680611a20576000915050610eaf565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa158015611a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab391906157e8565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611af7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1b9190615805565b611b29576000915050610eaf565b6001915050610eaf565b6001600160a01b0382811660009081526101606020526040812054909116611b9c576001600160a01b038381166000908152610164602052604090205416611b7b5782611bb9565b6001600160a01b038084166000908152610164602052604090205416611bb9565b6001600160a01b0380841660009081526101606020526040902054165b6001600160a01b038581166000908152610164602052604090205491925082811691161480611c3257506001600160a01b038084166000908152610164602052604080822054878416835291205482169116148015611c3257506001600160a01b03848116600090815261016460205260409020541615155b15611e10576001600160a01b038116600090815261015f6020526040812054611c5a90612805565b6040516304131fc960e31b81526001600160a01b0380831660048301529192507f000000000000000000000000000000000000000000000000000000000000000090911690632098fe4890602401602060405180830381865afa158015611cc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce99190615721565b600003611cfb57600092505050610eaf565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa158015611d6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8e91906157e8565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611dd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df69190615805565b611e0557600092505050610eaf565b600192505050610eaf565b5060009392505050565b60008083611e29576000611e40565b611e37600460008688615864565b611e409161588e565b9050611e4b86612adb565b8015611e5b5750611e5b81612e35565b15611ea5576000611e70602460048789615864565b810190611e7d91906151d7565b9050806001600160a01b0316886001600160a01b031614611ea3576000925050506123b1565b505b611eaf8682612a82565b15611ef9576000611ec38560048189615864565b810190611ed091906158be565b915050806001600160a01b0316886001600160a01b031614611ef7576000925050506123b1565b505b611f0286612adb565b8015611f125750611f1281612d50565b15611f215760009150506123b1565b611f2a8661132c565b15611f395760019150506123b1565b6001600160a01b0386161580611f6b57506001600160a01b038616734e59b44847b379578588920ca78fbf26c0b4956c145b156120b1576001600160a01b03808816600090815261016760205260409020541680611f9c576000925050506123b1565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa15801561200b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202f91906157e8565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015612073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120979190615805565b6120a6576000925050506123b1565b6001925050506123b1565b6001600160a01b038681166000908152610160602052604081205490911661211a576001600160a01b0387811660009081526101646020526040902054166120f95786612137565b6001600160a01b038088166000908152610164602052604090205416612137565b6001600160a01b0380881660009081526101606020526040902054165b6001600160a01b0389811660009081526101646020526040902054919250828116911614806121b057506001600160a01b0380881660009081526101646020526040808220548b84168352912054821691161480156121b057506001600160a01b03888116600090815261016460205260409020541615155b15612391576001600160a01b038116600090815261015f60205260408120546121d890612805565b6040516304131fc960e31b81526001600160a01b0380831660048301529192507f000000000000000000000000000000000000000000000000000000000000000090911690632098fe4890602401602060405180830381865afa158015612243573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122679190615721565b60000361227a57600093505050506123b1565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa1580156122e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230d91906157e8565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015612351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123759190615805565b61238557600093505050506123b1565b600193505050506123b1565b6001600160a01b0387166123aa576000925050506123b1565b6000925050505b95945050505050565b6123c43382613f55565b6123e05760405162461bcd60e51b8152600401610f66906158e3565b6111da838383613fd4565b60006123f6836128c6565b82106124585760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610f66565b506001600160a01b03919091166000908152609760209081526040808320938352929052205490565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036124c95760405162461bcd60e51b8152600401610f6690615930565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612512600080516020615cc8833981519152546001600160a01b031690565b6001600160a01b0316146125385760405162461bcd60e51b8152600401610f669061597c565b61254181614145565b6040805160008082526020820190925261255d9183919061414d565b50565b6111da83838360405180602001604052806000815250612f57565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036125c35760405162461bcd60e51b8152600401610f6690615930565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661260c600080516020615cc8833981519152546001600160a01b031690565b6001600160a01b0316146126325760405162461bcd60e51b8152600401610f669061597c565b61263b82614145565b6126478282600161414d565b5050565b600061265660995490565b82106126b95760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610f66565b609982815481106126cc576126cc6157d2565b90600052602060002001549050919050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461277e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610f66565b50600080516020615cc883398151915290565b60606101698054806020026020016040519081016040528092919081815260200182805480156127ea57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116127cc575b5050505050905090565b610165818154811061131257600080fd5b6000818152606760205260408120546001600160a01b031680610eaf5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610f66565b606061016b8054806020026020016040519081016040528092919081815260200182805480156127ea576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116127cc575050505050905090565b60006001600160a01b0382166129305760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610f66565b506001600160a01b031660009081526068602052604090205490565b612954613817565b61295e60006142b8565b565b612968613817565b7ffdcc6d089475f32a8859ad321734e908c5baf20dc8620467af021801d2f30cd0610169838360405161299d9392919061573a565b60405180910390a160005b61016954811015612a0a57600061016a600061016984815481106129ce576129ce6157d2565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790556001016129a8565b5060005b81811015612a7457600161016a6000858585818110612a2f57612a2f6157d2565b9050602002016020810190612a4491906151d7565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101612a0e565b506111da6101698383614f35565b6000612a8d83612adb565b8015612ac357506001600160e01b031982166307eb652360e21b1480612ac357506001600160e01b0319821663765e827f60e01b145b9392505050565b61016b818154811061131257600080fd5b60006001600160a01b038216732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb1480610eaf57506001600160a01b0382166f71727de22e5e9d8baf0edac6f37da0321492915050565b612b2d613817565b6001600160a01b038116600090815261015f602052604090206001015460ff1615612b7657604051636398134f60e11b81526001600160a01b0382166004820152602401610f66565b6001600160a01b038116600081815261015f6020526040908190206001908101805460ff19169091179055517f8aa2b15126b5f19780e90450219824aa62847223823a97580eda33ccad359a5190612bd19042815260200190565b60405180910390a250565b600054610100900460ff1615808015612bfc5750600054600160ff909116105b80612c165750303b158015612c16575060005460ff166001145b612c795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610f66565b6000805460ff191660011790558015612c9c576000805461ff0019166101001790555b612ce76040518060400160405280600981526020016804b696e746f204150560bc1b8152506040518060400160405280600881526020016704b494e544f4150560c41b81525061430a565b612cef61433b565b612cf7614362565b612cff61433b565b612d08336142b8565b801561255d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60006001600160e01b031982161580610eaf57506001600160e01b0319821663b760faf960e01b1492915050565b612d86613817565b6001600160a01b0391821660009081526101606020526040902080546001600160a01b03191691909216179055565b6000826001600160a01b0316826001600160a01b03161480612df457506001600160a01b03828116600090815261016060205260409020548116908416145b80612ac35750506001600160a01b0391821660009081526101616020908152604080832093909416825291909152205460ff1690565b612647338383614391565b60006001600160e01b0319821663040b850f60e31b1480610eaf57506001600160e01b0319821663611d2e7560e11b1492915050565b612e73614f98565b6001600160a01b0382811660009081526101606020526040812054909116612e9b5782612eb8565b6001600160a01b0380841660009081526101606020526040902054165b6001600160a01b038116600090815261015f6020526040812060028101546003820154600483015460059093015494955090939092849003612efb57603c612efd565b835b86526000839003612f0f57600a612f11565b825b60208701526000829003612f285762278d00612f2a565b815b60408701526000819003612f4557662386f26fc10000612f47565b805b6060870152509395945050505050565b612f613383613f55565b612f7d5760405162461bcd60e51b8152600401610f66906158e3565b612f898484848461445f565b50505050565b6001600160a01b038616600090815261015f6020526040902054612fb281612805565b6001600160a01b0316336001600160a01b0316146130005733612fd482612805565b604051631eba4e2b60e31b81526001600160a01b03928316600482015291166024820152604401610f66565b613011818a8a8a8a8a8a8a8a613871565b604080513381524260208201526001600160a01b038916917f1c64f068a47e25f729fe0a695d5999e7c9669e2f9397d4a40fb04b3e89ad393f910160405180910390a2505050505050505050565b613067613817565b7f754988d694eecd9881eff0cbf621d6001bcff2b9dc34d04a3595e9fd58fd550361016b838360405161309c9392919061573a565b60405180910390a160005b61016b5481101561310957600061016c600061016b84815481106130cd576130cd6157d2565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790556001016130a7565b5060005b8181101561317357600161016c600085858581811061312e5761312e6157d2565b905060200201602081019061314391906151d7565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905560010161310d565b506111da61016b8383614f35565b606061318c8261374a565b6000613196614492565b905060008151116131b65760405180602001604052806000815250612ac3565b806131c0846144b2565b6040516020016131d19291906159c8565b6040516020818303038152906040529392505050565b6001600160a01b038181166000908152610160602052604081205490911661320f5781610eaf565b506001600160a01b03908116600090815261016060205260409020541690565b828114613259576040516355c5b3e360e11b81526004810184905260248101829052604401610f66565b6001600160a01b038516600090815261015f602052604090205415806132c957506001600160a01b038516600090815261015f602052604090205461329d90612805565b6001600160a01b0316336001600160a01b0316141580156132c9575060c9546001600160a01b03163314155b15613322576001600160a01b038516600090815261015f602052604090205433906132f390612805565b604051600162560d8b60e11b031981526001600160a01b03928316600482015291166024820152604401610f66565b60005b838110156134495784848281811061333f5761333f6157d2565b905060200201602081019061335491906151d7565b6001600160a01b03163b6000036133b157848482818110613377576133776157d2565b905060200201602081019061338c91906151d7565b6040516310f6aa6360e21b81526001600160a01b039091166004820152602401610f66565b8282828181106133c3576133c36157d2565b90506020020160208101906133d891906159f7565b6001600160a01b03871660009081526101616020526040812090878785818110613404576134046157d2565b905060200201602081019061341991906151d7565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101613325565b505050505050565b6134a260405180610120016040528060008152602001600015158152602001600081526020016000815260200160008152602001600081526020016060815260200160608152602001606081525090565b6001600160a01b038281166000908152610160602052604081205461015f92166134cc57836134e9565b6001600160a01b0380851660009081526101606020526040902054165b6001600160a01b03168152602080820192909252604090810160002081516101208101835281548152600182015460ff161515938101939093526002810154918301919091526003810154606083015260048101546080830152600581015460a083015260068101805460c08401919061356290615a14565b80601f016020809104026020016040519081016040528092919081815260200182805461358e90615a14565b80156135db5780601f106135b0576101008083540402835291602001916135db565b820191906000526020600020905b8154815290600101906020018083116135be57829003601f168201915b505050505081526020016007820180548060200260200160405190810160405280929190818152602001828054801561363d57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161361f575b505050505081526020016008820180548060200260200160405190810160405280929190818152602001828054801561369f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613681575b5050505050815250509050919050565b6136b7613817565b6001600160a01b03811661371c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f66565b61255d816142b8565b60006001600160e01b0319821663780e9d6360e01b1480610eaf5750610eaf82614545565b6000818152606760205260409020546001600160a01b031661255d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610f66565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906137de82612805565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60c9546001600160a01b0316331461295e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f66565b6001600160a01b038616600090815261015f60209081526040808320600701805482518185028101850190935280835291929091908301828280156138df57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116138c1575b5050505050905060005b815181101561394f576000610164600084848151811061390b5761390b6157d2565b6020908102919091018101516001600160a01b0390811683529082019290925260400160002080546001600160a01b031916929091169190911790556001016138e9565b506001600160a01b038716600090815261015f6020908152604091829020600801805483518184028101840190945280845290918301828280156139bc57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161399e575b5050505050905060005b8151811015613a2c57600061016060008484815181106139e8576139e86157d2565b6020908102919091018101516001600160a01b0390811683529082019290925260400160002080546001600160a01b031916929091169190911790556001016139c6565b5060408051610120810182528b815260006020808301829052873583850152870135606083015291860135608082015260a08101866003602002013581526020018b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060408051602087810282810182019093528782529283019290918891889182918501908490808284376000920191909152505050908252506040805160208a810282810182019093528a82529283019290918b918b91829185019084908082843760009201829052509390945250508d81526101626020908152604080832080546001600160a01b0319166001600160a01b038f16908117909155835261015f825291829020845181559084015160018201805460ff1916911515919091179055908301516002820155606083015160038201556080830151600482015560a0830151600582015560c083015192935083929091506006820190613baa9082615a90565b5060e08201518051613bc6916007840191602090910190614fb6565b506101008201518051613be3916008840191602090910190614fb6565b5090505060005b86811015613e36576000888883818110613c0657613c066157d2565b9050602002016020810190613c1b91906151d7565b6040516304131fc960e31b81526001600160a01b0380831660048301529192506000917f00000000000000000000000000000000000000000000000000000000000000001690632098fe4890602401602060405180830381865afa158015613c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cab9190615721565b1115613cd557604051638561d0f960e01b81526001600160a01b0382166004820152602401610f66565b6001600160a01b03818116600090815261016060205260409020541615801590613d1d57506001600160a01b03818116600090815261016060205260409020548116908b1614155b15613d4657604051630a178b6b60e41b81526001600160a01b0382166004820152602401610f66565b896001600160a01b0316816001600160a01b031603613d8357604051630a178b6b60e41b81526001600160a01b0382166004820152602401610f66565b6001600160a01b038116600090815261016a602052604090205460ff1615613dc957604051636730cd7560e11b81526001600160a01b0382166004820152602401610f66565b806001600160a01b03163b600003613dff576040516310f6aa6360e21b81526001600160a01b0382166004820152602401610f66565b6001600160a01b0390811660009081526101606020526040902080546001600160a01b031916918b16919091179055600101613bea565b5060005b83811015613f2d576000858583818110613e5657613e566157d2565b9050602002016020810190613e6b91906151d7565b6001600160a01b03163b1115613ec757848482818110613e8d57613e8d6157d2565b9050602002016020810190613ea291906151d7565b60405163f7833c4760e01b81526001600160a01b039091166004820152602401610f66565b886101646000878785818110613edf57613edf6157d2565b9050602002016020810190613ef491906151d7565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b03191692909116919091179055600101613e3a565b505050505050505050505050565b612647828260405180602001604052806000815250614595565b600080613f6183612805565b9050806001600160a01b0316846001600160a01b03161480613fa857506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b80613fcc5750836001600160a01b0316613fc1846110a3565b6001600160a01b0316145b949350505050565b826001600160a01b0316613fe782612805565b6001600160a01b03161461400d5760405162461bcd60e51b8152600401610f6690615b50565b6001600160a01b03821661406f5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610f66565b61407c83838360016145c8565b826001600160a01b031661408f82612805565b6001600160a01b0316146140b55760405162461bcd60e51b8152600401610f6690615b50565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61255d613817565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615614180576111da83614653565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156141da575060408051601f3d908101601f191682019092526141d791810190615721565b60015b61423d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610f66565b600080516020615cc883398151915281146142ac5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610f66565b506111da8383836146ef565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166143315760405162461bcd60e51b8152600401610f6690615b95565b6126478282614714565b600054610100900460ff1661295e5760405162461bcd60e51b8152600401610f6690615b95565b600054610100900460ff166143895760405162461bcd60e51b8152600401610f6690615b95565b61295e614754565b816001600160a01b0316836001600160a01b0316036143f25760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610f66565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61446a848484613fd4565b61447684848484614784565b612f895760405162461bcd60e51b8152600401610f6690615be0565b6060604051806060016040528060248152602001615ce860249139905090565b606060006144bf83614885565b600101905060008167ffffffffffffffff8111156144df576144df615403565b6040519080825280601f01601f191660200182016040528015614509576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461451357509392505050565b60006001600160e01b031982166380ac58cd60e01b148061457657506001600160e01b03198216635b5e139f60e01b145b80610eaf57506301ffc9a760e01b6001600160e01b0319831614610eaf565b61459f838361495d565b6145ac6000848484614784565b6111da5760405162461bcd60e51b8152600401610f6690615be0565b6001600160a01b038416158015906145fd57506001600160a01b03841673660ad4b5a74130a4796b4d54bc6750ae93c86e6c14155b8015614617575060c9546001600160a01b03858116911614155b8061462957506001600160a01b038316155b156146475760405163d845a97b60e01b815260040160405180910390fd5b612f8984848484614af6565b6001600160a01b0381163b6146c05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610f66565b600080516020615cc883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6146f883614c2a565b6000825111806147055750805b156111da57612f898383614c6a565b600054610100900460ff1661473b5760405162461bcd60e51b8152600401610f6690615b95565b60656147478382615a90565b5060666111da8282615a90565b600054610100900460ff1661477b5760405162461bcd60e51b8152600401610f6690615b95565b61295e336142b8565b60006001600160a01b0384163b1561487a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906147c8903390899088908890600401615c32565b6020604051808303816000875af1925050508015614803575060408051601f3d908101601f1916820190925261480091810190615c65565b60015b614860573d808015614831576040519150601f19603f3d011682016040523d82523d6000602084013e614836565b606091505b5080516000036148585760405162461bcd60e51b8152600401610f6690615be0565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050613fcc565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106148c45772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106148f0576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061490e57662386f26fc10000830492506010015b6305f5e1008310614926576305f5e100830492506008015b612710831061493a57612710830492506004015b6064831061494c576064830492506002015b600a8310610eaf5760010192915050565b6001600160a01b0382166149b35760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610f66565b6000818152606760205260409020546001600160a01b031615614a185760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610f66565b614a266000838360016145c8565b6000818152606760205260409020546001600160a01b031615614a8b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610f66565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001811115614b655760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610f66565b816001600160a01b038516614bc157614bbc81609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b614be4565b836001600160a01b0316856001600160a01b031614614be457614be48582614c8f565b6001600160a01b038416614c0057614bfb81614d2c565b614c23565b846001600160a01b0316846001600160a01b031614614c2357614c238482614ddb565b5050505050565b614c3381614653565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612ac38383604051806060016040528060278152602001615d0c60279139614e1f565b60006001614c9c846128c6565b614ca69190615c82565b600083815260986020526040902054909150808214614cf9576001600160a01b03841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b5060009182526098602090815260408084208490556001600160a01b039094168352609781528383209183525290812055565b609954600090614d3e90600190615c82565b6000838152609a602052604081205460998054939450909284908110614d6657614d666157d2565b906000526020600020015490508060998381548110614d8757614d876157d2565b6000918252602080832090910192909255828152609a90915260408082208490558582528120556099805480614dbf57614dbf615c95565b6001900381819060005260206000200160009055905550505050565b6000614de6836128c6565b6001600160a01b039093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b6060600080856001600160a01b031685604051614e3c9190615cab565b600060405180830381855af49150503d8060008114614e77576040519150601f19603f3d011682016040523d82523d6000602084013e614e7c565b606091505b5091509150614e8d86838387614e97565b9695505050505050565b60608315614f06578251600003614eff576001600160a01b0385163b614eff5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f66565b5081613fcc565b613fcc8383815115614f1b5781518083602001fd5b8060405162461bcd60e51b8152600401610f6691906150f1565b828054828255906000526020600020908101928215614f88579160200282015b82811115614f885781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190614f55565b50614f9492915061500b565b5090565b60405180608001604052806004906020820280368337509192915050565b828054828255906000526020600020908101928215614f88579160200282015b82811115614f8857825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190614fd6565b5b80821115614f94576000815560010161500c565b6001600160e01b03198116811461255d57600080fd5b60006020828403121561504857600080fd5b8135612ac381615020565b6001600160a01b038116811461255d57600080fd5b6000806040838503121561507b57600080fd5b823561508681615053565b9150602083013561509681615053565b809150509250929050565b60005b838110156150bc5781810151838201526020016150a4565b50506000910152565b600081518084526150dd8160208601602086016150a1565b601f01601f19169290920160200192915050565b602081526000612ac360208301846150c5565b60006020828403121561511657600080fd5b5035919050565b6000806040838503121561513057600080fd5b823561513b81615053565b946020939093013593505050565b60008083601f84011261515b57600080fd5b50813567ffffffffffffffff81111561517357600080fd5b6020830191508360208260051b850101111561518e57600080fd5b9250929050565b600080602083850312156151a857600080fd5b823567ffffffffffffffff8111156151bf57600080fd5b6151cb85828601615149565b90969095509350505050565b6000602082840312156151e957600080fd5b8135612ac381615053565b60008083601f84011261520657600080fd5b50813567ffffffffffffffff81111561521e57600080fd5b60208301915083602082850101111561518e57600080fd5b600080600080600080600080610100898b03121561525357600080fd5b883567ffffffffffffffff8082111561526b57600080fd5b6152778c838d016151f4565b909a50985060208b0135915061528c82615053565b90965060408a013590808211156152a257600080fd5b6152ae8c838d01615149565b909750955060e08b0191508b8211156152c657600080fd5b60608b019450903590808211156152dc57600080fd5b506152e98b828c01615149565b999c989b5096995094979396929594505050565b60008151808452602080850194506020840160005b838110156153375781516001600160a01b031687529582019590820190600101615312565b509495945050505050565b602081526000612ac360208301846152fd565b60008060008060006080868803121561536d57600080fd5b853561537881615053565b9450602086013561538881615053565b9350604086013567ffffffffffffffff8111156153a457600080fd5b6153b0888289016151f4565b96999598509660600135949350505050565b6000806000606084860312156153d757600080fd5b83356153e281615053565b925060208401356153f281615053565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261542a57600080fd5b813567ffffffffffffffff8082111561544557615445615403565b604051601f8301601f19908116603f0116810190828211818310171561546d5761546d615403565b8160405283815286602085880101111561548657600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156154b957600080fd5b82356154c481615053565b9150602083013567ffffffffffffffff8111156154e057600080fd5b6154ec85828601615419565b9150509250929050565b6000806040838503121561550957600080fd5b823561551481615053565b9150602083013561509681615020565b801515811461255d57600080fd5b6000806040838503121561554557600080fd5b823561555081615053565b9150602083013561509681615524565b60808101818360005b6004811015615588578151835260209283019290910190600101615569565b50505092915050565b600080600080608085870312156155a757600080fd5b84356155b281615053565b935060208501356155c281615053565b925060408501359150606085013567ffffffffffffffff8111156155e557600080fd5b6155f187828801615419565b91505092959194509250565b60008060008060006060868803121561561557600080fd5b853561562081615053565b9450602086013567ffffffffffffffff8082111561563d57600080fd5b61564989838a01615149565b9096509450604088013591508082111561566257600080fd5b5061566f88828901615149565b969995985093965092949392505050565b6020815281516020820152600060208301516156a0604084018215159052565b506040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c08301516101208060e08501526156e56101408501836150c5565b915060e0850151601f1961010081878603018188015261570585846152fd565b908801518782039092018488015293509050614e8d83826152fd565b60006020828403121561573357600080fd5b5051919050565b6000604082016040835280865480835260608501915087600052602092508260002060005b828110156157845781546001600160a01b03168452928401926001918201910161575f565b505050838103828501528481528590820160005b868110156157c65782356157ab81615053565b6001600160a01b031682529183019190830190600101615798565b50979650505050505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156157fa57600080fd5b8151612ac381615053565b60006020828403121561581757600080fd5b8151612ac381615524565b634e487b7160e01b600052601160045260246000fd5b60006001820161584a5761584a615822565b5060010190565b80820180821115610eaf57610eaf615822565b6000808585111561587457600080fd5b8386111561588157600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156158b65780818660040360031b1b83161692505b505092915050565b600080604083850312156158d157600080fd5b82359150602083013561509681615053565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600083516159da8184602088016150a1565b8351908301906159ee8183602088016150a1565b01949350505050565b600060208284031215615a0957600080fd5b8135612ac381615524565b600181811c90821680615a2857607f821691505b60208210810361198e57634e487b7160e01b600052602260045260246000fd5b601f8211156111da576000816000526020600020601f850160051c81016020861015615a715750805b601f850160051c820191505b8181101561344957828155600101615a7d565b815167ffffffffffffffff811115615aaa57615aaa615403565b615abe81615ab88454615a14565b84615a48565b602080601f831160018114615af35760008415615adb5750858301515b600019600386901b1c1916600185901b178555613449565b600085815260208120601f198616915b82811015615b2257888601518255948401946001909101908401615b03565b5085821015615b405787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090614e8d908301846150c5565b600060208284031215615c7757600080fd5b8151612ac381615020565b81810381811115610eaf57610eaf615822565b634e487b7160e01b600052603160045260246000fd5b60008251615cbd8184602087016150a1565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc68747470733a2f2f6b696e746f2e78797a2f6d657461646174612f6b696e746f6170702f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122051fc4d797f27ba8bbf826f838308991ec4a78d112ece68e33527cca2b774be1064736f6c634300081800330000000000000000000000008a4720488ca32f1223ccfe5a087e250fe3bc5d750000000000000000000000001842a4eff3efd24c50b63c3cf89cecee245fc2bd", - "nonce": "0x4c88", + "input": "0x0000000000000000000000000000000000000000000000000000000000000000610100604052306080523480156200001657600080fd5b50604051620060ab380380620060ab8339810160408190526200003991620001aa565b62000043620000d0565b6001600160a01b0380831660c081905290821660a052604080516399a6cddd60e01b815290516399a6cddd916004808201926020929091908290030181865afa15801562000095573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000bb9190620001e9565b6001600160a01b031660e05250620002109050565b600054610100900460ff16156200013d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200018f576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b0381168114620001a757600080fd5b50565b60008060408385031215620001be57600080fd5b8251620001cb8162000191565b6020840151909250620001de8162000191565b809150509250929050565b600060208284031215620001fc57600080fd5b8151620002098162000191565b9392505050565b60805160a05160c05160e051615dea620002c160003960008181610ac50152818161150601528181611a8a01528181611d650152818161200601526122e4015260008181610d2201528181610f200152818161145b015281816116ad01528181611cc8015281816122460152613cc20152600081816105e8015281816113ec01526119150152600081816124d701528181612517015281816125d10152818161261101526127370152615dea6000f3fe6080604052600436106104525760003560e01c80637ed6a5cb1161023f578063b7b188d111610139578063dc3acebe116100b6578063e985e9c51161007a578063e985e9c514610e29578063f2c9784f14610e72578063f2fde38b14610e9a578063fae3f61214610eba578063fd96326814610ed557600080fd5b8063dc3acebe14610d8c578063e2c4631614610dac578063e44bde3b14610dcc578063e614b4e914610de1578063e739d16214610e0e57600080fd5b8063c1d3c7b3116100fd578063c1d3c7b314610cd0578063c233e2a314610cf0578063c5c0369914610d10578063c87b56dd14610d44578063db9d31f414610d6457600080fd5b8063b7b188d114610c18578063b88d4fde14610c2d578063bb28e1e714610c4d578063bf0b065514610c7e578063c1475bac14610c9957600080fd5b806399a6cddd116101c7578063a22cb4651161018b578063a22cb46514610b5d578063a2ac0a0214610b7d578063b17025b014610b9d578063b4e0028114610bca578063b55ca2c314610c0157600080fd5b806399a6cddd14610ab35780639a6896f614610ae75780639dabef0314610b075780639de85d0814610b22578063a217170014610b3d57600080fd5b80638da5cb5b1161020e5780638da5cb5b146109d657806392e1c6c1146109f45780639461b86814610a2b57806395d89b4114610a6257806396e62b6014610a9357600080fd5b80637ed6a5cb1461094c5780638129fc1c1461096c5780638a2828da146109815780638c0fdf98146109b257600080fd5b80633659cfe6116103505780636352211e116102d857806377e932ac1161029c57806377e932ac1461089a57806377ffb529146108ba5780637975f38e146108da5780637a738545146108f55780637b787a241461091557600080fd5b80636352211e146108105780636d3005de1461083057806370a0823114610845578063715018a614610865578063725928511461087a57600080fd5b80634f1ef2861161031f5780634f1ef286146107935780634f6ccce7146107a657806352d1902d146107c657806352daa608146107db5780635b19c2d8146107f057600080fd5b80633659cfe6146106f757806342842e0e146107175780634a4693be146107375780634b5aea5d1461076b57600080fd5b80631473cc08116103de5780632357eda3116103a25780632357eda31461066b57806323b872dd1461068b57806323effcd1146106ab57806329ef5c1b146106c25780632f745c59146106d757600080fd5b80631473cc08146105b657806316e4cbf9146105d657806318160ddd1461060a57806318f062cd146106295780631e2c6d3e1461064b57600080fd5b8063095ea7b311610425578063095ea7b3146105215780630e6ff4321461054157806312015e521461056157806312c3aad51461057657806313bc6d4b1461059657600080fd5b806301ffc9a7146104575780630665e6ac1461048c57806306fdde03146104ae578063081812fc146104e9575b600080fd5b34801561046357600080fd5b506104776104723660046150b8565b610ef0565b60405190151581526020015b60405180910390f35b34801561049857600080fd5b506104ac6104a73660046150ea565b610f01565b005b3480156104ba57600080fd5b5060408051808201909152600981526804b696e746f204150560bc1b60208201525b6040516104839190615173565b3480156104f557600080fd5b50610509610504366004615186565b6110ef565b6040516001600160a01b039091168152602001610483565b34801561052d57600080fd5b506104ac61053c36600461519f565b611116565b34801561054d57600080fd5b506104ac61055c366004615217565b61122b565b34801561056d57600080fd5b50610509606e81565b34801561058257600080fd5b50610509610591366004615186565b61134d565b3480156105a257600080fd5b506104776105b1366004615259565b611378565b3480156105c257600080fd5b506104ac6105d13660046152b8565b611446565b3480156105e257600080fd5b506105097f000000000000000000000000000000000000000000000000000000000000000081565b34801561061657600080fd5b506099545b604051908152602001610483565b34801561063557600080fd5b5061063e6117c5565b60405161048391906153c4565b34801561065757600080fd5b506104776106663660046150ea565b6119e0565b34801561067757600080fd5b506104776106863660046153d7565b611e66565b34801561069757600080fd5b506104ac6106a6366004615444565b612406565b3480156106b757600080fd5b5061061b62278d0081565b3480156106ce57600080fd5b5061061b600a81565b3480156106e357600080fd5b5061061b6106f236600461519f565b612437565b34801561070357600080fd5b506104ac610712366004615259565b6124cd565b34801561072357600080fd5b506104ac610732366004615444565b6125ac565b34801561074357600080fd5b5061075263040b850f60e31b81565b6040516001600160e01b03199091168152602001610483565b34801561077757600080fd5b50610509734e59b44847b379578588920ca78fbf26c0b4956c81565b6104ac6107a1366004615528565b6125c7565b3480156107b257600080fd5b5061061b6107c1366004615186565b612697565b3480156107d257600080fd5b5061061b61272a565b3480156107e757600080fd5b5061063e6127dd565b3480156107fc57600080fd5b5061050961080b366004615186565b612840565b34801561081c57600080fd5b5061050961082b366004615186565b612851565b34801561083c57600080fd5b5061063e6128b1565b34801561085157600080fd5b5061061b610860366004615259565b612912565b34801561087157600080fd5b506104ac612998565b34801561088657600080fd5b506104ac610895366004615217565b6129ac565b3480156108a657600080fd5b506104776108b5366004615578565b612ace565b3480156108c657600080fd5b506105096108d5366004615186565b612b4c565b3480156108e657600080fd5b506107526307eb652360e21b81565b34801561090157600080fd5b50610477610910366004615259565b612b5d565b34801561092157600080fd5b50610509610930366004615259565b610168602052600090815260409020546001600160a01b031681565b34801561095857600080fd5b506104ac610967366004615259565b612ba7565b34801561097857600080fd5b506104ac612c5e565b34801561098d57600080fd5b5061047761099c366004615259565b61016a6020526000908152604090205460ff1681565b3480156109be57600080fd5b506105096f71727de22e5e9d8baf0edac6f37da03281565b3480156109e257600080fd5b5060c9546001600160a01b0316610509565b348015610a0057600080fd5b50610509610a0f366004615259565b610164602052600090815260409020546001600160a01b031681565b348015610a3757600080fd5b50610509610a46366004615186565b610162602052600090815260409020546001600160a01b031681565b348015610a6e57600080fd5b5060408051808201909152600881526704b494e544f4150560c41b60208201526104dc565b348015610a9f57600080fd5b50610477610aae3660046150b8565b612dd2565b348015610abf57600080fd5b506105097f000000000000000000000000000000000000000000000000000000000000000081565b348015610af357600080fd5b506104ac610b023660046150ea565b612e00565b348015610b1357600080fd5b506107526306df68c760e51b81565b348015610b2e57600080fd5b5061061b662386f26fc1000081565b348015610b4957600080fd5b50610477610b583660046150ea565b612e37565b348015610b6957600080fd5b506104ac610b783660046155b4565b612eac565b348015610b8957600080fd5b50610477610b983660046150b8565b612eb7565b348015610ba957600080fd5b50610bbd610bb8366004615259565b612eed565b60405161048391906155e2565b348015610bd657600080fd5b50610509610be5366004615259565b610167602052600090815260409020546001600160a01b031681565b348015610c0d57600080fd5b5061061b6101635481565b348015610c2457600080fd5b5061061b603c81565b348015610c3957600080fd5b506104ac610c48366004615613565b612fd9565b348015610c5957600080fd5b50610477610c68366004615259565b61016c6020526000908152604090205460ff1681565b348015610c8a57600080fd5b5061075263b760faf960e01b81565b348015610ca557600080fd5b50610509610cb4366004615259565b610160602052600090815260409020546001600160a01b031681565b348015610cdc57600080fd5b506104ac610ceb3660046152b8565b613011565b348015610cfc57600080fd5b506104ac610d0b366004615217565b6130e1565b348015610d1c57600080fd5b506105097f000000000000000000000000000000000000000000000000000000000000000081565b348015610d5057600080fd5b506104dc610d5f366004615186565b613203565b348015610d7057600080fd5b5061050973660ad4b5a74130a4796b4d54bc6750ae93c86e6c81565b348015610d9857600080fd5b50610509610da7366004615259565b613269565b348015610db857600080fd5b506104ac610dc736600461567f565b6132b1565b348015610dd857600080fd5b50610752600081565b348015610ded57600080fd5b50610e01610dfc366004615259565b6134d3565b6040516104839190615702565b348015610e1a57600080fd5b5061075263611d2e7560e11b81565b348015610e3557600080fd5b50610477610e443660046150ea565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b348015610e7e57600080fd5b50610509732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb81565b348015610ea657600080fd5b506104ac610eb5366004615259565b613731565b348015610ec657600080fd5b50610752634b1d7cf560e01b81565b348015610ee157600080fd5b5061075263765e827f60e01b81565b6000610efb826137a7565b92915050565b6040516304131fc960e31b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690632098fe4890602401602060405180830381865afa158015610f67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8b91906157a3565b600003610fbb57604051633146914d60e11b81526001600160a01b03831660048201526024015b60405180910390fd5b60c9546001600160a01b03163314801590610fdf5750336001600160a01b03831614155b1561100857604051633146914d60e11b81526001600160a01b0383166004820152602401610fb2565b6001600160a01b03828116600090815261016860205260409020541615611071576001600160a01b03808316600081815261016860208181526040808420805490961684526101678252832080546001600160a01b031990811690915593909252905281541690555b6040516001600160a01b038216907fb3aeb43a1257df8782f2b4a1e24e054eebef0ecb13c22fea8a16078ca40a4fd990600090a26001600160a01b039182166000818152610168602090815260408083208054969095166001600160a01b031996871681179095559382526101679052919091208054909216179055565b60006110fa826137cc565b506000908152606960205260409020546001600160a01b031690565b600061112182612851565b9050806001600160a01b0316836001600160a01b03160361118e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610fb2565b336001600160a01b03821614806111aa57506111aa8133610e44565b61121c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610fb2565b611226838361382b565b505050565b611233613899565b7f33faed76ddc60c6bbbed3a0b267181db13bde22b167f1624e1a922748bb8989d6101658383604051611268939291906157bc565b60405180910390a160005b610165548110156112d55760006101666000610165848154811061129957611299615854565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101611273565b5060005b8181101561133f57600161016660008585858181106112fa576112fa615854565b905060200201602081019061130f9190615259565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556001016112d9565b506112266101658383614fb7565b610169818154811061135e57600080fd5b6000918252602090912001546001600160a01b0316905081565b60006001600160a01b0382163014806113ad57506001600160a01b038216732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb145b806113d057506001600160a01b0382166f71727de22e5e9d8baf0edac6f37da032145b806113e457506001600160a01b038216606e145b8061142057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80610efb5750506001600160a01b03166000908152610166602052604090205460ff1690565b6040516304131fc960e31b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632098fe4890602401602060405180830381865afa1580156114aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ce91906157a3565b6000036114f057604051633146914d60e11b8152336004820152602401610fb2565b60405163025e7c2760e01b8152600060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690639944f51890339063025e7c2790602401602060405180830381865afa15801561155d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611581919061586a565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156115c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e99190615887565b611606576040516320e155c960e21b815260040160405180910390fd5b6001600160a01b038616600090815261015f602052604090205415611649576040516345ed80e960e01b81526001600160a01b0387166004820152602401610fb2565b6001600160a01b0386811660009081526101606020526040902054161561168e5760405163581f587f60e01b81526001600160a01b0387166004820152602401610fb2565b6040516304131fc960e31b81526001600160a01b0387811660048301527f00000000000000000000000000000000000000000000000000000000000000001690632098fe4890602401602060405180830381865afa1580156116f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171891906157a3565b1561174157604051638561d0f960e01b81526001600160a01b0387166004820152602401610fb2565b6101638054906000611752836158ba565b919050555061176b6101635489898989898989896138f3565b6117783361016354613fbd565b604080513381524260208201526001600160a01b038816917fa556480340fa0f22d63dd2fa81b30a61453ebf99f0bfca6cdff6af42e492ab50910160405180910390a25050505050505050565b610165546060906000906117da9060056158d3565b67ffffffffffffffff8111156117f2576117f2615485565b60405190808252806020026020018201604052801561181b578160200160208202803683370190505b509050308160008151811061183257611832615854565b60200260200101906001600160a01b031690816001600160a01b031681525050732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb8160018151811061187a5761187a615854565b60200260200101906001600160a01b031690816001600160a01b0316815250506f71727de22e5e9d8baf0edac6f37da032816002815181106118be576118be615854565b60200260200101906001600160a01b031690816001600160a01b031681525050606e816003815181106118f3576118f3615854565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160048151811061194757611947615854565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b610165548110156119da57610165818154811061198957611989615854565b6000918252602090912001546001600160a01b0316826119aa8360056158d3565b815181106119ba576119ba615854565b6001600160a01b039092166020928302919091019091015260010161196a565b50919050565b6001600160a01b0381166000908152610166602052604081205460ff1615611a0a57506001610efb565b6001600160a01b0382161580611a3c57506001600160a01b038216734e59b44847b379578588920ca78fbf26c0b4956c145b15611b7f576001600160a01b03808416600090815261016760205260409020541680611a6c576000915050610efb565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa158015611adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aff919061586a565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b679190615887565b611b75576000915050610efb565b6001915050610efb565b6001600160a01b0382811660009081526101606020526040812054909116611be8576001600160a01b038381166000908152610164602052604090205416611bc75782611c05565b6001600160a01b038084166000908152610164602052604090205416611c05565b6001600160a01b0380841660009081526101606020526040902054165b6001600160a01b038581166000908152610164602052604090205491925082811691161480611c7e57506001600160a01b038084166000908152610164602052604080822054878416835291205482169116148015611c7e57506001600160a01b03848116600090815261016460205260409020541615155b15611e5c576001600160a01b038116600090815261015f6020526040812054611ca690612851565b6040516304131fc960e31b81526001600160a01b0380831660048301529192507f000000000000000000000000000000000000000000000000000000000000000090911690632098fe4890602401602060405180830381865afa158015611d11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3591906157a3565b600003611d4757600092505050610efb565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa158015611db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dda919061586a565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e429190615887565b611e5157600092505050610efb565b600192505050610efb565b5060009392505050565b60008083611e75576000611e8c565b611e836004600086886158e6565b611e8c91615910565b9050611e9786612b5d565b8015611ea75750611ea781612eb7565b15611ef1576000611ebc6024600487896158e6565b810190611ec99190615259565b9050806001600160a01b0316886001600160a01b031614611eef576000925050506123fd565b505b611efb8682612ace565b15611f45576000611f0f85600481896158e6565b810190611f1c9190615940565b915050806001600160a01b0316886001600160a01b031614611f43576000925050506123fd565b505b611f4e86612b5d565b8015611f5e5750611f5e81612dd2565b15611f6d5760009150506123fd565b611f7686611378565b15611f855760019150506123fd565b6001600160a01b0386161580611fb757506001600160a01b038616734e59b44847b379578588920ca78fbf26c0b4956c145b156120fd576001600160a01b03808816600090815261016760205260409020541680611fe8576000925050506123fd565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa158015612057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061207b919061586a565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156120bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e39190615887565b6120f2576000925050506123fd565b6001925050506123fd565b6001600160a01b0386811660009081526101606020526040812054909116612166576001600160a01b0387811660009081526101646020526040902054166121455786612183565b6001600160a01b038088166000908152610164602052604090205416612183565b6001600160a01b0380881660009081526101606020526040902054165b6001600160a01b0389811660009081526101646020526040902054919250828116911614806121fc57506001600160a01b0380881660009081526101646020526040808220548b84168352912054821691161480156121fc57506001600160a01b03888116600090815261016460205260409020541615155b156123dd576001600160a01b038116600090815261015f602052604081205461222490612851565b6040516304131fc960e31b81526001600160a01b0380831660048301529192507f000000000000000000000000000000000000000000000000000000000000000090911690632098fe4890602401602060405180830381865afa15801561228f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b391906157a3565b6000036122c657600093505050506123fd565b60405163025e7c2760e01b8152600060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691639944f5189184169063025e7c2790602401602060405180830381865afa158015612335573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612359919061586a565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561239d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c19190615887565b6123d157600093505050506123fd565b600193505050506123fd565b6001600160a01b0387166123f6576000925050506123fd565b6000925050505b95945050505050565b6124103382613fd7565b61242c5760405162461bcd60e51b8152600401610fb290615965565b611226838383614056565b600061244283612912565b82106124a45760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610fb2565b506001600160a01b03919091166000908152609760209081526040808320938352929052205490565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036125155760405162461bcd60e51b8152600401610fb2906159b2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661255e600080516020615d4a833981519152546001600160a01b031690565b6001600160a01b0316146125845760405162461bcd60e51b8152600401610fb2906159fe565b61258d816141c7565b604080516000808252602082019092526125a9918391906141cf565b50565b61122683838360405180602001604052806000815250612fd9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361260f5760405162461bcd60e51b8152600401610fb2906159b2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612658600080516020615d4a833981519152546001600160a01b031690565b6001600160a01b03161461267e5760405162461bcd60e51b8152600401610fb2906159fe565b612687826141c7565b612693828260016141cf565b5050565b60006126a260995490565b82106127055760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610fb2565b6099828154811061271857612718615854565b90600052602060002001549050919050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146127ca5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610fb2565b50600080516020615d4a83398151915290565b606061016980548060200260200160405190810160405280929190818152602001828054801561283657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612818575b5050505050905090565b610165818154811061135e57600080fd5b6000818152606760205260408120546001600160a01b031680610efb5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fb2565b606061016b805480602002602001604051908101604052809291908181526020018280548015612836576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311612818575050505050905090565b60006001600160a01b03821661297c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610fb2565b506001600160a01b031660009081526068602052604090205490565b6129a0613899565b6129aa600061433a565b565b6129b4613899565b7ffdcc6d089475f32a8859ad321734e908c5baf20dc8620467af021801d2f30cd061016983836040516129e9939291906157bc565b60405180910390a160005b61016954811015612a5657600061016a60006101698481548110612a1a57612a1a615854565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790556001016129f4565b5060005b81811015612ac057600161016a6000858585818110612a7b57612a7b615854565b9050602002016020810190612a909190615259565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101612a5a565b506112266101698383614fb7565b6000612ad983612b5d565b8015612b4557506001600160e01b031982166307eb652360e21b1480612b0f57506001600160e01b0319821663765e827f60e01b145b80612b2a57506001600160e01b03198216634b1d7cf560e01b145b80612b4557506001600160e01b031982166306df68c760e51b145b9392505050565b61016b818154811061135e57600080fd5b60006001600160a01b038216732843c269d2a64ecfa63548e8b3fc0fd23b7f70cb1480610efb57506001600160a01b0382166f71727de22e5e9d8baf0edac6f37da0321492915050565b612baf613899565b6001600160a01b038116600090815261015f602052604090206001015460ff1615612bf857604051636398134f60e11b81526001600160a01b0382166004820152602401610fb2565b6001600160a01b038116600081815261015f6020526040908190206001908101805460ff19169091179055517f8aa2b15126b5f19780e90450219824aa62847223823a97580eda33ccad359a5190612c539042815260200190565b60405180910390a250565b600054610100900460ff1615808015612c7e5750600054600160ff909116105b80612c985750303b158015612c98575060005460ff166001145b612cfb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610fb2565b6000805460ff191660011790558015612d1e576000805461ff0019166101001790555b612d696040518060400160405280600981526020016804b696e746f204150560bc1b8152506040518060400160405280600881526020016704b494e544f4150560c41b81525061438c565b612d716143bd565b612d796143e4565b612d816143bd565b612d8a3361433a565b80156125a9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60006001600160e01b031982161580610efb57506001600160e01b0319821663b760faf960e01b1492915050565b612e08613899565b6001600160a01b0391821660009081526101606020526040902080546001600160a01b03191691909216179055565b6000826001600160a01b0316826001600160a01b03161480612e7657506001600160a01b03828116600090815261016060205260409020548116908416145b80612b455750506001600160a01b0391821660009081526101616020908152604080832093909416825291909152205460ff1690565b612693338383614413565b60006001600160e01b0319821663040b850f60e31b1480610efb57506001600160e01b0319821663611d2e7560e11b1492915050565b612ef561501a565b6001600160a01b0382811660009081526101606020526040812054909116612f1d5782612f3a565b6001600160a01b0380841660009081526101606020526040902054165b6001600160a01b038116600090815261015f6020526040812060028101546003820154600483015460059093015494955090939092849003612f7d57603c612f7f565b835b86526000839003612f9157600a612f93565b825b60208701526000829003612faa5762278d00612fac565b815b60408701526000819003612fc757662386f26fc10000612fc9565b805b6060870152509395945050505050565b612fe33383613fd7565b612fff5760405162461bcd60e51b8152600401610fb290615965565b61300b848484846144e1565b50505050565b6001600160a01b038616600090815261015f602052604090205461303481612851565b6001600160a01b0316336001600160a01b031614613082573361305682612851565b604051631eba4e2b60e31b81526001600160a01b03928316600482015291166024820152604401610fb2565b613093818a8a8a8a8a8a8a8a6138f3565b604080513381524260208201526001600160a01b038916917f1c64f068a47e25f729fe0a695d5999e7c9669e2f9397d4a40fb04b3e89ad393f910160405180910390a2505050505050505050565b6130e9613899565b7f754988d694eecd9881eff0cbf621d6001bcff2b9dc34d04a3595e9fd58fd550361016b838360405161311e939291906157bc565b60405180910390a160005b61016b5481101561318b57600061016c600061016b848154811061314f5761314f615854565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101613129565b5060005b818110156131f557600161016c60008585858181106131b0576131b0615854565b90506020020160208101906131c59190615259565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905560010161318f565b5061122661016b8383614fb7565b606061320e826137cc565b6000613218614514565b905060008151116132385760405180602001604052806000815250612b45565b8061324284614534565b604051602001613253929190615a4a565b6040516020818303038152906040529392505050565b6001600160a01b03818116600090815261016060205260408120549091166132915781610efb565b506001600160a01b03908116600090815261016060205260409020541690565b8281146132db576040516355c5b3e360e11b81526004810184905260248101829052604401610fb2565b6001600160a01b038516600090815261015f6020526040902054158061334b57506001600160a01b038516600090815261015f602052604090205461331f90612851565b6001600160a01b0316336001600160a01b03161415801561334b575060c9546001600160a01b03163314155b156133a4576001600160a01b038516600090815261015f6020526040902054339061337590612851565b604051600162560d8b60e11b031981526001600160a01b03928316600482015291166024820152604401610fb2565b60005b838110156134cb578484828181106133c1576133c1615854565b90506020020160208101906133d69190615259565b6001600160a01b03163b600003613433578484828181106133f9576133f9615854565b905060200201602081019061340e9190615259565b6040516310f6aa6360e21b81526001600160a01b039091166004820152602401610fb2565b82828281811061344557613445615854565b905060200201602081019061345a9190615a79565b6001600160a01b0387166000908152610161602052604081209087878581811061348657613486615854565b905060200201602081019061349b9190615259565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556001016133a7565b505050505050565b61352460405180610120016040528060008152602001600015158152602001600081526020016000815260200160008152602001600081526020016060815260200160608152602001606081525090565b6001600160a01b038281166000908152610160602052604081205461015f921661354e578361356b565b6001600160a01b0380851660009081526101606020526040902054165b6001600160a01b03168152602080820192909252604090810160002081516101208101835281548152600182015460ff161515938101939093526002810154918301919091526003810154606083015260048101546080830152600581015460a083015260068101805460c0840191906135e490615a96565b80601f016020809104026020016040519081016040528092919081815260200182805461361090615a96565b801561365d5780601f106136325761010080835404028352916020019161365d565b820191906000526020600020905b81548152906001019060200180831161364057829003601f168201915b50505050508152602001600782018054806020026020016040519081016040528092919081815260200182805480156136bf57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116136a1575b505050505081526020016008820180548060200260200160405190810160405280929190818152602001828054801561372157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613703575b5050505050815250509050919050565b613739613899565b6001600160a01b03811661379e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fb2565b6125a98161433a565b60006001600160e01b0319821663780e9d6360e01b1480610efb5750610efb826145c7565b6000818152606760205260409020546001600160a01b03166125a95760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fb2565b600081815260696020526040902080546001600160a01b0319166001600160a01b038416908117909155819061386082612851565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60c9546001600160a01b031633146129aa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fb2565b6001600160a01b038616600090815261015f602090815260408083206007018054825181850281018501909352808352919290919083018282801561396157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613943575b5050505050905060005b81518110156139d1576000610164600084848151811061398d5761398d615854565b6020908102919091018101516001600160a01b0390811683529082019290925260400160002080546001600160a01b0319169290911691909117905560010161396b565b506001600160a01b038716600090815261015f602090815260409182902060080180548351818402810184019094528084529091830182828015613a3e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613a20575b5050505050905060005b8151811015613aae5760006101606000848481518110613a6a57613a6a615854565b6020908102919091018101516001600160a01b0390811683529082019290925260400160002080546001600160a01b03191692909116919091179055600101613a48565b5060408051610120810182528b815260006020808301829052873583850152870135606083015291860135608082015260a08101866003602002013581526020018b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060408051602087810282810182019093528782529283019290918891889182918501908490808284376000920191909152505050908252506040805160208a810282810182019093528a82529283019290918b918b91829185019084908082843760009201829052509390945250508d81526101626020908152604080832080546001600160a01b0319166001600160a01b038f16908117909155835261015f825291829020845181559084015160018201805460ff1916911515919091179055908301516002820155606083015160038201556080830151600482015560a0830151600582015560c083015192935083929091506006820190613c2c9082615b12565b5060e08201518051613c48916007840191602090910190615038565b506101008201518051613c65916008840191602090910190615038565b5090505060005b86811015613eb8576000888883818110613c8857613c88615854565b9050602002016020810190613c9d9190615259565b6040516304131fc960e31b81526001600160a01b0380831660048301529192506000917f00000000000000000000000000000000000000000000000000000000000000001690632098fe4890602401602060405180830381865afa158015613d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d2d91906157a3565b1115613d5757604051638561d0f960e01b81526001600160a01b0382166004820152602401610fb2565b6001600160a01b03818116600090815261016060205260409020541615801590613d9f57506001600160a01b03818116600090815261016060205260409020548116908b1614155b15613dc857604051630a178b6b60e41b81526001600160a01b0382166004820152602401610fb2565b896001600160a01b0316816001600160a01b031603613e0557604051630a178b6b60e41b81526001600160a01b0382166004820152602401610fb2565b6001600160a01b038116600090815261016a602052604090205460ff1615613e4b57604051636730cd7560e11b81526001600160a01b0382166004820152602401610fb2565b806001600160a01b03163b600003613e81576040516310f6aa6360e21b81526001600160a01b0382166004820152602401610fb2565b6001600160a01b0390811660009081526101606020526040902080546001600160a01b031916918b16919091179055600101613c6c565b5060005b83811015613faf576000858583818110613ed857613ed8615854565b9050602002016020810190613eed9190615259565b6001600160a01b03163b1115613f4957848482818110613f0f57613f0f615854565b9050602002016020810190613f249190615259565b60405163f7833c4760e01b81526001600160a01b039091166004820152602401610fb2565b886101646000878785818110613f6157613f61615854565b9050602002016020810190613f769190615259565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b03191692909116919091179055600101613ebc565b505050505050505050505050565b612693828260405180602001604052806000815250614617565b600080613fe383612851565b9050806001600160a01b0316846001600160a01b0316148061402a57506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b8061404e5750836001600160a01b0316614043846110ef565b6001600160a01b0316145b949350505050565b826001600160a01b031661406982612851565b6001600160a01b03161461408f5760405162461bcd60e51b8152600401610fb290615bd2565b6001600160a01b0382166140f15760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610fb2565b6140fe838383600161464a565b826001600160a01b031661411182612851565b6001600160a01b0316146141375760405162461bcd60e51b8152600401610fb290615bd2565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6125a9613899565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561420257611226836146d5565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561425c575060408051601f3d908101601f19168201909252614259918101906157a3565b60015b6142bf5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610fb2565b600080516020615d4a833981519152811461432e5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610fb2565b50611226838383614771565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166143b35760405162461bcd60e51b8152600401610fb290615c17565b6126938282614796565b600054610100900460ff166129aa5760405162461bcd60e51b8152600401610fb290615c17565b600054610100900460ff1661440b5760405162461bcd60e51b8152600401610fb290615c17565b6129aa6147d6565b816001600160a01b0316836001600160a01b0316036144745760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610fb2565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6144ec848484614056565b6144f884848484614806565b61300b5760405162461bcd60e51b8152600401610fb290615c62565b6060604051806060016040528060248152602001615d6a60249139905090565b6060600061454183614907565b600101905060008167ffffffffffffffff81111561456157614561615485565b6040519080825280601f01601f19166020018201604052801561458b576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461459557509392505050565b60006001600160e01b031982166380ac58cd60e01b14806145f857506001600160e01b03198216635b5e139f60e01b145b80610efb57506301ffc9a760e01b6001600160e01b0319831614610efb565b61462183836149df565b61462e6000848484614806565b6112265760405162461bcd60e51b8152600401610fb290615c62565b6001600160a01b0384161580159061467f57506001600160a01b03841673660ad4b5a74130a4796b4d54bc6750ae93c86e6c14155b8015614699575060c9546001600160a01b03858116911614155b806146ab57506001600160a01b038316155b156146c95760405163d845a97b60e01b815260040160405180910390fd5b61300b84848484614b78565b6001600160a01b0381163b6147425760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610fb2565b600080516020615d4a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61477a83614cac565b6000825111806147875750805b156112265761300b8383614cec565b600054610100900460ff166147bd5760405162461bcd60e51b8152600401610fb290615c17565b60656147c98382615b12565b5060666112268282615b12565b600054610100900460ff166147fd5760405162461bcd60e51b8152600401610fb290615c17565b6129aa3361433a565b60006001600160a01b0384163b156148fc57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061484a903390899088908890600401615cb4565b6020604051808303816000875af1925050508015614885575060408051601f3d908101601f1916820190925261488291810190615ce7565b60015b6148e2573d8080156148b3576040519150601f19603f3d011682016040523d82523d6000602084013e6148b8565b606091505b5080516000036148da5760405162461bcd60e51b8152600401610fb290615c62565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061404e565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106149465772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614972576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061499057662386f26fc10000830492506010015b6305f5e10083106149a8576305f5e100830492506008015b61271083106149bc57612710830492506004015b606483106149ce576064830492506002015b600a8310610efb5760010192915050565b6001600160a01b038216614a355760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610fb2565b6000818152606760205260409020546001600160a01b031615614a9a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fb2565b614aa860008383600161464a565b6000818152606760205260409020546001600160a01b031615614b0d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fb2565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001811115614be75760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610fb2565b816001600160a01b038516614c4357614c3e81609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b614c66565b836001600160a01b0316856001600160a01b031614614c6657614c668582614d11565b6001600160a01b038416614c8257614c7d81614dae565b614ca5565b846001600160a01b0316846001600160a01b031614614ca557614ca58482614e5d565b5050505050565b614cb5816146d5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612b458383604051806060016040528060278152602001615d8e60279139614ea1565b60006001614d1e84612912565b614d289190615d04565b600083815260986020526040902054909150808214614d7b576001600160a01b03841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b5060009182526098602090815260408084208490556001600160a01b039094168352609781528383209183525290812055565b609954600090614dc090600190615d04565b6000838152609a602052604081205460998054939450909284908110614de857614de8615854565b906000526020600020015490508060998381548110614e0957614e09615854565b6000918252602080832090910192909255828152609a90915260408082208490558582528120556099805480614e4157614e41615d17565b6001900381819060005260206000200160009055905550505050565b6000614e6883612912565b6001600160a01b039093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b6060600080856001600160a01b031685604051614ebe9190615d2d565b600060405180830381855af49150503d8060008114614ef9576040519150601f19603f3d011682016040523d82523d6000602084013e614efe565b606091505b5091509150614f0f86838387614f19565b9695505050505050565b60608315614f88578251600003614f81576001600160a01b0385163b614f815760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610fb2565b508161404e565b61404e8383815115614f9d5781518083602001fd5b8060405162461bcd60e51b8152600401610fb29190615173565b82805482825590600052602060002090810192821561500a579160200282015b8281111561500a5781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190614fd7565b5061501692915061508d565b5090565b60405180608001604052806004906020820280368337509192915050565b82805482825590600052602060002090810192821561500a579160200282015b8281111561500a57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190615058565b5b80821115615016576000815560010161508e565b6001600160e01b0319811681146125a957600080fd5b6000602082840312156150ca57600080fd5b8135612b45816150a2565b6001600160a01b03811681146125a957600080fd5b600080604083850312156150fd57600080fd5b8235615108816150d5565b91506020830135615118816150d5565b809150509250929050565b60005b8381101561513e578181015183820152602001615126565b50506000910152565b6000815180845261515f816020860160208601615123565b601f01601f19169290920160200192915050565b602081526000612b456020830184615147565b60006020828403121561519857600080fd5b5035919050565b600080604083850312156151b257600080fd5b82356151bd816150d5565b946020939093013593505050565b60008083601f8401126151dd57600080fd5b50813567ffffffffffffffff8111156151f557600080fd5b6020830191508360208260051b850101111561521057600080fd5b9250929050565b6000806020838503121561522a57600080fd5b823567ffffffffffffffff81111561524157600080fd5b61524d858286016151cb565b90969095509350505050565b60006020828403121561526b57600080fd5b8135612b45816150d5565b60008083601f84011261528857600080fd5b50813567ffffffffffffffff8111156152a057600080fd5b60208301915083602082850101111561521057600080fd5b600080600080600080600080610100898b0312156152d557600080fd5b883567ffffffffffffffff808211156152ed57600080fd5b6152f98c838d01615276565b909a50985060208b0135915061530e826150d5565b90965060408a0135908082111561532457600080fd5b6153308c838d016151cb565b909750955060e08b0191508b82111561534857600080fd5b60608b0194509035908082111561535e57600080fd5b5061536b8b828c016151cb565b999c989b5096995094979396929594505050565b60008151808452602080850194506020840160005b838110156153b95781516001600160a01b031687529582019590820190600101615394565b509495945050505050565b602081526000612b45602083018461537f565b6000806000806000608086880312156153ef57600080fd5b85356153fa816150d5565b9450602086013561540a816150d5565b9350604086013567ffffffffffffffff81111561542657600080fd5b61543288828901615276565b96999598509660600135949350505050565b60008060006060848603121561545957600080fd5b8335615464816150d5565b92506020840135615474816150d5565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126154ac57600080fd5b813567ffffffffffffffff808211156154c7576154c7615485565b604051601f8301601f19908116603f011681019082821181831017156154ef576154ef615485565b8160405283815286602085880101111561550857600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561553b57600080fd5b8235615546816150d5565b9150602083013567ffffffffffffffff81111561556257600080fd5b61556e8582860161549b565b9150509250929050565b6000806040838503121561558b57600080fd5b8235615596816150d5565b91506020830135615118816150a2565b80151581146125a957600080fd5b600080604083850312156155c757600080fd5b82356155d2816150d5565b91506020830135615118816155a6565b60808101818360005b600481101561560a5781518352602092830192909101906001016155eb565b50505092915050565b6000806000806080858703121561562957600080fd5b8435615634816150d5565b93506020850135615644816150d5565b925060408501359150606085013567ffffffffffffffff81111561566757600080fd5b6156738782880161549b565b91505092959194509250565b60008060008060006060868803121561569757600080fd5b85356156a2816150d5565b9450602086013567ffffffffffffffff808211156156bf57600080fd5b6156cb89838a016151cb565b909650945060408801359150808211156156e457600080fd5b506156f1888289016151cb565b969995985093965092949392505050565b602081528151602082015260006020830151615722604084018215159052565b506040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c08301516101208060e0850152615767610140850183615147565b915060e0850151601f19610100818786030181880152615787858461537f565b908801518782039092018488015293509050614f0f838261537f565b6000602082840312156157b557600080fd5b5051919050565b6000604082016040835280865480835260608501915087600052602092508260002060005b828110156158065781546001600160a01b0316845292840192600191820191016157e1565b505050838103828501528481528590820160005b8681101561584857823561582d816150d5565b6001600160a01b03168252918301919083019060010161581a565b50979650505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561587c57600080fd5b8151612b45816150d5565b60006020828403121561589957600080fd5b8151612b45816155a6565b634e487b7160e01b600052601160045260246000fd5b6000600182016158cc576158cc6158a4565b5060010190565b80820180821115610efb57610efb6158a4565b600080858511156158f657600080fd5b8386111561590357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156159385780818660040360031b1b83161692505b505092915050565b6000806040838503121561595357600080fd5b823591506020830135615118816150d5565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60008351615a5c818460208801615123565b835190830190615a70818360208801615123565b01949350505050565b600060208284031215615a8b57600080fd5b8135612b45816155a6565b600181811c90821680615aaa57607f821691505b6020821081036119da57634e487b7160e01b600052602260045260246000fd5b601f821115611226576000816000526020600020601f850160051c81016020861015615af35750805b601f850160051c820191505b818110156134cb57828155600101615aff565b815167ffffffffffffffff811115615b2c57615b2c615485565b615b4081615b3a8454615a96565b84615aca565b602080601f831160018114615b755760008415615b5d5750858301515b600019600386901b1c1916600185901b1785556134cb565b600085815260208120601f198616915b82811015615ba457888601518255948401946001909101908401615b85565b5085821015615bc25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090614f0f90830184615147565b600060208284031215615cf957600080fd5b8151612b45816150a2565b81810381811115610efb57610efb6158a4565b634e487b7160e01b600052603160045260246000fd5b60008251615d3f818460208701615123565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc68747470733a2f2f6b696e746f2e78797a2f6d657461646174612f6b696e746f6170702f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f988862003b84def355ca57a13d361238f7725e220e97881ef82d67b5328f20c64736f6c634300081800330000000000000000000000008a4720488ca32f1223ccfe5a087e250fe3bc5d750000000000000000000000001842a4eff3efd24c50b63c3cf89cecee245fc2bd", + "nonce": "0x5bfd", "chainId": "0x1ecf" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x27c7e650d4537b6ce2532d2c3116e0163e89f0cc9f268213994b735e40b9f32d", + "hash": "0xacd0d3fa0467ad903ee9db6f92b28820c9e8971528d4707a73736c167ade4b8a", "transactionType": "CALL", "contractName": null, "contractAddress": "0x2843c269d2a64ecfa63548e8b3fc0fd23b7f70cb", "function": "handleOps((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address)", "arguments": [ - "[(0x2e2B1c42E38f5af81771e65D87729E57ABD1337a, 2619, 0x, 0xb61d27f60000000000000000000000005a2b641b84b0230c8e75f55d5afd27f4dbd59d5b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000226fcf8657ca310b375a7e23b87092cd1e3af92f00000000000000000000000000000000000000000000000000000000, 4000000, 210000, 21000, 1, 1000000000, 0x0000000000000000000000000000000000000000, 0x75021f184e78f3bc60fef31c1ca483e40317e5423638d6e3ea80422b71c0558d04a0f17c1f045974869a2e109f5139bd0afff950490d15a868a3a442b7cb60611b2bfd297433d2d2eaf6ad7da1b0a30e60e5031f254fbd6fa39772a3a2f38a514c4ad2cc7b851021024515759ad9291c0d9cfa87df4bec9e9d583013d48a5c513e1c)]", + "[(0x2e2B1c42E38f5af81771e65D87729E57ABD1337a, 2683, 0x, 0xb61d27f60000000000000000000000005a2b641b84b0230c8e75f55d5afd27f4dbd59d5b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000b94240ff4ab45811c550ee3c5ea19bc692210a2900000000000000000000000000000000000000000000000000000000, 4000000, 210000, 21000, 1, 1000000000, 0x0000000000000000000000000000000000000000, 0xf24a4e998dd149f59d1d413a3f4addedbb53e30a87235a4f9b13365aab19906a7bec5496ede9ad28be452effb18481ecaabd698d0aa9c556846493daef019e941bc50fb1f929b00fc61c75a59e0c52416a97ffc1000f0cafc74a8c962741d8b8f525381739ee0dd07dcaba1e35fc594fe75b79b1d93738a2e221ab4f2e83e1a6721b)]", "0x660ad4B5A74130a4796B4d54BC6750Ae93C86e6c" ], "transaction": { "from": "0x660ad4b5a74130a4796b4d54bc6750ae93c86e6c", "to": "0x2843c269d2a64ecfa63548e8b3fc0fd23b7f70cb", "value": "0x0", - "input": "0x1fad948c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000660ad4b5a74130a4796b4d54bc6750ae93c86e6c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002e2b1c42e38f5af81771e65d87729e57abd1337a0000000000000000000000000000000000000000000000000000000000000a3b0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000003d0900000000000000000000000000000000000000000000000000000000000003345000000000000000000000000000000000000000000000000000000000000052080000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c4b61d27f60000000000000000000000005a2b641b84b0230c8e75f55d5afd27f4dbd59d5b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000226fcf8657ca310b375a7e23b87092cd1e3af92f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008275021f184e78f3bc60fef31c1ca483e40317e5423638d6e3ea80422b71c0558d04a0f17c1f045974869a2e109f5139bd0afff950490d15a868a3a442b7cb60611b2bfd297433d2d2eaf6ad7da1b0a30e60e5031f254fbd6fa39772a3a2f38a514c4ad2cc7b851021024515759ad9291c0d9cfa87df4bec9e9d583013d48a5c513e1c000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x4c89", + "input": "0x1fad948c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000660ad4b5a74130a4796b4d54bc6750ae93c86e6c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002e2b1c42e38f5af81771e65d87729e57abd1337a0000000000000000000000000000000000000000000000000000000000000a7b0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000003d0900000000000000000000000000000000000000000000000000000000000003345000000000000000000000000000000000000000000000000000000000000052080000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c4b61d27f60000000000000000000000005a2b641b84b0230c8e75f55d5afd27f4dbd59d5b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000b94240ff4ab45811c550ee3c5ea19bc692210a290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082f24a4e998dd149f59d1d413a3f4addedbb53e30a87235a4f9b13365aab19906a7bec5496ede9ad28be452effb18481ecaabd698d0aa9c556846493daef019e941bc50fb1f929b00fc61c75a59e0c52416a97ffc1000f0cafc74a8c962741d8b8f525381739ee0dd07dcaba1e35fc594fe75b79b1d93738a2e221ab4f2e83e1a6721b000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x5bfe", "chainId": "0x1ecf" }, "additionalContracts": [], @@ -46,39 +46,39 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x168882c", + "cumulativeGasUsed": "0xba7f15", "logs": [ { - "address": "0x226fcf8657ca310b375a7e23b87092cd1e3af92f", + "address": "0xb94240ff4ab45811c550ee3c5ea19bc692210a29", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xf90fdfec5413fd53acedd8b44b18591c642db6f2e6f56f13e8899ad12eb7a3c2", - "blockNumber": "0x388f1", - "transactionHash": "0x2f054c29c1d69f386ff04f418dbbeb8f17347e5985826e43376d90ae0f612908", + "blockHash": "0x40d417b5365eb82d24f17f8d0397cdd806bb926cee2d8e7b25740e2c0de201cb", + "blockNumber": "0x3c2a5", + "transactionHash": "0x63bfba43b601311e8cd2a32af96b3f969773be8208e77916f17a8e5998d93155", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], - "logsBloom": "0x00000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000080000000000000040000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x2f054c29c1d69f386ff04f418dbbeb8f17347e5985826e43376d90ae0f612908", + "transactionHash": "0x63bfba43b601311e8cd2a32af96b3f969773be8208e77916f17a8e5998d93155", "transactionIndex": "0x1", - "blockHash": "0xf90fdfec5413fd53acedd8b44b18591c642db6f2e6f56f13e8899ad12eb7a3c2", - "blockNumber": "0x388f1", - "gasUsed": "0x168882c", + "blockHash": "0x40d417b5365eb82d24f17f8d0397cdd806bb926cee2d8e7b25740e2c0de201cb", + "blockNumber": "0x3c2a5", + "gasUsed": "0xba7f15", "effectiveGasPrice": "0x5f5e100", "from": "0x660ad4b5a74130a4796b4d54bc6750ae93c86e6c", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": null, - "gasUsedForL1": "0x11832f2", - "l1BlockNumber": "0x13faa75" + "gasUsedForL1": "0x69bbad", + "l1BlockNumber": "0x141c1c1" }, { "status": "0x1", - "cumulativeGasUsed": "0xfd918", + "cumulativeGasUsed": "0x777bc", "logs": [ { "address": "0x2843c269d2a64ecfa63548e8b3fc0fd23b7f70cb", @@ -86,9 +86,9 @@ "0xbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972" ], "data": "0x", - "blockHash": "0xdb9da470b820702fe6a146cca6c4b6ac169fe1b7a2ccf6a2ab988e3d40632a60", - "blockNumber": "0x388f2", - "transactionHash": "0x27c7e650d4537b6ce2532d2c3116e0163e89f0cc9f268213994b735e40b9f32d", + "blockHash": "0x0abd7e50bf93e81576ac8e60e2ef9ea8db0970a071d4addeeda8e0cd26f4842b", + "blockNumber": "0x3c2a6", + "transactionHash": "0xacd0d3fa0467ad903ee9db6f92b28820c9e8971528d4707a73736c167ade4b8a", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false @@ -97,12 +97,12 @@ "address": "0x5a2b641b84b0230c8e75f55d5afd27f4dbd59d5b", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000226fcf8657ca310b375a7e23b87092cd1e3af92f" + "0x000000000000000000000000b94240ff4ab45811c550ee3c5ea19bc692210a29" ], "data": "0x", - "blockHash": "0xdb9da470b820702fe6a146cca6c4b6ac169fe1b7a2ccf6a2ab988e3d40632a60", - "blockNumber": "0x388f2", - "transactionHash": "0x27c7e650d4537b6ce2532d2c3116e0163e89f0cc9f268213994b735e40b9f32d", + "blockHash": "0x0abd7e50bf93e81576ac8e60e2ef9ea8db0970a071d4addeeda8e0cd26f4842b", + "blockNumber": "0x3c2a6", + "transactionHash": "0xacd0d3fa0467ad903ee9db6f92b28820c9e8971528d4707a73736c167ade4b8a", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false @@ -111,38 +111,38 @@ "address": "0x2843c269d2a64ecfa63548e8b3fc0fd23b7f70cb", "topics": [ "0x49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f", - "0xced427d8cffae9e1ea7a02e9fb0e96def01b0509ad4ae3d3f2ff8f9db343bb16", + "0x780a93a7ea7d4c5a8f6621ec82c013947487414692bec3030d0161a454a0cb49", "0x0000000000000000000000002e2b1c42e38f5af81771e65d87729e57abd1337a", "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000a3b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000083cd90000000000000000000000000000000000000000000000000000000000083cd9", - "blockHash": "0xdb9da470b820702fe6a146cca6c4b6ac169fe1b7a2ccf6a2ab988e3d40632a60", - "blockNumber": "0x388f2", - "transactionHash": "0x27c7e650d4537b6ce2532d2c3116e0163e89f0cc9f268213994b735e40b9f32d", + "data": "0x0000000000000000000000000000000000000000000000000000000000000a7b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000083cdb0000000000000000000000000000000000000000000000000000000000083cdb", + "blockHash": "0x0abd7e50bf93e81576ac8e60e2ef9ea8db0970a071d4addeeda8e0cd26f4842b", + "blockNumber": "0x3c2a6", + "transactionHash": "0xacd0d3fa0467ad903ee9db6f92b28820c9e8971528d4707a73736c167ade4b8a", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000008000000000000000000010800000000000000000000000000020000000000000040000000000010000000000002000000000000000000000000000008000800000000020000000000000000000800002000000000000000100000000000000000000000000000800000000000800000000000000000800000000000000000000400000000000000400000000000000000000000000000000002000000000000000020000000100001000000000000000000000000000000000000000020000000000000010000000000000000000000000000000000000000000080000008", + "logsBloom": "0x04000000000000000000000000000000400001000000000000000000000000000008000000000000000000010000000000000000000000000000020000000000000000000000000000000000000002000000000000000000000000000008000800000000020000000000020000000800002000000000000000000000000000000000000000000000000000000000800000000000000000800000000000000000000400000000000000400010000000000000080000000000000002000000000000000020000000100001000000000000000000000000000080000000000020000000000000010000000000000000000000000000000000000000000080000000", "type": "0x2", - "transactionHash": "0x27c7e650d4537b6ce2532d2c3116e0163e89f0cc9f268213994b735e40b9f32d", + "transactionHash": "0xacd0d3fa0467ad903ee9db6f92b28820c9e8971528d4707a73736c167ade4b8a", "transactionIndex": "0x1", - "blockHash": "0xdb9da470b820702fe6a146cca6c4b6ac169fe1b7a2ccf6a2ab988e3d40632a60", - "blockNumber": "0x388f2", - "gasUsed": "0xfd918", + "blockHash": "0x0abd7e50bf93e81576ac8e60e2ef9ea8db0970a071d4addeeda8e0cd26f4842b", + "blockNumber": "0x3c2a6", + "gasUsed": "0x777bc", "effectiveGasPrice": "0x5f5e100", "from": "0x660ad4b5a74130a4796b4d54bc6750ae93c86e6c", "to": "0x2843c269d2a64ecfa63548e8b3fc0fd23b7f70cb", "contractAddress": null, - "gasUsedForL1": "0xd4302", - "l1BlockNumber": "0x13faa75" + "gasUsedForL1": "0x4e1b2", + "l1BlockNumber": "0x141c1c1" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1728737347, + "timestamp": 1730390196, "chain": 7887, - "commit": "1f965a7" + "commit": "c81fe5c" } \ No newline at end of file diff --git a/script/migrations/111-upgrade_app_registry.s.sol b/script/migrations/111-upgrade_app_registry.s.sol index 5459c5ba..f9396e5d 100644 --- a/script/migrations/111-upgrade_app_registry.s.sol +++ b/script/migrations/111-upgrade_app_registry.s.sol @@ -14,8 +14,8 @@ contract DeployScript is MigrationHelper { type(KintoAppRegistry).creationCode, abi.encode(_getChainDeployment("KintoWalletFactory"), _getChainDeployment("SponsorPaymaster")) ); - address impl = _deployImplementationAndUpgrade("KintoAppRegistry", "V20", bytecode); - saveContractAddress("KintoAppRegistryV20", impl); + address impl = _deployImplementationAndUpgrade("KintoAppRegistry", "V21", bytecode); + saveContractAddress("KintoAppRegistryV21", impl); KintoAppRegistry registry = KintoAppRegistry(_getChainDeployment("KintoAppRegistry")); diff --git a/src/apps/KintoAppRegistry.sol b/src/apps/KintoAppRegistry.sol index 42949e7b..fe581427 100644 --- a/src/apps/KintoAppRegistry.sol +++ b/src/apps/KintoAppRegistry.sol @@ -599,7 +599,7 @@ contract KintoAppRegistry is } } -contract KintoAppRegistryV20 is KintoAppRegistry { +contract KintoAppRegistryV21 is KintoAppRegistry { constructor(IKintoWalletFactory _walletFactory, SponsorPaymaster _paymaster) KintoAppRegistry(_walletFactory, _paymaster) {} diff --git a/test/artifacts/7887/addresses.json b/test/artifacts/7887/addresses.json index aa625254..7b5c3605 100644 --- a/test/artifacts/7887/addresses.json +++ b/test/artifacts/7887/addresses.json @@ -71,6 +71,7 @@ "KintoAppRegistryV18-impl": "0xa592FB45C110F1540D1f13D6563Bb8E1a429Ab4a", "KintoAppRegistryV19-impl": "0xeC00432A044271A906427554906302e6408B5225", "KintoAppRegistryV20": "0x226FCf8657ca310b375a7e23B87092cD1e3af92f", + "KintoAppRegistryV21": "0xb94240Ff4aB45811c550ee3c5Ea19bC692210A29", "KintoAppRegistryV3-impl": "0xA82F30210F7dB1642bc20a5adCECbB16f766435B", "KintoAppRegistryV5-impl": "0xe1F135742dE49A5A3337A59440b1B7a986F634ea", "KintoAppRegistryV6-impl": "0x48D2b947B1aa3A23A890dd456a404394fb2F1636",