0x4e72a54858de0bb440d188c5ac84df69e47aa6cdaafb2255bdcec00eeb048730
Safe Transaction on 0xfdff...e687
Overview
Transaction Data
0x8d80ff0a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000955a00ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d849c36a286fdff3fd0994fed8be208a7bee49970ea9707e687007c7c911d4f6bb20bc576af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000002d1d60a06040526ec097ce7bc90715b34b9f1000000000603c5534801562000023575f80fd5b5060405162002cdd38038062002cdd833981016040819052620000469162000128565b81156200005757620000576200006a565b6001600160a01b03166080525062000172565b5f54610100900460ff1615620000d65760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff9081161462000126575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b5f80604083850312156200013a575f80fd5b825180151581146200014a575f80fd5b60208401519092506001600160a01b038116811462000167575f80fd5b809150509250929050565b608051612b36620001a75f395f81816102570152818161080d01528181610c120152818161143e0152611f380152612b365ff3fe608060405234801561000f575f80fd5b506004361061019f575f3560e01c806302f90015146101a35780630367b302146101ba578063065f566d146101c2578063105b403b146101d55780631935ea82146101dd5780631aab36ac146101e55780632479533d146101ed57806331b8c94614610202578063335525ad146102225780633d83908a146102375780633ecaaa3f1461024a578063458e8e6b1461025257806347ea835414610279578063560ee5df1461028c578063630afce51461029457806371a37bc2146102a757806376a10213146102c65780637b4c6287146102d95780637f7dde4a146102f857806386da0824146103105780638b8fbd92146103645780639288902d1461036d578063994f2c3d14610375578063a3f4df7e14610388578063a4e59ac8146103c1578063aeb4b970146103ca578063affb4669146103dd578063bcf242b7146103f0578063c4d66de81461040f578063ce4b5bbe14610422578063cfddf5f51461042d578063daed0a9b14610440578063dcaf5c6714610453578063f71c694014610466578063fc7e286d1461046e575b5f80fd5b6037545b6040519081526020015b60405180910390f35b6035546101a7565b6101a76101d03660046126ec565b61048d565b6101a7610531565b6101a7600281565b6101a7600881565b6101a76a0c097ce7bc90715b34b9f160241b81565b603254610215906001600160a01b031681565b6040516101b1919061270e565b610235610230366004612722565b610631565b005b603354610215906001600160a01b031681565b6101a7610651565b6102157f000000000000000000000000000000000000000000000000000000000000000081565b6101a76102873660046126ec565b61071a565b6038546101a7565b603454610215906001600160a01b031681565b6101a76102b5366004612742565b603f6020525f908152604090205481565b6101a76102d43660046126ec565b61080a565b6101a76102e73660046126ec565b603b6020525f908152604090205481565b5f54610215906201000090046001600160a01b031681565b61034461031e3660046126ec565b603a6020525f908152604090208054600182015460028301546003909301549192909184565b6040805194855260208501939093529183015260608201526080016101b1565b6101a7603c5481565b610235610a80565b610235610383366004612722565b610b8a565b6103b46040518060400160405280600d81526020016c14dd18589a5b1a5d1e541bdbdb609a1b81525081565b6040516101b1919061277b565b6101a7603d5481565b6102356103d83660046127ba565b610d44565b6102356103eb366004612742565b610f1c565b6101a76103fe366004612742565b604060208190525f91825290205481565b61023561041d3660046126ec565b610f2d565b6101a7633b9aca0081565b61023561043b3660046127ba565b6112d6565b6101a761044e3660046126ec565b61153c565b603e54610215906001600160a01b031681565b6036546101a7565b6101a761047c3660046126ec565b60396020525f908152604090205481565b6001600160a01b0381165f908152603960205260408120548082036104b457505f92915050565b6001600160a01b0383165f908152603a602052604081206003810154603d549192916104e091906127fc565b905060088111610525576104f881633b9aca006128ef565b6001830154603c5461050a90866128fa565b6105149190612911565b61051e9190612911565b9350610529565b5f93505b505050919050565b5f805f60029054906101000a90046001600160a01b03166001600160a01b031663455079986040518163ffffffff1660e01b8152600401602060405180830381865afa158015610583573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a79190612930565b90505f60015f9054906101000a90046001600160a01b03166001600160a01b031663455079986040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061e9190612930565b905061062a8183612947565b9250505090565b610639611625565b6106438282611693565b61064d818361186e565b5050565b5f805f60029054906101000a90046001600160a01b03166001600160a01b0316630367b3026040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c79190612930565b90505f60015f9054906101000a90046001600160a01b03166001600160a01b0316630367b3026040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fa573d5f803e3d5ffd5b6001600160a01b0381165f9081526039602052604081205480820361074157505f92915050565b6001600160a01b0383165f908152603a60209081526040808320805460038201548552603f90935290832054909291610779916127fc565b905060015b600281116107db5761079481633b9aca006128ef565b603f5f8386600301546107a79190612947565b81526020019081526020015f20546107bf9190612911565b6107c99083612947565b91506107d48161295a565b905061077e565b506001820154610801906107ef83866128fa565b6107f99190612911565b60355461197c565b95945050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d5cf2c576040518163ffffffff1660e01b8152600401602060405180830381865afa158015610867573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088b9190612930565b603654101561089b57505f919050565b6001600160a01b0382165f90815260396020526040812054908190036108c357505f92915050565b6001600160a01b0383165f908152603a60209081526040808320603754600282015460038301548652938390529184205490939192610901916127fc565b905060015b600281116109635761091c81633b9aca006128ef565b60405f83876003015461092f9190612947565b81526020019081526020015f20546109479190612911565b6109519083612947565b915061095c8161295a565b9050610906565b505f8060029054906101000a90046001600160a01b03166001600160a01b031663fa160c056040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d99190612930565b90506109e58184612947565b9250600284600301546109f89190612947565b603d5411610a52578360030154603d54610a1291906127fc565b610a2090633b9aca006128ef565b60365482603c54610a3191906128fa565b610a3b9190612911565b610a459190612911565b610a4f9083612947565b91505b6001840154610a7590610a6584886128fa565b610a6f9190612911565b8461197c565b979650505050505050565b610a8933611995565b5f60029054906101000a90046001600160a01b03166001600160a01b0316631bfa0d7b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610ad5575f80fd5b505af1158015610ae7573d5f803e3d5ffd5b5050335f908152603b60205260409020549150610b05905081611a0c565b335f818152603b6020526040808220829055515f80516020612ac183398151915291610b3e916002919081908190819081908a90612992565b60405180910390a2336001600160a01b03165f80516020612ae18339815191525f805f805f80604051610b76969594939291906129d0565b60405180910390a2610b8781611a6a565b50565b610b92611ac2565b610b9a611b33565b5f60029054906101000a90046001600160a01b03166001600160a01b0316631bfa0d7b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610be6575f80fd5b505af1158015610bf8573d5f803e3d5ffd5b50505050610c068183611693565b610c108282611bff565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166381eaea586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c909190612930565b6036541015610d065760405162461bcd60e51b815260206004820152603760248201527f546f74616c20426f6c64206465706f73697473206d757374206265203e3d204d604482015276494e5f424f4c445f41465445525f524542414c414e434560481b60648201526084015b60405180910390fd5b60408051838152602081018390527fc681bb19f93e200cdf3dfb95d3fe6a2a896bb64d3ac9d2999a31c1b78d2d878591015b60405180910390a15050565b610d4d82611a0c565b5f60029054906101000a90046001600160a01b03166001600160a01b0316631bfa0d7b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610d99575f80fd5b505af1158015610dab573d5f803e3d5ffd5b5050335f8181526039602052604081205493509150610dc99061071a565b90505f610dd53361153c565b90505f610de13361048d565b90505f80610def8488611c75565b90925090505f82610e008a86612947565b610e0a9190612947565b90505f80610e1933898c611c9a565b9092509050335f80516020612ac18339815191525f610e38898d6127fc565b8e8b898e88604051610e509796959493929190612992565b60405180910390a2610e63338484611d00565b60345f9054906101000a90046001600160a01b03166001600160a01b031663bb997bac33308e6040518463ffffffff1660e01b8152600401610ea7939291906129f8565b5f604051808303815f87803b158015610ebe575f80fd5b505af1158015610ed0573d5f803e3d5ffd5b50505050610ee9858c610ee39190612947565b5f611e13565b50610ef387611e8a565b610efd3385611eaa565b610f0681611a6a565b610f0f5f611f1a565b5050505050505050505050565b610f24612068565b610b8781611f1a565b5f54610100900460ff1615808015610f4b57505f54600160ff909116105b80610f6b5750610f5a306120d7565b158015610f6b57505f5460ff166001145b610fce5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610cfd565b5f805460ff191660011790558015610fef575f805461ff0019166101001790555b610ff8826120e6565b816001600160a01b03166331b8c9466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611034573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110589190612a1c565b60325f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b0316633d83908a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110dd9190612a1c565b60335f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b031663630afce56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561113e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111629190612a1c565b60345f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b031663dcaf5c676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e79190612a1c565b603e80546001600160a01b0319166001600160a01b039283161790556a0c097ce7bc90715b34b9f160241b603c556033546040517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789261124892169061270e565b60405180910390a16034546040517f28fe9b1bb8b27b863bb5635cb5bbd4e1beb7af490191ba03efe587680895b4fd9161128d916001600160a01b039091169061270e565b60405180910390a1801561064d575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610d38565b335f908152603960205260409020546112ee816123a3565b5f60029054906101000a90046001600160a01b03166001600160a01b0316631bfa0d7b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561133a575f80fd5b505af115801561134c573d5f803e3d5ffd5b505050505f61135a3361071a565b90505f6113663361153c565b90505f6113723361048d565b90505f61137f878361197c565b90505f8061138d8589611c75565b90925090505f8261139e85876127fc565b6113a89190612947565b90505f806113b7338a8d611c9a565b9092509050335f80516020612ac183398151915260016113d78a8e6127fc565b6113e08a612a37565b8c898f886040516113f79796959493929190612992565b60405180910390a261140a338484611d00565b61141388611e8a565b5f61141e8688611e13565b90506114333361142e878a612947565b611eaa565b61143c82611a6a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d5cf2c576040518163ffffffff1660e01b8152600401602060405180830381865afa158015611498573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114bc9190612930565b81101561152d5760405162461bcd60e51b815260206004820152603960248201527f5769746864726177616c206d757374206c6561766520746f74616c426f6c6444604482015278065706f73697473203e3d204d494e5f424f4c445f494e5f535603c1b6064820152608401610cfd565b50505050505050505050505050565b6001600160a01b0381165f9081526039602052604081205480820361156357505f92915050565b6001600160a01b0383165f908152603a60209081526040808320600281015460038201548552928290529083205490929161159d916127fc565b905060015b600281116115ff576115b881633b9aca006128ef565b60405f8386600301546115cb9190612947565b81526020019081526020015f20546115e39190612911565b6115ed9083612947565b91506115f88161295a565b90506115a2565b5060018201546108019061161383866128fa565b61161d9190612911565b60375461197c565b6033546001600160a01b031633146116915760405162461bcd60e51b815260206004820152602960248201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f742054726f6044820152683b32a6b0b730b3b2b960b91b6064820152608401610cfd565b565b60365481603c546116a491906128fa565b6116ae9190612911565b603d545f908152603f6020526040812080549091906116ce908490612947565b9091555050603d545f818152603f6020526040908190205490517f79499aa0fdd7db8a04361384056d61d959950b3f6486282199c2f00d61e1b5f89261171b928252602082015260400190565b60405180910390a15f8260365461173291906127fc565b603c5461173f91906128fa565b90505f603654826117509190612911565b90505f811161179e5760405162461bcd60e51b815260206004820152601a602482015279050206d757374206e6576657220646563726561736520746f20360341b6044820152606401610cfd565b6117ba633b9aca006a0c097ce7bc90715b34b9f160241b612911565b811015611833576117cf633b9aca00836128fa565b9150603654826117df9190612911565b90506001603d5f8282546117f39190612947565b9091555050603d546040519081527f3bed654efb708b58f2d77966f880bd1798be286fdd36983d20cbf0897e186c6e9060200160405180910390a161179e565b6040518181527fc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c9060200160405180910390a1603c55505050565b6118785f82611e13565b50603454604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906118ab9030908590600401612a51565b5f604051808303815f87803b1580156118c2575f80fd5b505af11580156118d4573d5f803e3d5ffd5b505050505f826035546118e79190612947565b60358190555f54604051634fa7288f60e11b81529192506201000090046001600160a01b031690639f4e511e906119249030908790600401612a51565b5f604051808303815f87803b15801561193b575f80fd5b505af115801561194d573d5f803e3d5ffd5b505050505f80516020612aa18339815191528160405161196f91815260200190565b60405180910390a1505050565b5f81831061198a578161198c565b825b90505b92915050565b6001600160a01b0381165f90815260396020526040902054801561064d5760405162461bcd60e51b815260206004820152602860248201527f53746162696c697479506f6f6c3a2055736572206d7573742068617665206e6f6044820152670819195c1bdcda5d60c21b6064820152608401610cfd565b5f8111610b875760405162461bcd60e51b815260206004820152602660248201527f53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f6044820152656e2d7a65726f60d01b6064820152608401610cfd565b805f03611a745750565b5f81603554611a8391906127fc565b60358190556040518181529091505f80516020612aa18339815191529060200160405180910390a160325461064d906001600160a01b0316338461240b565b603e546001600160a01b031633146116915760405162461bcd60e51b815260206004820152602e60248201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204c697160448201526d756964697479537472617465677960901b6064820152608401610cfd565b60335f9054906101000a90046001600160a01b03166001600160a01b031663585690816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba79190612930565b156116915760405162461bcd60e51b815260206004820152602260248201527f53746162696c697479506f6f6c3a2053797374656d206973207368757420646f6044820152613bb760f11b6064820152608401610cfd565b611c095f82611e13565b50603e54603454611c27916001600160a01b0391821691168361240b565b8160355f828254611c389190612947565b9091555050603254611c55906001600160a01b0316333085612466565b5f80516020612aa1833981519152603554604051610d3891815260200190565b5f805f808415611c8957505f905084611c8f565b508490505f5b909590945092505050565b5f808215611ccf576001600160a01b0385165f908152603b6020526040812054909250611cc8908590612947565b9050611cf8565b6001600160a01b0385165f908152603b6020526040902054611cf2908590612947565b91505f90505b935093915050565b6001600160a01b0383165f908152603960209081526040808320859055603b9091528120829055829003611d8d576001600160a01b0383165f818152603a60205260408082208281556001810183905560028101839055600301829055515f80516020612ae183398151915291611d8091859082908190819081906129d0565b60405180910390a2505050565b603d54603c545f828152603f6020908152604080832054818352818420546001600160a01b038a16808652603a9094529382902060018101869055818155600281018590556003018690559051909291905f80516020612ae183398151915290611e0290899089908890889088908c906129d0565b60405180910390a250505050505050565b5f82158015611e20575081155b15611e2e575060365461198f565b5f8284603654611e3e9190612947565b611e4891906127fc565b60368190556040518181529091507fd86fb5f91c764c66ffa0ee206b53b8bb35a30494d6ded98f9b78cd12d4fe499e9060200160405180910390a19392505050565b805f03611e945750565b5f81603754611ea391906127fc565b6037555050565b805f03611eb5575050565b603454604051631062c15f60e11b81526001600160a01b03909116906320c582be90611ee9903090869086906004016129f8565b5f604051808303815f87803b158015611f00575f80fd5b505af1158015611f12573d5f803e3d5ffd5b505050505050565b5f81603854611f299190612947565b9050805f03611f36575050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d5cf2c576040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb69190612930565b6036541015611fc55760385550565b8060375f828254611fd69190612947565b90915550505f603855603654603c54611ff09083906128fa565b611ffa9190612911565b60405f603d5481526020019081526020015f205f82825461201b9190612947565b9091555050603d545f81815260406020819052908190205490517fe367a96648d02811ced605ca0b93efb0b7fe59bda272f8179c454ea64133e75692610d38928252602082015260400190565b5f546201000090046001600160a01b031633146116915760405162461bcd60e51b815260206004820152602760248201527f53746162696c697479506f6f6c3a2043616c6c6572206973206e6f74204163746044820152661a5d99541bdbdb60ca1b6064820152608401610cfd565b6001600160a01b03163b151590565b5f54610100900460ff166121505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610cfd565b806001600160a01b0316637f7dde4a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561218c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121b09190612a1c565b5f60026101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b0316633cc742256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612211573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122359190612a1c565b60015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b031663741bef1a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612296573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ba9190612a1c565b600280546001600160a01b0319166001600160a01b039283161790555f546040517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829261230e92620100009004169061270e565b60405180910390a16001546040517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b91612353916001600160a01b039091169061270e565b60405180910390a16002546040517f8c537274438aa850a330284665d81a85dd38267d09e4050d416bfc94142db26491612398916001600160a01b039091169061270e565b60405180910390a150565b5f8111610b875760405162461bcd60e51b815260206004820152603060248201527f53746162696c697479506f6f6c3a2055736572206d757374206861766520612060448201526f1b9bdb8b5e995c9bc819195c1bdcda5d60821b6064820152608401610cfd565b6124618363a9059cbb60e01b848460405160240161242a929190612a51565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261248d565b505050565b612487846323b872dd60e01b85858560405160240161242a939291906129f8565b50505050565b5f6124e1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166125609092919063ffffffff16565b905080515f14806125015750808060200190518101906125019190612a6a565b6124615760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610cfd565b606061256e84845f85612576565b949350505050565b6060824710156125d75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610cfd565b5f80866001600160a01b031685876040516125f29190612a85565b5f6040518083038185875af1925050503d805f811461262c576040519150601f19603f3d011682016040523d82523d5f602084013e612631565b606091505b5091509150610a7587838387606083156126a95782515f036126a257612656856120d7565b6126a25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610cfd565b508161256e565b61256e83838151156126be5781518083602001fd5b8060405162461bcd60e51b8152600401610cfd919061277b565b6001600160a01b0381168114610b87575f80fd5b5f602082840312156126fc575f80fd5b8135612707816126d8565b9392505050565b6001600160a01b0391909116815260200190565b5f8060408385031215612733575f80fd5b50508035926020909101359150565b5f60208284031215612752575f80fd5b5035919050565b5f5b8381101561277357818101518382015260200161275b565b50505f910152565b602081525f8251806020840152612799816040850160208701612759565b601f01601f19169190910160400192915050565b8015158114610b87575f80fd5b5f80604083850312156127cb575f80fd5b8235915060208301356127dd816127ad565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561198f5761198f6127e8565b600181815b8085111561284957815f190482111561282f5761282f6127e8565b8085161561283c57918102915b93841c9390800290612814565b509250929050565b5f8261285f5750600161198f565b8161286b57505f61198f565b8160018114612881576002811461288b576128a7565b600191505061198f565b60ff84111561289c5761289c6127e8565b50506001821b61198f565b5060208310610133831016604e8410600b84101617156128ca575081810a61198f565b6128d4838361280f565b805f19048211156128e7576128e76127e8565b029392505050565b5f61198c8383612851565b808202811582820484141761198f5761198f6127e8565b5f8261292b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215612940575f80fd5b5051919050565b8082018082111561198f5761198f6127e8565b5f6001820161296b5761296b6127e8565b5060010190565b6003811061298e57634e487b7160e01b5f52602160045260245ffd5b9052565b60e081016129a0828a612972565b8760208301528660408301528560608301528460808301528360a08301528260c083015298975050505050505050565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f60208284031215612a2c575f80fd5b8151612707816126d8565b5f600160ff1b8201612a4b57612a4b6127e8565b505f0390565b6001600160a01b03929092168252602082015260400190565b5f60208284031215612a7a575f80fd5b8151612707816127ad565b5f8251612a96818460208701612759565b919091019291505056fe2a0dc684edec911db4f58fdef07c51b499ddca1a9b13b118109befea136b06b4df459587a9bfd896271616423088d4842cfad6948a5a975c7d82b52d951805e4bccccd6e317144f41782f2dfb27241c3f8cd514a8959f7fbf1f61e81b131c747a26469706673582212200bd078d69443d4be96dfe0ae4ee81e6f9f2321e3e56fbae78f6f6d82a2a2d3df64736f6c634300081800330000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e604507642469be4699febdf4a701d9a104dd17300000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f849c36a286fdff3fd0994fed8be208a7bee49970ea9707e68700e3cc0957143ea1eb2e0c3800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000f0e60a060405260405162000e4e38038062000e4e8339810160408190526200002691620003bb565b828162000034828262000099565b505081604051620000459062000359565b6001600160a01b039091168152602001604051809103905ff0801580156200006f573d5f803e3d5ffd5b506001600160a01b0316608052620000906200008a60805190565b620000fe565b505050620004b2565b620000a4826200016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115620000f057620000eb8282620001ee565b505050565b620000fa62000267565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6200013f5f8051602062000e2e833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a16200016c8162000289565b50565b806001600160a01b03163b5f03620001aa57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f80846001600160a01b0316846040516200020c919062000495565b5f60405180830381855af49150503d805f811462000246576040519150601f19603f3d011682016040523d82523d5f602084013e6200024b565b606091505b5090925090506200025e858383620002ca565b95945050505050565b3415620002875760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002b457604051633173bdd160e11b81525f6004820152602401620001a1565b805f8051602062000e2e833981519152620001cd565b606082620002e357620002dd8262000330565b62000329565b8151158015620002fb57506001600160a01b0384163b155b156200032657604051639996b31560e01b81526001600160a01b0385166004820152602401620001a1565b50805b9392505050565b8051156200034057805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b6104fc806200093283390190565b80516001600160a01b03811681146200037e575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620003b357818101518382015260200162000399565b50505f910152565b5f805f60608486031215620003ce575f80fd5b620003d98462000367565b9250620003e96020850162000367565b60408501519092506001600160401b038082111562000406575f80fd5b818601915086601f8301126200041a575f80fd5b8151818111156200042f576200042f62000383565b604051601f8201601f19908116603f011681019083821181831017156200045a576200045a62000383565b8160405282815289602084870101111562000473575f80fd5b6200048683602083016020880162000397565b80955050505050509250925092565b5f8251620004a881846020870162000397565b9190910192915050565b608051610468620004ca5f395f601001526104685ff3fe608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f806100913660048184610302565b81019061009e919061033d565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b610151565b6100c98261016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101ea565b505050565b6100ac61025c565b5f61014c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e80801561016b573d5ff35b3d5ffd5b806001600160a01b03163b5f036101a957604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516102069190610406565b5f60405180830381855af49150503d805f811461023e576040519150601f19603f3d011682016040523d82523d5f602084013e610243565b606091505b509150915061025385838361027b565b95945050505050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b6060826102905761028b826102da565b6102d3565b81511580156102a757506001600160a01b0384163b155b156102d057604051639996b31560e01b81526001600160a01b03851660048201526024016101a0565b50805b9392505050565b8051156102e957805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f8085851115610310575f80fd5b8386111561031c575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561034e575f80fd5b82356001600160a01b0381168114610364575f80fd5b9150602083013567ffffffffffffffff80821115610380575f80fd5b818501915085601f830112610393575f80fd5b8135818111156103a5576103a5610329565b604051601f8201601f19908116603f011681019083821181831017156103cd576103cd610329565b816040528281528860208487010111156103e5575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f82515f5b81811015610425576020818601810151858301520161040b565b505f92019182525091905056fea26469706673582212205c67d25c1503fc34e04ac72a1211dad3845fce3db43c554ed1a936c2c3b78de164736f6c63430008180033608060405234801561000f575f80fd5b506040516104fc3803806104fc83398101604081905261002e916100bb565b806001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100658161006c565b50506100e8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100cb575f80fd5b81516001600160a01b03811681146100e1575f80fd5b9392505050565b610407806100f55f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f80fd5b348015610058575f80fd5b506100616100fd565b005b34801561006e575f80fd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f80fd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610372565b3480156100e9575f80fd5b506100616100f836600461038b565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061014890869086906004016103a6565b5f604051808303818588803b15801561015f575f80fd5b505af1158015610171573d5f803e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f805f60608486031215610272575f80fd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff808211156102a9575f80fd5b818601915086601f8301126102bc575f80fd5b8135818111156102ce576102ce61024c565b604051601f8201601f19908116603f011681019083821181831017156102f6576102f661024c565b8160405282815289602084870101111561030e575f80fd5b826020860160208301375f6020848301015280955050505050509250925092565b5f81518084525f5b8181101561035357602081850181015186830182015201610337565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610384602083018461032f565b9392505050565b5f6020828403121561039b575f80fd5b813561038481610238565b6001600160a01b03831681526040602082018190525f906103c99083018461032f565b94935050505056fea26469706673582212201a48c2e6950f70be822192dfaec66a1b74e46f1db2597a9577e703d07e8a101c64736f6c63430008180033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000008a68cbb2fff99ea400ff330dbd1a7904775b4b44000000000000000000000000fdff3fd0994fed8be208a7bee49970ea9707e68700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000ca70801d91576d069190d1d4cfddebdc237a45370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e049c36a286fdff3fd0994fed8be208a7bee49970ea9707e687002cff7e3ed597e60184faad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001d8661018060405234801562000011575f80fd5b5060405162001d4638038062001d4683398101604081905262000034916200056b565b806001600160a01b0316610100816001600160a01b031681525050816001600160a01b03166331b8c9466040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200008c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000b29190620005a8565b6001600160a01b03166080816001600160a01b031681525050816001600160a01b03166377553ad46040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000108573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200012e9190620005a8565b6001600160a01b031660a0816001600160a01b031681525050816001600160a01b0316633d83908a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000184573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001aa9190620005a8565b6001600160a01b031660c0816001600160a01b031681525050816001600160a01b031663048c661d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000200573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002269190620005a8565b6001600160a01b0316610160816001600160a01b031681525050816001600160a01b0316633cc742256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002a39190620005a8565b6001600160a01b031660e0816001600160a01b031681525050816001600160a01b031663d0ee2ace6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200031f9190620005a8565b6001600160a01b0316610140816001600160a01b031681525050816001600160a01b031663630afce56040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000376573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200039c9190620005a8565b6001600160a01b0316610120526080516040517f8adeca1d26ce63eb9fb5b9362155b69fbb631209bfc0dddb3d75d96735eae23b91620003dc91620005cd565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed98560a051604051620004179190620005cd565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a567860c051604051620004529190620005cd565b60405180910390a17f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f610160516040516200048e9190620005cd565b60405180910390a17f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b60e051604051620004c99190620005cd565b60405180910390a160805160e05160405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af115801562000524573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200054a9190620005e1565b50505062000602565b6001600160a01b038116811462000568575f80fd5b50565b5f80604083850312156200057d575f80fd5b82516200058a8162000553565b60208401519092506200059d8162000553565b809150509250929050565b5f60208284031215620005b9575f80fd5b8151620005c68162000553565b9392505050565b6001600160a01b0391909116815260200190565b5f60208284031215620005f2575f80fd5b81518015158114620005c6575f80fd5b60805160a05160c05160e05161010051610120516101405161016051611655620006f15f395f8181610192015281816108a801528181610af501528181610b60015261105801525f81816103d60152610a5201525f81816102a901528181610a2501528181610ac80152610f0a01525f818161024a015281816107d1015261096c01525f818161036c015281816107490152610c0b01525f818161028201528181610d3701528181610df0015261102501525f818161039c0152818161087601528181610bd901528181610dbe0152610ff301525f818161020a015281816105f601526106f701526116555ff3fe608060405234801561000f575f80fd5b5060043610610173575f3560e01c80630367b30214610177578063048c661d1461018d57806306ff8dfb146101cc57806310a985c1146101df5780631bfa0d7b146101e85780632bcbcbcb146101f257806331b8c946146102055780633db6c94a1461022c57806342635a9514610234578063455079981461023d578063458e8e6b146102455780634ba89fa11461026c57806358569081146102745780635a4d28bb1461027d578063630afce5146102a45780636d8f962d146102cb57806371d4eb21146102d3578063759f9dec146102e657806383b60e4d146102ef57806385fe37a3146103025780638d5c1d4c146103155780639f4e511e1461031e578063a3f4df7e14610331578063aac1846f14610367578063ac8bbc491461038e578063b7f8cf9b14610397578063c2283f1f146103be578063d0ee2ace146103d1578063dd9fbcb8146103f8578063f6e413f51461040b578063fa160c0514610414575b5f80fd5b5f545b6040519081526020015b60405180910390f35b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610184565b6004546040519015158152602001610184565b61017a60065481565b6101f061041c565b005b6101f0610200366004611304565b610444565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b61017a610458565b61017a60025481565b61017a6104a5565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b61017a6104da565b61017a60045481565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b6101f0610521565b6101f06102e136600461134d565b61052f565b61017a60035481565b6101f06102fd366004611304565b6105d8565b61017a610310366004611381565b61061e565b61017a60015481565b6101f061032c36600461139c565b6106d9565b61035a6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b60405161018491906113e6565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b61017a60075481565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b6101f06103cc366004611304565b610722565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b6101f061040636600461134d565b6107ab565b61017a60055481565b61017a6107c5565b61042461086b565b61042d5f610943565b60015f82825461043d919061142c565b9091555050565b61044c610bce565b61045581610c93565b50565b5f6004545f1461046757505f90565b6104a060035442610478919061143f565b6002546104859190611452565b61049b670de0b6b3a76400006301e13380611452565b610cdf565b905090565b5f6104ae6104da565b6005546104b9610458565b6001546104c6919061142c565b6104d0919061142c565b6104a0919061142c565b5f806004545f036104eb57426104ef565b6004545b90505f6104fe60075483610d17565b905061051a61050d828461143f565b6006546104859190611452565b9250505090565b610529610d2c565b42600455565b610537610db3565b6001600160a01b0381161561055e5761055e6105583684900384018461149e565b82610e68565b60015461056f610100840135610943565b610579908261142c565b905061058683358261142c565b905061059660808401358261142c565b90506105a660a08401358261143f565b60018190556002549091506105bf60c08501358261142c565b90506105cf60e08501358261143f565b60025550505050565b6105e0610bce565b6105e981610c93565b6104556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084610f77565b5f610100820135156106325761063261153b565b6004541561064157505f919050565b60015461064c610458565b610656908261142c565b905061066383358261142c565b905061067360808401358261142c565b90506106846101208401358261142c565b905061069460a08401358261143f565b6002549091506106a860c08501358261142c565b90506106b860e08501358261143f565b90505f82116106c7575f6106d1565b6106d1828261154f565b949350505050565b6106e1610fe8565b6106ea816110e2565b61071e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683836110f0565b5050565b61072a610d2c565b610733816110e2565b6040516383b60e4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906383b60e4d906024015f604051808303815f87803b158015610792575f80fd5b505af11580156107a4573d5f803e3d5ffd5b5050505050565b6107b3610d2c565b61071e6105583684900384018461149e565b5f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f137cd76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084f919061156e565b610857610458565b6108619190611452565b6104a0919061154f565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108ca5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6109415760405162461bcd60e51b815260206004820152603e60248201527f416374697665506f6f6c3a2043616c6c6572206973206e6f7420426f72726f7760448201527f65724f7065726174696f6e73206e6f722053746162696c697479506f6f6c000060648201526084015b60405180910390fd5b565b5f8161094d610458565b610957919061142c565b90508015610bc5575f670de0b6b3a7640000827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f137cd76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ea919061156e565b6109f49190611452565b6109fe919061154f565b90505f610a0b828461143f565b6040516340c10f1960e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990610a7c907f0000000000000000000000000000000000000000000000000000000000000000908590600401611585565b5f604051808303815f87803b158015610a93575f80fd5b505af1158015610aa5573d5f803e3d5ffd5b505050505f821115610bc2576040516340c10f1960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990610b1f907f0000000000000000000000000000000000000000000000000000000000000000908690600401611585565b5f604051808303815f87803b158015610b36575f80fd5b505af1158015610b48573d5f803e3d5ffd5b505060405163affb466960e01b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316925063affb466991506024015f604051808303815f87803b158015610bab575f80fd5b505af1158015610bbd573d5f803e3d5ffd5b505050505b50505b42600355919050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c2d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6109415760405162461bcd60e51b815260206004820152603160248201527f416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f604482015270081b9bdc88111959985d5b1d08141bdbdb607a1b6064820152608401610938565b5f815f54610ca1919061142c565b5f8190556040518181529091507f9bbe217b4113a0fc957e51f8db99c9989f520e3c6bcca7a8e12c6316eaf995bf9060200160405180910390a15050565b5f8215610d0c5781610cf260018561143f565b610cfc919061154f565b610d0790600161142c565b610d0e565b5f5b90505b92915050565b5f818310610d255781610d0e565b5090919050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109415760405162461bcd60e51b815260206004820152602660248201527f416374697665506f6f6c3a2043616c6c6572206973206e6f742054726f76654d60448201526530b730b3b2b960d11b6064820152608401610938565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610e125750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6109415760405162461bcd60e51b815260206004820152604160248201525f805160206115e083398151915260448201525f805160206116008339815191526064820152603960f91b608482015260a401610938565b81610120015160015f828254610e7e919061142c565b9091555050600554610e8e6104da565b610e98908261142c565b905082610120015181610eab919061143f565b600581905560065461014085015191925090610ec7908261142c565b905083610160015181610eda919061143f565b600681905561012085015190915015610f6d576101208401516040516340c10f1960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916340c10f1991610f3f918791600401611585565b5f604051808303815f87803b158015610f56575f80fd5b505af1158015610f68573d5f803e3d5ffd5b505050505b5050426007555050565b6040516001600160a01b0380851660248301528316604482015260648101829052610fe29085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611114565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110475750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b8061107a5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6109415760405162461bcd60e51b815260206004820152605360248201525f805160206115e083398151915260448201525f805160206116008339815191526064820152721c881b9bdc8814dd18589a5b1a5d1e541bdbdb606a1b608482015260a401610938565b5f815f54610ca1919061143f565b61110f8363a9059cbb60e01b8484604051602401610fab929190611585565b505050565b5f611168826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166111e79092919063ffffffff16565b905080515f1480611188575080806020019051810190611188919061159e565b61110f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610938565b60606106d184845f85855f80866001600160a01b0316858760405161120c91906115c4565b5f6040518083038185875af1925050503d805f8114611246576040519150601f19603f3d011682016040523d82523d5f602084013e61124b565b606091505b509150915061125c87838387611267565b979650505050505050565b606083156112d55782515f036112ce576001600160a01b0385163b6112ce5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610938565b50816106d1565b6106d183838151156112ea5781518083602001fd5b8060405162461bcd60e51b815260040161093891906113e6565b5f60208284031215611314575f80fd5b5035919050565b5f610180828403121561132c575f80fd5b50919050565b80356001600160a01b0381168114611348575f80fd5b919050565b5f806101a0838503121561135f575f80fd5b611369848461131b565b91506113786101808401611332565b90509250929050565b5f6101808284031215611392575f80fd5b610d0e838361131b565b5f80604083850312156113ad575f80fd5b6113b683611332565b946020939093013593505050565b5f5b838110156113de5781810151838201526020016113c6565b50505f910152565b602081525f82518060208401526114048160408501602087016113c4565b601f01601f19169190910160400192915050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610d1157610d11611418565b81810381811115610d1157610d11611418565b8082028115828204841417610d1157610d11611418565b60405161018081016001600160401b038111828210171561149857634e487b7160e01b5f52604160045260245ffd5b60405290565b5f61018082840312156114af575f80fd5b6114b7611469565b823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a082015260c083013560c082015260e083013560e08201526101008084013581830152506101208084013581830152506101408084013581830152506101608084013581830152508091505092915050565b634e487b7160e01b5f52600160045260245ffd5b5f8261156957634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561157e575f80fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b5f602082840312156115ae575f80fd5b815180151581146115bd575f80fd5b9392505050565b5f82516115d58184602087016113c4565b919091019291505056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765a26469706673582212205ec4a1369471ddb7600d32d824dc3593d53e008f1e47ee2e1c6385fc01f90c4e64736f6c63430008180033000000000000000000000000ca70801d91576d069190d1d4cfddebdc237a4537000000000000000000000000e604507642469be4699febdf4a701d9a104dd173000000000000000000000000000000000000000000000000000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c649c36a286fdff3fd0994fed8be208a7bee49970ea9707e687001d0c5d38f10b6dc7adfeed00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000bf860e060405234801561000f575f80fd5b50604051610bd8380380610bd883398101604081905261002e916102cb565b806001600160a01b03166331b8c9466040518163ffffffff1660e01b8152600401602060405180830381865afa15801561006a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008e91906102cb565b6001600160a01b03166080816001600160a01b031681525050806001600160a01b0316633d83908a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100e3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061010791906102cb565b6001600160a01b031660a0816001600160a01b031681525050806001600160a01b0316637f7dde4a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561015c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061018091906102cb565b6001600160a01b031660c0526080516040517f8adeca1d26ce63eb9fb5b9362155b69fbb631209bfc0dddb3d75d96735eae23b916101bd916102ed565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a567860a0516040516101f691906102ed565b60405180910390a17f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd88260c05160405161022f91906102ed565b60405180910390a160805160c05160405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015610289573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ad9190610301565b5050610320565b6001600160a01b03811681146102c8575f80fd5b50565b5f602082840312156102db575f80fd5b81516102e6816102b4565b9392505050565b6001600160a01b0391909116815260200190565b5f60208284031215610311575f80fd5b815180151581146102e6575f80fd5b60805160a05160c0516108736103655f395f818161018b0152818161026401526103f001525f818161011a015261035d01525f818160c001526102f001526108735ff3fe608060405234801561000f575f80fd5b506004361061008c575f3560e01c80630367b30214610090578063057e3588146100a657806331b8c946146100bb5780633d5dae7a146100fa578063455079981461010d5780635a4d28bb1461011557806383b60e4d1461013c578063a3f4df7e1461014f578063b08bc72214610186578063c1623dbc146101ad575b5f80fd5b5f545b6040519081526020015b60405180910390f35b6100b96100b4366004610731565b6101c0565b005b6100e27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009d565b6100b9610108366004610731565b610211565b600154610093565b6100e27f000000000000000000000000000000000000000000000000000000000000000081565b6100b961014a366004610731565b6102c7565b6101796040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b60405161009d919061076a565b6100e27f000000000000000000000000000000000000000000000000000000000000000081565b6100b96101bb366004610731565b61033c565b6101c8610352565b806001546101d691906107b0565b60018190556040519081527f316f60239adb8a9761840b0c8fa98be5be997ab540f803e68b716491da7432019060200160405180910390a150565b610219610352565b5f815f5461022791906107c9565b5f8190556040518181529091505f8051602061081e8339815191529060200160405180910390a16040516383b60e4d60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906383b60e4d906024015f604051808303815f87803b1580156102ad575f80fd5b505af11580156102bf573d5f803e3d5ffd5b505050505050565b6102cf6103e5565b5f815f546102dd91906107b0565b5f81905590506103186001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308561046f565b6040518181525f8051602061081e8339815191529060200160405180910390a15050565b610344610352565b806001546101d691906107c9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103e35760405162461bcd60e51b815260206004820152602b60248201527f44656661756c74506f6f6c3a2043616c6c6572206973206e6f7420746865205460448201526a3937bb32a6b0b730b3b2b960a91b60648201526084015b60405180910390fd5b565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103e35760405162461bcd60e51b815260206004820152602960248201527f44656661756c74506f6f6c3a2043616c6c6572206973206e6f7420746865204160448201526818dd1a5d99541bdbdb60ba1b60648201526084016103da565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526104c99085906104cf565b50505050565b5f610523826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166105a79092919063ffffffff16565b905080515f148061054357508080602001905181019061054391906107dc565b6105a25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016103da565b505050565b60606105b584845f856105bd565b949350505050565b60608247101561061e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016103da565b5f80866001600160a01b031685876040516106399190610802565b5f6040518083038185875af1925050503d805f8114610673576040519150601f19603f3d011682016040523d82523d5f602084013e610678565b606091505b509150915061068987838387610694565b979650505050505050565b606083156107025782515f036106fb576001600160a01b0385163b6106fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103da565b50816105b5565b6105b583838151156107175781518083602001fd5b8060405162461bcd60e51b81526004016103da919061076a565b5f60208284031215610741575f80fd5b5035919050565b5f5b8381101561076257818101518382015260200161074a565b50505f910152565b602081525f8251806020840152610788816040850160208701610748565b601f01601f19169190910160400192915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156107c3576107c361079c565b92915050565b818103818111156107c3576107c361079c565b5f602082840312156107ec575f80fd5b815180151581146107fb575f80fd5b9392505050565b5f8251610813818460208701610748565b919091019291505056feb81b9c2dfafac0a12c15a844bf9eeadd4056362c69dfce825ce7538d1706d8eba2646970667358221220d4324a373a47c6b7411f30c3d3d4ecbd3cdc7488e9ba8d609d8b283a976db13164736f6c63430008180033000000000000000000000000ca70801d91576d069190d1d4cfddebdc237a4537000000000000000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003849c36a286fdff3fd0994fed8be208a7bee49970ea9707e68700c6c8ebf8679757a775e1320000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000031c608060405234801561000f575f80fd5b506040516102fc3803806102fc83398101604081905261002e91610258565b5f816001600160a01b031663c91d59fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561006b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008f9190610258565b90505f826001600160a01b03166377553ad46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100f29190610258565b90505f836001600160a01b0316633d83908a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610131573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101559190610258565b60405163095ea7b360e01b81529091506001600160a01b0384169063095ea7b3906101879085905f199060040161027a565b6020604051808303815f875af11580156101a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c79190610293565b5060405163095ea7b360e01b81526001600160a01b0384169063095ea7b3906101f79084905f199060040161027a565b6020604051808303815f875af1158015610213573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102379190610293565b50505050506102b2565b6001600160a01b0381168114610255575f80fd5b50565b5f60208284031215610268575f80fd5b815161027381610241565b9392505050565b6001600160a01b03929092168252602082015260400190565b5f602082840312156102a3575f80fd5b81518015158114610273575f80fd5b603e806102be5f395ff3fe60806040525f80fdfea26469706673582212201b316714809fc1190f135837887a0fdc255220a7323d8d2457e36cd20033e03564736f6c63430008180033000000000000000000000000ca70801d91576d069190d1d4cfddebdc237a45370000000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c049c36a286fdff3fd0994fed8be208a7bee49970ea9707e687002a6ac601dc21934707abfb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000b8260e060405234801561000f575f80fd5b50604051610b62380380610b6283398101604081905261002e9161021b565b806001600160a01b03166331b8c9466040518163ffffffff1660e01b8152600401602060405180830381865afa15801561006a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008e919061021b565b6001600160a01b03166080816001600160a01b031681525050806001600160a01b03166377553ad46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100e3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610107919061021b565b6001600160a01b031660a0816001600160a01b031681525050806001600160a01b0316633d83908a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561015c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610180919061021b565b6001600160a01b031660c05260a0516040517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916101bd9161023d565b60405180910390a17f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a567860c0516040516101f6919061023d565b60405180910390a150610251565b6001600160a01b0381168114610218575f80fd5b50565b5f6020828403121561022b575f80fd5b815161023681610204565b9392505050565b6001600160a01b0391909116815260200190565b60805160a05160c0516108d461028e5f395f818160e9015261038301525f8181610186015261041101525f81816095015261034d01526108d45ff3fe608060405234801561000f575f80fd5b5060043610610076575f3560e01c80630367b3021461007a57806331b8c946146100905780633f10abab146100cf5780635a4d28bb146100e45780639b56d6c91461010b578063a3f4df7e14610133578063b32beb5b1461016e578063b7f8cf9b14610181575b5f80fd5b5f545b6040519081526020015b60405180910390f35b6100b77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610087565b6100e26100dd366004610768565b6101a8565b005b6100b77f000000000000000000000000000000000000000000000000000000000000000081565b61007d610119366004610790565b6001600160a01b03165f9081526001602052604090205490565b6101616040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b60405161008791906107d2565b6100e261017c366004610790565b61022e565b6100b77f000000000000000000000000000000000000000000000000000000000000000081565b6101b0610378565b6001600160a01b0382165f908152600160205260408120546101d3908390610818565b6001600160a01b0384165f908152600160205260408120829055549091506101fc908390610818565b5f556040518181526001600160a01b038416905f8051602061087f8339815191529060200160405180910390a2505050565b610236610406565b6001600160a01b0381165f90815260016020526040902054806102ba5760405162461bcd60e51b815260206004820152603160248201527f436f6c6c537572706c7573506f6f6c3a204e6f20636f6c6c61746572616c20616044820152707661696c61626c6520746f20636c61696d60781b60648201526084015b60405180910390fd5b6001600160a01b0382165f818152600160209081526040808320839055519182525f8051602061087f833981519152910160405180910390a2805f546103009190610831565b5f556040518181526001600160a01b038316907fd9ef88f073f4d2c68cdd01f32b61017d8f9e3937dfd5c1962104ec48951ea99d9060200160405180910390a26103746001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168383610499565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104045760405162461bcd60e51b815260206004820152602b60248201527f436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f74205460448201526a3937bb32a6b0b730b3b2b960a91b60648201526084016102b1565b565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104045760405162461bcd60e51b815260206004820152603260248201527f436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f7420426044820152716f72726f776572204f7065726174696f6e7360701b60648201526084016102b1565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526104eb9084906104f0565b505050565b5f610544826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166105c39092919063ffffffff16565b905080515f14806105645750808060200190518101906105649190610844565b6104eb5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102b1565b60606105d184845f856105d9565b949350505050565b60608247101561063a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102b1565b5f80866001600160a01b031685876040516106559190610863565b5f6040518083038185875af1925050503d805f811461068f576040519150601f19603f3d011682016040523d82523d5f602084013e610694565b606091505b50915091506106a5878383876106b0565b979650505050505050565b6060831561071e5782515f03610717576001600160a01b0385163b6107175760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102b1565b50816105d1565b6105d183838151156107335781518083602001fd5b8060405162461bcd60e51b81526004016102b191906107d2565b80356001600160a01b0381168114610763575f80fd5b919050565b5f8060408385031215610779575f80fd5b6107828361074d565b946020939093013593505050565b5f602082840312156107a0575f80fd5b6107a98261074d565b9392505050565b5f5b838110156107ca5781810151838201526020016107b2565b50505f910152565b602081525f82518060208401526107f08160408501602087016107b0565b601f01601f19169190910160400192915050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561082b5761082b610804565b92915050565b8181038181111561082b5761082b610804565b5f60208284031215610854575f80fd5b815180151581146107a9575f80fd5b5f82516108748184602087016107b0565b919091019291505056fef0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20a26469706673582212207637d8177bf332ba7debfc7b7b8e21d3380ce0cdcb6ccf657c8cb4b5d3c3922f64736f6c63430008180033000000000000000000000000ca70801d91576d069190d1d4cfddebdc237a453700000000000000000000000000000000000000000000000000000000000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001aa49c36a286fdff3fd0994fed8be208a7bee49970ea9707e68700b7de73636f828805d4bc1700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001a3160c060405234801562000010575f80fd5b5060405162001a1138038062001a1183398101604081905262000033916200020a565b5f808052600160209081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb498290557fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4a9190915560408051631ec1c84560e11b815290516001600160a01b03841692633d83908a92600480820193918290030181865afa158015620000c7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000ed91906200020a565b6001600160a01b031660a0816001600160a01b031681525050806001600160a01b03166377553ad46040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000143573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200016991906200020a565b6001600160a01b031660805260a0516040517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a567891620001a8916200022f565b60405180910390a17f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985608051604051620001e391906200022f565b60405180910390a15062000243565b6001600160a01b038116811462000207575f80fd5b50565b5f602082840312156200021b575f80fd5b81516200022881620001f2565b9392505050565b6001600160a01b0391909116815260200190565b60805160a05161176d620002a45f395f81816102a2015281816104c0015281816105260152818161067f015281816108370152818161090101528181610a010152610f1001525f81816103b901528181610c130152610ede015261176d5ff3fe608060405234801561000f575f80fd5b506004361061011b575f3560e01c80630364aefb1461011f57806307aba33d1461015d5780631037a5f41461018a5780631c403f59146101ad5780631c53c280146101c25780631e223143146102355780632dbf554c14610264578063353d67a01461027757806336aa4c6a1461028a5780633d83908a1461029d5780634cc82215146102dc5780634d622831146102ef57806362c4c5161461031e578063681fe70c14610346578063843aa0db1461034e57806394586b4e14610361578063949d225d14610374578063a3f4df7e1461037c578063b7f8cf9b146103b4578063c34052e0146103db578063de8fa431146103ee578063e2ea2658146103f5578063f47612591461041b575b5f80fd5b61014861012d3660046114d0565b6001600160a01b03165f908152600260205260409020541590565b60405190151581526020015b60405180910390f35b61017c61016b3660046114e9565b5f9081526001602052604090205490565b604051908152602001610154565b61017c6101983660046114e9565b5f908152600160208190526040909120015490565b6101c06101bb366004611500565b61042e565b005b6102046101d03660046114e9565b600160208190525f91825260409091208054918101546002909101546001600160a01b03811690600160a01b900460ff1684565b604051610154949392919093845260208401929092526001600160a01b031660408301521515606082015260800190565b5f805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461017c565b6101486102723660046114e9565b6104f7565b610148610285366004611536565b610520565b6101c061029836600461155f565b610557565b6102c47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610154565b6101c06102ea3660046114e9565b610740565b5f805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4a5461017c565b61033161032c366004611536565b610830565b60408051928352602083019190915201610154565b5f5415610148565b6101c061035c3660046115a1565b61086a565b6101c061036f3660046115a1565b610962565b61017c5f5481565b6103a76040518060400160405280600c81526020016b536f7274656454726f76657360a01b81525081565b60405161015491906115d0565b6102c47f000000000000000000000000000000000000000000000000000000000000000081565b6101486103e93660046114e9565b610a30565b5f5461017c565b6103316104033660046114d0565b60026020525f90815260409020805460019091015482565b6101c06104293660046114e9565b610a4e565b6001600160a01b0384165f908152600260209081526040918290208251808401909352805483526001015490820152610465610c08565b80516104bb5760405162461bcd60e51b815260206004820152602d60248201525f805160206116f883398151915260448201526c0c2d2dc40e8d0ca40c4c2e8c6d609b1b60648201526084015b60405180910390fd5b6104f07f0000000000000000000000000000000000000000000000000000000000000000825f01518360200151878787610c86565b5050505050565b5f8181526001602052604081206002015461051a906001600160a01b0316610cdb565b92915050565b5f61054d7f0000000000000000000000000000000000000000000000000000000000000000858585610cf5565b90505b9392505050565b61055f610c08565b61056885610a30565b156105855760405162461bcd60e51b81526004016104b29061161c565b846105ee5760405162461bcd60e51b815260206004820152603360248201527f536f7274656454726f7665733a205f74726f766549642063616e6e6f74206265604482015272081d1a19481c9bdbdd081b9bd91949dcc81251606a1b60648201526084016104b2565b610600846001600160a01b0316610cdb565b61065a5760405162461bcd60e51b815260206004820152602560248201527f536f7274656454726f7665733a205f626174636849642063616e6e6f74206265604482015264207a65726f60d81b60648201526084016104b2565b6001600160a01b0384165f90815260026020526040902060010154806106c7576106a87f00000000000000000000000000000000000000000000000000000000000000008788878787610e75565b6001600160a01b0385165f9081526002602052604090208690556106e4565b5f818152600160205260409020546106e490879081908490610e9e565b6001600160a01b0385165f81815260026020818152604080842060019081018c90558b855290915282200180546001600160a81b031916909217600160a01b17909155805481906107349061167c565b90915550505050505050565b610748610ed3565b61075181610a30565b61076d5760405162461bcd60e51b81526004016104b290611694565b610776816104f7565b156107e95760405162461bcd60e51b815260206004820152603f60248201527f536f7274656454726f7665733a204d757374207573652072656d6f766546726f60448201527f6d4261746368282920746f2072656d6f76652062617463686564206e6f64650060648201526084016104b2565b6107f38182610f91565b5f818152600160208190526040822082815590810182905560020180546001600160a81b031916905580548190610829906116cb565b9091555050565b5f8061085e7f0000000000000000000000000000000000000000000000000000000000000000868686610fbf565b91509150935093915050565b610872610c08565b61087b84610a30565b156108985760405162461bcd60e51b81526004016104b29061161c565b836108fc5760405162461bcd60e51b815260206004820152602e60248201527f536f7274656454726f7665733a205f69642063616e6e6f74206265207468652060448201526d1c9bdbdd081b9bd91949dcc8125160921b60648201526084016104b2565b61092a7f00000000000000000000000000000000000000000000000000000000000000008586868686610e75565b5f848152600160205260408120600201805460ff60a01b1916600160a01b179055805481906109589061167c565b9091555050505050565b61096a610c08565b61097384610a30565b61098f5760405162461bcd60e51b81526004016104b290611694565b610998846104f7565b156109fc5760405162461bcd60e51b815260206004820152602e60248201527f536f7274656454726f7665733a204d757374206e6f74207265496e736572742860448201526d292062617463686564206e6f646560901b60648201526084016104b2565b610a2a7f00000000000000000000000000000000000000000000000000000000000000008586868686610c86565b50505050565b5f90815260016020526040902060020154600160a01b900460ff1690565b610a56610ed3565b5f818152600160205260409020600201546001600160a01b0316610a7981610cdb565b610ae85760405162461bcd60e51b815260206004820152603a60248201527f536f7274656454726f7665733a204d757374207573652072656d6f7665282920604482015279746f2072656d6f7665206e6f6e2d62617463686564206e6f646560301b60648201526084016104b2565b6001600160a01b0381165f90815260026020908152604091829020825180840190935280548084526001909101549183019190915283148015610b2e5750828160200151145b15610b56576001600160a01b0382165f90815260026020526040812081815560010155610bbf565b8051839003610b8a575f838152600160209081526040808320546001600160a01b0386168452600290925290912055610bbf565b82816020015103610bbf575f8381526001602081815260408084208301546001600160a01b0387168552600290925290922001555b610bc98384610f91565b5f838152600160208190526040822082815590810182905560020180546001600160a81b031916905580548190610bff906116cb565b90915550505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c845760405162461bcd60e51b815260206004820152602e60248201525f8051602061171883398151915260448201526d6f7765724f7065726174696f6e7360901b60648201526084016104b2565b565b610c9286848484610cf5565b610ca857610ca286848484610fbf565b90925090505b848114158015610cb85750838214155b15610cd357610cc78585610f91565b610cd385858484610e9e565b505050505050565b5f610cee826001600160a01b0316611163565b1592915050565b5f828152600160205260408120600281015490546001600160a01b039091169083148015610d3357505f838152600160208190526040909120015484145b8015610d7757505f83815260016020526040902060020154610d5f9082906001600160a01b031661116e565b80610d775750610d77816001600160a01b0316611163565b8015610df25750831580610df25750604051635ef3b8bf60e01b81526004810185905285906001600160a01b03881690635ef3b8bf90602401602060405180830381865afa158015610dcb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610def91906116e0565b10155b8015610e6b5750821580610e6b5750604051635ef3b8bf60e01b8152600481018490526001600160a01b03871690635ef3b8bf90602401602060405180830381865afa158015610e44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6891906116e0565b85115b9695505050505050565b610e8186848484610cf5565b610cc757610e9186848484610fbf565b9092509050610cd3858584845b5f8281526001602081905260408083208790559582528582208101939093558381528481208290559081529290922090910155565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610f325750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610c845760405162461bcd60e51b815260206004820152603f60248201525f8051602061171883398151915260448201527f6f7765724f7065726174696f6e73206e6f722054726f76654d616e616765720060648201526084016104b2565b5f90815260016020819052604080832054938352808320820180548452818420859055549383529091200155565b5f8083610fda57610fd186865f611181565b9150915061115a565b610fe384610a30565b15806110555750604051635ef3b8bf60e01b81526004810185905285906001600160a01b03881690635ef3b8bf90602401602060405180830381865afa15801561102f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105391906116e0565b105b1561105e575f93505b8261106e57610fd186865f6111ca565b61107783610a30565b15806110e95750604051635ef3b8bf60e01b8152600481018490526001600160a01b03871690635ef3b8bf90602401602060405180830381865afa1580156110c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e591906116e0565b8511155b156110f2575f92505b831580156110fe575082155b1561110e57610fd186865f611181565b8361112657610fd1868661112186611212565b6111ca565b8261113e57610fd186866111398761125c565b611181565b610fd1868661114c8761125c565b61115587611212565b6112a9565b94509492505050565b5f61051a825f611334565b5f6111798383611334565b159392505050565b6040805180820182528281525f83815260016020908152928120549282019290925281905b6111b1868683611345565b156111a657805160209091015190969095509350505050565b6040805180820182525f838152600160208181529382200154825291810183905281905b6111f98686836113fc565b156111ee57805160209091015190969095509350505050565b5f818152600160205260408120600201546001600160a01b031661123581610cdb565b61123f5782610550565b6001600160a01b03165f9081526002602052604090205492915050565b5f818152600160205260408120600201546001600160a01b031661127f81610cdb565b6112895782610550565b6001600160a01b03165f9081526002602052604090206001015492915050565b6040805180820182528381525f848152600160208181528483205481850152845180860186528684528282529483209091015484528301849052918291905b6112f3888884611345565b1561130b57508051602090910151909250905061115a565b6113168888836113fc565b1561132f57805f0151816020015193509350505061115a565b6112e8565b6001600160a01b0390811691161490565b5f80826020015114806113c357506020820151604051635ef3b8bf60e01b815260048101919091526001600160a01b03851690635ef3b8bf90602401602060405180830381865afa15801561139c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c091906116e0565b83115b156113d057506001610550565b6113dd826020015161125c565b8083525f90815260016020908152604090912054908301529392505050565b80515f90158061147b57508151604051635ef3b8bf60e01b815284916001600160a01b03871691635ef3b8bf916114399160040190815260200190565b602060405180830381865afa158015611454573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147891906116e0565b10155b1561148857506001610550565b815161149390611212565b60208084018290525f9182526001908190526040909120015482529392505050565b80356001600160a01b03811681146114cb575f80fd5b919050565b5f602082840312156114e0575f80fd5b610550826114b5565b5f602082840312156114f9575f80fd5b5035919050565b5f805f8060808587031215611513575f80fd5b61151c856114b5565b966020860135965060408601359560600135945092505050565b5f805f60608486031215611548575f80fd5b505081359360208301359350604090920135919050565b5f805f805f60a08688031215611573575f80fd5b85359450611583602087016114b5565b94979496505050506040830135926060810135926080909101359150565b5f805f80608085870312156115b4575f80fd5b5050823594602084013594506040840135936060013592509050565b5f602080835283518060208501525f5b818110156115fc578581018301518582016040015282016115e0565b505f604082860101526040601f19601f8301168501019250505092915050565b6020808252602c908201527f536f7274656454726f7665733a204c69737420616c726561647920636f6e746160408201526b696e7320746865206e6f646560a01b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b5f6001820161168d5761168d611668565b5060010190565b6020808252602a908201525f805160206116f8833981519152604082015269185a5b881d1a19481a5960b21b606082015260800190565b5f816116d9576116d9611668565b505f190190565b5f602082840312156116f0575f80fd5b505191905056fe536f7274656454726f7665733a204c69737420646f6573206e6f7420636f6e74536f7274656454726f7665733a2043616c6c6572206973206e6f7420426f7272a2646970667358221220bc2e6818aa58c205389bb28cc0e684b10a5c7b75c30c9565c4d4bb9a4454ce3464736f6c63430008180033000000000000000000000000ca70801d91576d069190d1d4cfddebdc237a45370000000000000000000000000000000012b430d8e407a79cda01f12112ddef8eb593aeef00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f2fde38b00000000000000000000000058099b74f4acd642da77b4b7966b4138ec5ba458004aafd05073cd55d6e22b0cdaddc7679d35edc94e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f2fde38b00000000000000000000000058099b74f4acd642da77b4b7966b4138ec5ba4580068932b8fdd82da5b0fce2aca20a82ea0e11d894a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f2fde38b00000000000000000000000058099b74f4acd642da77b4b7966b4138ec5ba458000000000000
Signatures
0x54af1e24becdc81235978558b60a3ba16b89b01ad79e1c3133f84be12d8c2d9357e37b5f069856c2d29a2dec1029c40319f12d9629b511ce3cd28b3d87f43def1c