Blockchain / Global / Address
Contract
0xdb75Fa1c7e32cF7f74ABf14a8ff81D4f1de6Fb01
- Balance
- 0 SOMI
- Transactions sent
- 1
- Type
- Contract · 33,823 bytes of code
Bytecode Not verified
No verified source for this contract.
0x6080604052600436106102c1575f3560e01c80638444353211610170578063db6b5246116100d1578063f160d36911610087578063f3fef3a311610062578063f3fef3a314610a51578063fc7b185314610a70578063fec04c2314610a8f575f5ffd5b8063f160d369146109f4578063f2fde38b14610a13578063f3e3480414610a32575f5ffd5b8063e1f57e0c116100b7578063e1f57e0c1461095e578063e33fd6dc1461097f578063ef50a88f146109d5575f5ffd5b8063db6b524614610937578063dbc913961461093f575f5ffd5b806393dcd02111610126578063b7ded0231161010c578063b7ded02314610812578063c2531e8614610856578063c2cf1efd146108b9575f5ffd5b806393dcd021146107c4578063a8cb3794146107e3575f5ffd5b80638da5cb5b116101565780638da5cb5b1461075657806391a775b7146107925780639362798d146107a5575f5ffd5b806384443532146106e7578063850618da14610737575f5ffd5b806347e7ef2411610225578063605e0222116101db578063782c0c1e116101b6578063782c0c1e1461068c5780637ae5eb33146106b557806380054449146106d4575f5ffd5b8063605e02221461061c578063715018a61461063b57806378135d521461064f575f5ffd5b80634f1ce9a71161020b5780634f1ce9a7146105a35780634f2694cf146105cf578063605ae009146105fd575f5ffd5b806347e7ef24146105715780634e97837314610590575f5ffd5b80632d1590a01161027a57806333407b601161026057806333407b601461042a578063389e54b814610449578063423771071461045d575f5ffd5b80632d1590a01461039e5780632f2461cd1461040b575f5ffd5b806318a702d8116102aa57806318a702d81461032c5780631c7927791461034d578063210282601461037f575f5ffd5b80630765910c146102c5578063117d412814610300575b5f5ffd5b3480156102d0575f5ffd5b506102d9610aae565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b34801561030b575f5ffd5b5061031f61031a36600461790d565b610b46565b6040516102f791906179a5565b348015610337575f5ffd5b5061034b6103463660046179b4565b610c92565b005b61036061035b366004617a38565b610d4e565b6040805192151583526001600160801b039091166020830152016102f7565b34801561038a575f5ffd5b5061034b610399366004617ace565b610e03565b3480156103a9575f5ffd5b507f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0d547f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0e54604080519283526001600160401b039091166020830152016102f7565b348015610416575f5ffd5b5061034b610425366004617b2e565b610ecc565b348015610435575f5ffd5b5061034b610444366004617b6c565b611032565b348015610454575f5ffd5b5061034b611325565b348015610468575f5ffd5b505f5160206183ca5f395f51905f52547f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a01547f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a08547f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a07545f5160206183aa5f395f51905f52547fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a01547fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a0254604080516001600160a01b039889168152979096166020880152948601939093526060850191909152608084015260a083015260c082015260e0016102f7565b34801561057c575f5ffd5b5061034b61058b366004617b94565b6113ba565b61036061059e366004617a38565b61142b565b3480156105ae575f5ffd5b506105c26105bd366004617bae565b6114f3565b6040516102f79190617be1565b3480156105da575f5ffd5b506105ee6105e9366004617c38565b6117a2565b6040516102f793929190617c73565b348015610608575f5ffd5b5061034b610617366004617cdb565b611a61565b348015610627575f5ffd5b5061034b610636366004617b94565b611b20565b348015610646575f5ffd5b5061034b611bf9565b34801561065a575f5ffd5b507f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0a545b6040519081526020016102f7565b348015610697575f5ffd5b506106a0611c0c565b604080519283526020830191909152016102f7565b3480156106c0575f5ffd5b5061067e6106cf366004617d2d565b611ceb565b6103606106e2366004617d4d565b611d19565b3480156106f2575f5ffd5b507f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a10546001600160a01b03165b6040516001600160a01b0390911681526020016102f7565b348015610742575f5ffd5b5061034b610751366004617ef7565b611e3a565b348015610761575f5ffd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031661071f565b61034b6107a0366004617ace565b612236565b3480156107b0575f5ffd5b5061067e6107bf366004617fa6565b6122a5565b3480156107cf575f5ffd5b5061067e6107de366004617fd8565b61242d565b3480156107ee575f5ffd5b506108026107fd366004618000565b61247f565b60405190151581526020016102f7565b34801561081d575f5ffd5b5061083161082c366004618045565b61248b565b604080516001600160a01b0390941684526020840192909252908201526060016102f7565b348015610861575f5ffd5b5061067e610870366004617fd8565b6001600160a01b039182165f9081527f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a066020908152604080832093909416825291909152205490565b3480156108c4575f5ffd5b506040805180820182525f80825260209182015281518083019092527f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0b5482527f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0c54908201526040516102f7919061809a565b61034b612508565b34801561094a575f5ffd5b5061034b61095936600461790d565b612574565b348015610969575f5ffd5b506109726126d1565b6040516102f791906180b1565b34801561098a575f5ffd5b50610802610999366004617ace565b6001600160a01b03165f9081527f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0f602052604090205460ff1690565b3480156109e0575f5ffd5b5061034b6109ef3660046180f1565b6128db565b3480156109ff575f5ffd5b5061034b610a0e366004617ace565b612970565b348015610a1e575f5ffd5b5061034b610a2d366004617ace565b612a87565b348015610a3d575f5ffd5b5061067e610a4c366004617fd8565b612ada565b348015610a5c575f5ffd5b5061034b610a6b366004617b94565b612b6b565b348015610a7b575f5ffd5b5061034b610a8a366004618102565b612ba7565b348015610a9a575f5ffd5b5061034b610aa936600461811d565b612c1a565b610acf60405180606001604052805f81526020015f81526020015f81525090565b610ad7612d0d565b50604080516060810182525f5160206183aa5f395f51905f525481527fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a015460208201527fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a02549181019190915290565b60408051610100810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810191909152610b8e612d0d565b604082811c6001600160401b03165f8181527fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a046020529190912080545f5160206183aa5f395f51905f529291906001600160801b03808716911614610c0657604051638080c2ed60e01b815260040160405180910390fd5b604080516101008101825282546001600160801b038116825260ff600160801b909104161515602082015260018301546001600160a01b038116928201929092526001600160401b03600160a01b9092048216606082015260028301546080820152600383015460a0820152600483015460c08201526005909201541660e0820152925050505b919050565b610c9a612d66565b80355f5160206183aa5f395f51905f5290815560208201357fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a015560408201357fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a0255610d0481612dda565b604080518335815260208085013590820152838201358183015290517f398f7a2174a55ac12abaac475b707d39f9d5c54f68d459438912f38ed1a3042c9181900360600190a15050565b5f5f610d58612ee2565b610de86040518061012001604052808d151581526020018c6001600160401b031681526020018b81526020018a8152602001896001600160401b03168152602001886003811115610dab57610dab618134565b8152602001876001811115610dc257610dc2618134565b8152602001866001600160a01b03168152602001856001600160601b0316815250612f17565b915091505b610df56131d2565b995099975050505050505050565b610e0b612d66565b6001600160a01b038116610e4b576040517f6e11666500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a1080546001600160a01b031981166001600160a01b038481169182179093556040515f5160206183ca5f395f51905f52939092169182907fec8420e5675bd0cd4695353f300023930c27da95f9064ad2a879739da30c810b905f90a3505050565b610ed4612ee2565b5f5160206183aa5f395f51905f526001600160401b03633b9aca004202165f5b83811015611023575f858583818110610f0f57610f0f618148565b9050602002016020810190610f24919061790d565b90505f604082901c6001600160401b03166001600160401b0381165f90815260048701602052604090208054919250906001600160801b03848116911614610f6e5750505061101b565b60058101546001600160401b03168511610f8a5750505061101b565b604080516101008101825282546001600160801b0381168252600160801b900460ff161515602082015260018301546001600160a01b03811692820192909252600160a01b9091046001600160401b03908116606083015260028301546080830152600383015460a0830152600483015460c083015260058301541660e08201526110169083906131fc565b505050505b600101610ef4565b50505061102e6131d2565b5050565b61103a612ee2565b604082811c6001600160401b03165f8181527fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a046020529190912060018101545f5160206183aa5f395f51905f5292919033906001600160a01b03168082146110cd5760405163f5e39c1f60e01b81526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b505080546001600160801b038681169116146110fc57604051638080c2ed60e01b815260040160405180910390fd5b60058101546001600160401b031642633b9aca00026001600160401b031611158590611160576040517fd4ec90060000000000000000000000000000000000000000000000000000000081526001600160801b0390911660048201526024016110c4565b5060018301548490808210156111925760405163eaa68ceb60e01b8152600481019290925260248201526044016110c4565b505060028301546111a39085618170565b60028401548591156111d157604051634f174b2960e01b8152600481019290925260248201526044016110c4565b5050600481015484908082111561120457604051634f174b2960e01b8152600481019290925260248201526044016110c4565b50505f8482600401546112179190618197565b905080826003015f82825461122c9190618197565b9250508190555080826004015f8282546112469190618197565b9091555050604080516101008101825283546001600160801b0381168252600160801b900460ff161515602082015260018401546001600160a01b03811692820192909252600160a01b9091046001600160401b03908116606083015260028401546080830152600384015460a0830152600484015460c083015260058401541660e08201526112d690826132e2565b856001600160801b03167ff6871493c13434b4a7fa02b5540fb6188e8db3f63e6b7013db073e9535b5a8608660405161131191815260200190565b60405180910390a25050505061102e6131d2565b61132d612d66565b5f7f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0d8190557f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0e805467ffffffffffffffff191690556040515f5160206183ca5f395f51905f52917fd1bde9d764947194ba98cbb30000972dcf8b2d5794a5434b33733c8700bdbb7191a150565b6113c2612ee2565b7328f34defd2b4cb48d9ee6d89f2be4bc601694c006001600160a01b03831603611418576040517f890a606200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611423338383613474565b61102e6131d2565b5f5f611435612ee2565b6114d4604051806101400160405280336001600160a01b031681526020018d151581526020018c6001600160401b031681526020018b81526020018a8152602001896001600160401b0316815260200188600381111561149757611497618134565b81526020018760018111156114ae576114ae618134565b8152602001866001600160a01b03168152602001856001600160601b03168152506134b8565b9092509050811580156114e657503415155b15610ded57610ded613aa4565b60606114fd612d0d565b5f5160206183aa5f395f51905f525f841561151c575060058101611522565b50600b81015b5f846001600160401b03166001600160401b0381111561154457611544617df5565b60405190808252806020026020018201604052801561158857816020015b604080518082019091525f80825260208201528152602001906001900390816115625790505b5090505f8042633b9aca00026001600160401b031690505f6115b485600101546001600160401b031690565b90505b6001600160401b038116156116c7576001600160401b038082165f908152600488016020526040902060058101549091168311156115f557506116b6565b83158061162c575060028101548561160e600187618197565b8151811061161e5761161e618148565b60200260200101515f015114155b1561167857886001600160401b0316840361164757506116c7565b806002015485858151811061165e5761165e618148565b6020908102919091010151526116756001856181aa565b93505b600481015485611689600187618197565b8151811061169957611699618148565b60200260200101516020018181516116b191906181aa565b905250505b6116c08582613aba565b90506115b7565b50866001600160401b031682036116e557829550505050505061179c565b5f826001600160401b038111156116fe576116fe617df5565b60405190808252806020026020018201604052801561174257816020015b604080518082019091525f808252602082015281526020019060019003908161171c5790505b5090505f5b8381101561178e5784818151811061176157611761618148565b602002602001015182828151811061177b5761177b618148565b6020908102919091010152600101611747565b50955061179c945050505050565b92915050565b60605f5f6117ae612d0d565b5f5160206183aa5f395f51905f5233156117f3576040517eb2686300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f871561180457506005810161180a565b50600b81015b856001600160401b03165f0361182b5760018101546001600160401b031695505b5f866001600160401b03633b9aca004202165b6001600160401b0382161515801561185557508983105b156118a9576001600160401b038083165f908152600487016020526040902060058101549091168211156118895750611898565b6118948460016181aa565b9350505b6118a28483613aba565b915061183e565b826001600160401b038111156118c1576118c1617df5565b60405190808252806020026020018201604052801561192e57816020015b60408051610100810182525f8082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e082015282525f199092019101816118df5790505b5097505f92508891505b6001600160401b0382161515801561194f57508983105b15611a43576001600160401b038083165f908152600487016020526040902060058101549091168211156119835750611a32565b604080516101008101825282546001600160801b0381168252600160801b900460ff161515602082015260018301546001600160a01b03811692820192909252600160a01b9091046001600160401b03908116606083015260028301546080830152600383015460a0830152600483015460c083015260058301541660e082015289518a9086908110611a1857611a18618148565b6020908102919091010152611a2e8460016181aa565b9350505b611a3c8483613aba565b9150611938565b5095996001600160401b038716151599509597509495505050505050565b611a69612d66565b5f5160206183aa5f395f51905f525f5b83811015611b19575f858583818110611a9457611a94618148565b9050602002016020810190611aa99190617ace565b6001600160a01b0381165f81815260038601602052604090819020805488151560ff1990911617905551919250907fe7faf35453f298b6a9532f9ec4839fe826111c39a635574f6aa40d6f20a83b0190611b0890871515815260200190565b60405180910390a250600101611a79565b5050505050565b6001600160a01b038216611b4757604051636d10926b60e01b815260040160405180910390fd5b7f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0a545f5160206183ca5f395f51905f5290821115611b9857604051631eab3d0160e31b815260040160405180910390fd5b335f81815260068301602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f4cf5e8fadb7b3ba42f2bdb90c5f286dbc66c42bc1c3d46ca5e21af9583c47045910160405180910390a3505050565b611c01612d66565b611c0a5f613ae3565b565b5f5f611c16612d0d565b335f9081527fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a1260205260409020545f5160206183aa5f395f51905f52905f5160206183ca5f395f51905f52906001600160401b03165b6001600160401b03811615611ce4576001600160401b0381165f908152600483016020526040902080546001600160801b0316611cab57611cab6181bd565b6001810154611cba90876181aa565b9550806002015485611ccc91906181aa565b9450611cdd90506011840182613aba565b9050611c6c565b5050509091565b5f5f5160206183ca5f395f51905f52611d11611d0784866181d1565b8260020154613b53565b949350505050565b5f5f611d23612ee2565b335f9081527fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a03602052604090205460ff1680611d6c5750611d6c8c33638005444960e01b61247f565b611da2576040517f3fb0ba2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611e046040518061014001604052808e6001600160a01b031681526020018d151581526020018c6001600160401b031681526020018b81526020018a8152602001896001600160401b0316815260200188600381111561149757611497618134565b909250905081158015611e1657503415155b15611e2357611e23613aa4565b611e2b6131d2565b9a509a98505050505050505050565b5f611e43613b8d565b805490915060ff600160401b82041615906001600160401b03165f81158015611e695750825b90505f826001600160401b03166001148015611e845750303b155b905081158015611e92575080155b15611ec9576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611ef857845468ff00000000000000001916600160401b1785555b5f5160206183ca5f395f51905f5280546001600160a01b03199081166001600160a01b038d811691821784557f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a018054909316908d16179091557328f34defd2b4cb48d9ee6d89f2be4bc601694c0014611fdb578a6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fa7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fcb91906181e8565b611fd690600a6182eb565b611fe5565b670de0b6b3a76400005b60028201557328f34defd2b4cb48d9ee6d89f2be4bc601694c006001600160a01b038b161461207e57896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061206e91906181e8565b61207990600a6182eb565b612088565b670de0b6b3a76400005b6003820155612097888d613bb5565b5f6120a66127106103e86181d1565b9050808a5f015111156120cc5760405163cd4e616760e01b815260040160405180910390fd5b808a6020015111156120f15760405163cd4e616760e01b815260040160405180910390fd5b60408a01516001600160a01b031661211c57604051630ed1b8b360e31b815260040160405180910390fd5b808a606001518b6020015161213191906181aa565b111561215057604051631eab3d0160e31b815260040160405180910390fd5b60608a01518a518291612162916181aa565b111561218157604051631eab3d0160e31b815260040160405180910390fd5b8951600783015560208a0151600883015560408a01516009830180546001600160a01b0319166001600160a01b0390921691909117905560608a0151600a8301556121cb88613c38565b508651600b8201556020870151600c90910155831561222957845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b61223e612ee2565b5f341161225e5760405163162908e360e11b815260040160405180910390fd5b61227b7328f34defd2b4cb48d9ee6d89f2be4bc601694c00613ccd565b61229a817328f34defd2b4cb48d9ee6d89f2be4bc601694c0034613cd6565b6122a26131d2565b50565b5f6122ae612ee2565b5f5160206183aa5f395f51905f525f856122cb5781600b016122d0565b816005015b60018101549091506001600160401b03633b9aca004202811691165b6001600160401b0381161515801561230357508585105b1561241a576001600160401b0381165f908152600485016020526040902088612332578781600201541161233a565b878160020154105b15612345575061241a565b878160020154146123625761235a8483613aba565b9150506122ec565b60058101546001600160401b031683116123805761235a8483613aba565b604080516101008101825282546001600160801b0381168252600160801b900460ff161515602082015260018301546001600160a01b03811692820192909252600160a01b9091046001600160401b03908116606083015260028301546080830152600383015460a0830152600483015460c083015260058301541660e082015261240c9083906131fc565b9150856001019550506122ec565b505050506124266131d2565b9392505050565b5f612436612d0d565b6001600160a01b038084165f9081527f0b0d4b87c1ed72ae1250d436ae16f7cc925be6d1249d8addb981f8ce5688c0006020908152604080832093861683529290522054612426565b5f611d11848484613d36565b5f5f5f61249a87878787613e19565b6001600160a01b038a81165f9081527f0b0d4b87c1ed72ae1250d436ae16f7cc925be6d1249d8addb981f8ce5688c000602090815260408083209386168352929052205491945092508083116124f0575f6124fa565b6124fa8184618197565b915050955095509592505050565b612510612ee2565b5f34116125305760405163162908e360e11b815260040160405180910390fd5b61254d7328f34defd2b4cb48d9ee6d89f2be4bc601694c00613ccd565b61256c337328f34defd2b4cb48d9ee6d89f2be4bc601694c0034613cd6565b611c0a6131d2565b61257c612ee2565b604081811c6001600160401b03165f8181527fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a046020529190912060018101545f5160206183aa5f395f51905f5292919033906001600160a01b031680821461260a5760405163f5e39c1f60e01b81526001600160a01b039283166004820152911660248201526044016110c4565b505080546001600160801b0385811691161461263957604051638080c2ed60e01b815260040160405180910390fd5b604080516101008101825282546001600160801b0381168252600160801b900460ff161515602082015260018301546001600160a01b03811692820192909252600160a01b9091046001600160401b03908116606083015260028301546080830152600383015460a0830152600483015460c083015260058301541660e08201526126c59083906131fc565b505050506122a26131d2565b60606126db612d0d565b335f8181527fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a1260205260408120545f5160206183aa5f395f51905f5292916001600160401b03633b9aca004202811692165b6001600160401b038116156127ab576001600160401b0381165f908152600486016020526040902060018101546001600160a01b03868116911614612774576127746181bd565b60058101546001600160401b03168411612796576127936001846181aa565b92505b506127a46011860182613aba565b905061272d565b505f816001600160401b038111156127c5576127c5617df5565b6040519080825280602002602001820160405280156127ee578160200160208202803683370190505b506001600160a01b0385165f9081526012870160205260408120549093509091506001600160401b03165b6001600160401b038116156128d1576001600160401b0381165f908152600487016020526040902060018101546001600160a01b03878116911614612860576128606181bd565b60058101546001600160401b031685116128bc57805483516001600160801b039091169084908690811061289657612896618148565b6001600160801b03909216602092830291909101909101526128b96001856181aa565b93505b506128ca6011870182613aba565b9050612819565b5094505050505090565b6128e3612d66565b6128fa6128f5368390038301836182f9565b613c38565b80357f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0b5560208101357f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0c556040517ff46ac7a0fbbc6891e7cd2053888eda2fddec5f8910f5a705d86992baad12533e905f90a150565b7f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a09545f5160206183ca5f395f51905f52906001600160a01b03163381146129ca57604051630ed1b8b360e31b815260040160405180910390fd5b6001600160a01b0383166129f157604051630ed1b8b360e31b815260040160405180910390fd5b826001600160a01b0316816001600160a01b031603612a2357604051630ed1b8b360e31b815260040160405180910390fd5b826001600160a01b0316816001600160a01b03167faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d360405160405180910390a35060090180546001600160a01b0319166001600160a01b0392909216919091179055565b612a8f612d66565b6001600160a01b038116612ad1576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024016110c4565b6122a281613ae3565b6001600160a01b038281165f9081527f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a06602090815260408083209385168352929052908120547f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0a545f5160206183ca5f395f51905f529190808210612b5f5780612b61565b815b9695505050505050565b612b73612ee2565b5f8111612b935760405163162908e360e11b815260040160405180910390fd5b612b9c82613ccd565b611423338383613f14565b335f8181527f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0f6020908152604091829020805460ff191685151590811790915591519182527f7b7ce1bc7bf80870c9a0ed2000e6cd86cceb99618506cc32e86c30daf8af9b1f910160405180910390a250565b612c22612d66565b5f5160206183ca5f395f51905f525f612c3f6127106103e86181d1565b905080831115612c6257604051631eab3d0160e31b815260040160405180910390fd5b60088201548190612c749085906181aa565b1115612c9357604051631eab3d0160e31b815260040160405180910390fd5b60078201548190612ca59085906181aa565b1115612cc457604051631eab3d0160e31b815260040160405180910390fd5b600a820180549084905560408051828152602081018690527fe0500bac95300d4f20ea053b47cb470ec82d16538e04c61abf09506d566f510d910160405180910390a150505050565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c15611c0a576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33612d987f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614611c0a576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016110c4565b80600101545f03612e17576040517fe4c236aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80545f03612e51576040517f747a60fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600201545f03612e8e576040517f96a6cd0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600201548160010154612ea29190618170565b15612ed9576040517fe94c2d7c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122a281613f2a565b612eea612d0d565b611c0a60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005b90613fa4565b5f8060028360a001516003811115612f3157612f31618134565b1480612f52575060018360a001516003811115612f5057612f50618134565b145b612f88576040517f688c176f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5160206183ca5f395f51905f528054335f9081527f0b0d4b87c1ed72ae1250d436ae16f7cc925be6d1249d8addb981f8ce5688c000602090815260408083206001600160a01b039485168452909152808220547f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a01549093168252908190205486519187015160608801516101008901519293613029939092919087613fab565b34156130ba5785511561307c5760018301546001600160a01b03167328f34defd2b4cb48d9ee6d89f2be4bc601694c001461307757604051631bba003f60e21b815260040160405180910390fd5b6130ba565b82546001600160a01b03167328f34defd2b4cb48d9ee6d89f2be4bc601694c00146130ba57604051631bba003f60e21b815260040160405180910390fd5b60015f805c60ff19168217905d506130d186614088565b90955093505f60ff19815c16815d508254335f9081527f0b0d4b87c1ed72ae1250d436ae16f7cc925be6d1249d8addb981f8ce5688c000602090815260408083206001600160a01b03909416835292905290812054613131908490618197565b6001850154335f9081527f0b0d4b87c1ed72ae1250d436ae16f7cc925be6d1249d8addb981f8ce5688c000602090815260408083206001600160a01b0390941683529290529081205491925090613189908490618197565b905081156131a85784546131a89033906001600160a01b031684613f14565b80156131c85760018501546131c89033906001600160a01b031683613f14565b5050505050915091565b611c0a5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00612f11565b60208101515f905f5160206183aa5f395f51905f52901561322b576132246005820185614157565b915061323b565b613238600b820185614157565b91505b61324584846142b7565b60e08301516001600160401b031642633b9aca00026001600160401b031611156132a45782516040516001600160801b03909116907f6003d149bc2c6baa0780d4302ad5f925fef5715780d3b6f7d2da5476548da101905f90a26132db565b82516040516001600160801b03909116907f06ff08ed6b6987bb7df963009d8b54dc03988f4e465c009924929bb010fe03e7905f90a25b5092915050565b81516001600160401b03604091821c165f8181527f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0460205291909120835181545f5160206183ca5f395f51905f529392916001600160801b0391821691161461334d5761334d6181bd565b600381015460088401545f9161337491600160a01b9091046001600160601b0316906181aa565b9050856020015115613403575f61338f868860800151614362565b905061339b8183614388565b6133a590826181aa565b905080836002015f8282546133ba9190618197565b9091555050604087015160018601546133dd91906001600160a01b03168361439f565b604087015160018601546133fd919085906001600160a01b0316846143aa565b5061346c565b8461340e8183614388565b61341890826181aa565b905080836001015f82825461342d9190618197565b90915550506040870151855461344d91906001600160a01b03168361439f565b6040870151855461346a919085906001600160a01b0316846143aa565b505b505050505050565b5f81116134945760405163162908e360e11b815260040160405180910390fd5b61349d82613ccd565b6134a8838284614420565b6134b3838383613cd6565b505050565b7fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a015460808201515f9182915f5160206183aa5f395f51905f52918082101561351c5760405163eaa68ceb60e01b8152600481019290925260248201526044016110c4565b5050606084015181548161354c5760405163af608abb60e01b8152600481019290925260248201526044016110c4565b50508054606085015161355f9190618170565b6060850151825490911561358f5760405163af608abb60e01b8152600481019290925260248201526044016110c4565b5050600281015460808501516135a59190618170565b608085015160028301549091156135d857604051634f174b2960e01b8152600481019290925260248201526044016110c4565b505042633b9aca00026001600160401b03168460a001516001600160401b0316101561360957505f93849350915050565b835161361490614485565b5f5f61361e61466a565b915091505f604051806101000160405280836001600160801b03168152602001886020015115158152602001885f01516001600160a01b0316815260200188604001516001600160401b031681526020018860600151815260200188608001518152602001886080015181526020018860a001516001600160401b031681525090506136b0818860e001516001614706565b6136cb576136bd83614b70565b505f96879650945050505050565b60038760c0015160038111156136e3576136e3618134565b1480156136f857508060a001518160c0015114155b15613706576136bd83614b70565b60018760c00151600381111561371e5761371e618134565b14801561372e575060c081015115155b1561373c576136bd83614b70565b60028760c00151600381111561375457613754618134565b14801561376857508060a001518160c00151145b15613776576136bd83614b70565b60c08101805160a0830151909152604082015161379890601187019086614b9b565b6137d28260028a60c0015160038111156137b4576137b4618134565b146137bf57826137c1565b5f5b8a61010001518b6101200151614c73565b6137e1828960e001515f614706565b50808260c001511015613820576040517fc52bc69200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018860c00151600381111561383857613838618134565b148015613848575060c082015115155b1561387f576040517fc04ad91900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f01516001600160801b03167fd90f62f61ee2f606b132cfdfd883ddd079228b6fd6bffd9d7cf848daf824639d836040516138bb91906179a5565b60405180910390a260c082015115806138e9575060028860c0015160038111156138e7576138e7618134565b145b15613908576138f884836142b7565b5051600197909650945050505050565b8160c001515f03613945576040517fc3915b4000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160401b038085165f9081526004808801602090815260409283902086518154838901511515600160801b0270ffffffffffffffffffffffffffffffffff199091166001600160801b03909216919091171781559286015160018401805460608901518716600160a01b026001600160e01b03199091166001600160a01b03909316929092179190911790556080860151600284015560a0860151600384015560c08601519183019190915560e0850151600590920180549290931667ffffffffffffffff199092169190911790915588015115613a4557613a40613a3589602001518a60600151615114565b600587019086615168565b613a65565b613a65613a5a89602001518a60600151615114565b600b87019086615168565b81516040516001600160801b03909116907fcdd45acd62788abc10f79d86fac34df2a63e1a3b20f061c5bcf431ff6a09b866905f90a26138f882615312565b345f819003613ab05750565b6122a2338261531a565b6001600160401b038082165f908152602084905260408120549091600160401b90910416612426565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b5f825f03613b6c57613b658284618313565b905061179c565b81613b78600185618197565b613b829190618313565b6124269060016181aa565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061179c565b613bbd615380565b613bc6816153be565b613bce6153cf565b81515f5160206183aa5f395f51905f5290815560208301517fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a015560408301517fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a02556134b381612dda565b8051613c5757604051630d8879b960e41b815260040160405180910390fd5b8051620151801015613c7c57604051630d8879b960e41b815260040160405180910390fd5b5f816020015111613ca057604051630d8879b960e41b815260040160405180910390fd5b670de0b6b3a7640000816020015111156122a257604051630d8879b960e41b815260040160405180910390fd5b6122a28161542c565b6001600160a01b038381165f9081527f0b0d4b87c1ed72ae1250d436ae16f7cc925be6d1249d8addb981f8ce5688c0006020818152604080842094871684529390529181208054849290613d2b9084906181aa565b909155505050505050565b7f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a10545f906001600160a01b031680613d71575f915050612426565b6040517fccb0797d0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015285811660248301526001600160e01b03198516604483015230606483015282169063ccb0797d90608401602060405180830381865afa158015613dec573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613e109190618326565b95945050505050565b7f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a07545f9081905f5160206183ca5f395f51905f52908290613e64906001600160601b038716906181aa565b90505f856001600160601b03168360070160010154613e8391906181aa565b90505f818311613e935781613e95565b825b90508915613ee35760018401546001600160a01b031695505f613ec5613ebb8b8b6181d1565b8660020154613b53565b9050613ed1818361549a565b613edb90826181aa565b955050613f07565b83546001600160a01b03169550613efa888261549a565b613f0490896181aa565b94505b5050505094509492505050565b613f1f8383836154b1565b6134b3838284615558565b7f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0254815460028301545f5160206183ca5f395f51905f529291613f6c916181d1565b101561102e576040517fe967701d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80825d5050565b60078101545f90613fc6906001600160601b038516906181aa565b905085156140395760018201546001600160a01b03167328f34defd2b4cb48d9ee6d89f2be4bc601694c00810361400757614002338234613474565b6133fd565b5f6140128688611ceb565b90506140323383614023848761549a565b61402d90856181aa565b613474565b505061346c565b81546001600160a01b03167328f34defd2b4cb48d9ee6d89f2be4bc601694c00810361406f5761406a338234613474565b61346a565b61346a338261407e888661549a565b61402d90896181aa565b5f5f61414d604051806101400160405280336001600160a01b03168152602001855f01511515815260200185602001516001600160401b03168152602001856040015181526020018560600151815260200185608001516001600160401b031681526020018560a00151600381111561410357614103618134565b81526020018560c00151600181111561411e5761411e618134565b81526020018560e001516001600160a01b031681526020018561010001516001600160601b03168152506134b8565b9094909350915050565b6001600160401b038181165f81815260058501602052604081208054908290556001860154919390929116036141c0576001600160401b038381165f9081526020869052604090205460018601805467ffffffffffffffff1916600160401b9092049092161790555b5f8181526004850160205260409020546001600160401b038481169116036142ac576001600160401b038381165f908152602086905260409020541680614231575f8281526004860160205260409020805467ffffffffffffffff1916905561422c6002860183615619565b6142aa565b6001600160401b0381165f908152600586016020526040902054820361427f575f8281526004860160205260409020805467ffffffffffffffff19166001600160401b0383161790556142aa565b5f8281526004860160205260409020805467ffffffffffffffff191690556142aa6002860183615619565b505b5f613e108585615834565b5f5160206183aa5f395f51905f526142ce8261597d565b60408201516142e290601183019085615aa9565b614359836001600160401b03165f9081527fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a0460205260408120805470ffffffffffffffffffffffffffffffffff191681556001810180546001600160e01b0319169055600281018290556003810182905560040155565b6134b383614b70565b5f5f5160206183ca5f395f51905f52611d1161437e84866181d1565b8260020154615b1e565b5f61242661439684846181d1565b62989680615b1e565b6134b3838383615b29565b801561441a57600483015460ff161561441a576143c8848383615b35565b61441a57816001600160a01b0316846001600160a01b03167fa6fbbe47b5e6bc19e27bfd1b0eda75bde21982ebbac4321d329a674073a80c718360405161441191815260200190565b60405180910390a35b50505050565b7328f34defd2b4cb48d9ee6d89f2be4bc601694c006001600160a01b0382160361447057348280821015611b195760405163cf47918160e01b8152600481019290925260248201526044016110c4565b6134b36001600160a01b038216843085615b5e565b6001600160a01b0381165f9081527fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a1260205260409020545f5160206183aa5f395f51905f52906001600160401b03633b9aca004202811691165b6001600160401b0381161561441a576001600160401b0381165f908152600484016020526040902060018101546001600160a01b03868116911614614526576145266181bd565b805460058201546001600160801b03909116906001600160401b0316841161455e576145556011860184613aba565b925050506144df565b81548390600160801b900460ff16156145845761457e6005870182614157565b50614593565b614591600b870182614157565b505b6145a06011870185613aba565b604080516101008101825285546001600160801b0381168252600160801b900460ff161515602082015260018601546001600160a01b03811692820192909252600160a01b9091046001600160401b03908116606083015260028601546080830152600386015460a0830152600486015460c083015260058601541660e082015290945061462f9082906142b7565b6040516001600160801b038316907f6003d149bc2c6baa0780d4302ad5f925fef5715780d3b6f7d2da5476548da101905f90a25050506144df565b5f807f6b4e747361507250b44d3b72e052d20cbfe34dc25540d28551cd3547836014008161469782615b94565b6002830180549192506001600160401b03909116604083901b6fffffffffffffffff0000000000000000168117916001915f906146d5908490618341565b92506101000a8154816001600160401b0302191690836001600160401b031602179055508181945094505050509091565b5f805f5160206183aa5f395f51905f5290505f85602001511561472d5750600b8101614733565b50600581015b5f61474882600101546001600160401b031690565b90506001600160401b03633b9aca004202165b6001600160401b0382161515801561477657505f8860c00151115b15614b62576001600160401b038083165f908152600486016020526040902060058101549091168211156147b6576147ae8484613aba565b92505061475b565b6147c4818a60800151615c74565b6147ce5750614b62565b80600401545f0361480b576040517fb82df15500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015460408a01516001600160a01b0391821691160361493a57600188600181111561483b5761483b618134565b036148f7578615614857576148508484613aba565b92506148f1565b5f6148628585614157565b604080516101008101825284546001600160801b0381168252600160801b900460ff161515602082015260018501546001600160a01b03811692820192909252600160a01b9091046001600160401b03908116606083015260028501546080830152600385015460a0830152600485015460c083015260058501541660e08201529091506147ae9085906142b7565b5061475b565b5f88600181111561490a5761490a618134565b0361493a578661492d57604051633acc245d60e11b815260040160405180910390fd5b5f95505050505050612426565b8615801561494557505f5b614857575f61495c8a60c001518360040154615ca5565b90508761497c5780826004015f8282546149769190618197565b90915550505b808a60c00181815161498e9190618197565b90525087614a8157604080516101008101825283546001600160801b0381168252600160801b900460ff161515602082015260018401546001600160a01b03811692820192909252600160a01b9091046001600160401b03908116606083015260028401546080830152600384015460a0830152600484015460c083015260058401541660e0820152614a23908b9083615cbc565b81548a5160c08c015160048501546040805186815260208101939093528201526001600160801b0392831692909116907fb4ff642ab211f5792800588f882613157c6c0cabc979c5a7558953f87c8499409060600160405180910390a35b81600401545f03614b4f578715614aab57604051633acc245d60e11b815260040160405180910390fd5b5f614ab68686614157565b604080516101008101825285546001600160801b0381168252600160801b900460ff161515602082015260018601546001600160a01b03811692820192909252600160a01b9091046001600160401b03908116606083015260028601546080830152600386015460a0830152600486015460c083015260058601541660e0820152909150614b459086906142b7565b935061475b915050565b614b598585613aba565b9350505061475b565b506001979650505050505050565b7f6b4e747361507250b44d3b72e052d20cbfe34dc25540d28551cd35478360140061102e8183615fa8565b6001600160401b038116614bc25760405163e042deb360e01b815260040160405180910390fd5b6001600160a01b0382165f9081526001840160205260409020546001600160401b031680614c2957506001600160a01b039091165f9081526001909201602052604090912080546001600160401b0390921667ffffffffffffffff19909216919091179055565b614c34848284616028565b506001600160a01b039091165f9081526001909201602052604090912080546001600160401b0390921667ffffffffffffffff19909216919091179055565b5f5160206183ca5f395f51905f525f805c60ff16158015614c9c5750614c9c86604001516161b0565b90505f8115614dec575f5f614cbf89602001518a608001518b60a0015189613e19565b915091505f614d168a60400151846001600160a01b039182165f9081527f0b0d4b87c1ed72ae1250d436ae16f7cc925be6d1249d8addb981f8ce5688c0006020908152604080832093909416825291909152205490565b90505f818311614d26575f614d30565b614d308284618197565b90507328f34defd2b4cb48d9ee6d89f2be4bc601694c006001600160a01b03851603614daf57803481811015614d9b576040517f1f89f671000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016110c4565b50614da890508134618197565b9450614dce565b3415614dce57604051631bba003f60e21b815260040160405180910390fd5b8015614de357614de38b604001518583613474565b50505050614e14565b60ff5f5c16614e14573415614e1457604051631bba003f60e21b815260040160405180910390fd5b6001600160a01b038516614e4f576001600160601b03841615614e4a57604051636d10926b60e01b815260040160405180910390fd5b614f62565b600a8301545f03614e8c576040517f41ec099f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a8301546001600160601b0385161115614eba57604051631eab3d0160e31b815260040160405180910390fd5b6040808801516001600160a01b039081165f908152600686016020908152838220928916825291909152205480614f1d576040517f0c9a721000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80856001600160601b03161115614f60576040517f528c953f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b86516001600160401b03604091821c165f8181526004860160205291909120546001600160801b031615614f9857614f986181bd565b6001600160401b0381165f9081526004850160205260409020885181546fffffffffffffffffffffffffffffffff19166001600160801b03909116178155600181015415614fe857614fe86181bd565b600281015415614ffa57614ffa6181bd565b6001600160601b038616600160a01b81026001600160a01b03891617600383015560048201805486151560ff1990911617905560088601545f9161503d916181aa565b90508960200151156150b5575f61505c8b60a001518c60800151611ceb565b9050891561508d575f6150738b8d60800151611ceb565b905061507f818461549a565b61508990836181aa565b9150505b60408b015160018801546150ab91906001600160a01b031683616220565b60028301556150f8565b60a08a015189156150d7576150ca8a8361549a565b6150d490826181aa565b90505b60408b015187546150f291906001600160a01b031683616220565b60018301555b831561510857615108338561531a565b50505050505050505050565b5f5f19821061514f576040517f57b0e21000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b821561515d5750801961179c565b613b658260016181aa565b815f036151a1576040517fecbc1d4700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160401b0381166151c85760405163e042deb360e01b815260040160405180910390fd5b6001600160401b0381165f90815260058401602052604090208290556151f16002840183616238565b1561524c575f8281526004840160205260409020546001600160401b031661521a848284616265565b505f91825260049290920160205260409020805467ffffffffffffffff19166001600160401b03909216919091179055565b61525960028401836163f7565b5f8281526004840160205260408120805467ffffffffffffffff19166001600160401b03841617905561528f6002850184616502565b9050805f036152ee5760018401546001600160401b0316156152c55760018401546152c59085906001600160401b031684616028565b50600192909201805467ffffffffffffffff19166001600160401b039093169290921790915550565b5f8181526004850160205260409020546001600160401b0316611b19858285616265565b6122a2616591565b61532482826168fe565b61102e576040518181527328f34defd2b4cb48d9ee6d89f2be4bc601694c00906001600160a01b038416907fa6fbbe47b5e6bc19e27bfd1b0eda75bde21982ebbac4321d329a674073a80c719060200160405180910390a35050565b615388616944565b611c0a576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6153c6615380565b6122a28161695d565b7f6b4e747361507250b44d3b72e052d20cbfe34dc25540d28551cd354783601402805467ffffffffffffffff191660011790557f6b4e747361507250b44d3b72e052d20cbfe34dc25540d28551cd3547836014006122a281616965565b5f5160206183ca5f395f51905f5280546001600160a01b0383811691161480615464575060018101546001600160a01b038381169116145b61102e576040517f734b5f7000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6124266154a884846181d1565b62989680613b53565b6001600160a01b038381165f9081527f0b0d4b87c1ed72ae1250d436ae16f7cc925be6d1249d8addb981f8ce5688c0006020818152604080842094871684529390529190205482808210156155225760405163cf47918160e01b8152600481019290925260248201526044016110c4565b50506001600160a01b038085165f9081526020838152604080832093871683529290529081208054849290613d2b908490618197565b7328f34defd2b4cb48d9ee6d89f2be4bc601694c006001600160a01b03821603615605575f836001600160a01b0316836040515f6040518083038185875af1925050503d805f81146155c5576040519150601f19603f3d011682016040523d82523d5f602084013e6155ca565b606091505b505090508061441a576040517f3022f2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6134b36001600160a01b03821684846169fc565b80615622575f5ffd5b61562c8282616238565b615634575f5ffd5b5f81815260018084016020526040822001548190158061566457505f838152600185016020526040902060020154155b156156705750816156b5565b505f8281526001840160205260409020600201545b5f818152600180860160205260409091200154156156b5575f908152600180850160205260409091200154615685565b5f818152600180860160205260409091200154156156e7575f81815260018086016020526040909120015491506156fd565b5f81815260018501602052604090206002015491505b5f8181526001850160205260408082205484835291208190558015615769575f818152600180870160205260409091200154820361574f575f818152600180870160205260409091200183905561576d565b5f818152600186016020526040902060020183905561576d565b8285555b5f82815260018601602052604090206003015460ff16158483146157f557615796868487616a31565b5f8581526001878101602052604080832080830154878552828520938401819055845281842087905560028082015490840181905584529083208690556003908101549286905201805460ff191660ff90921615159190911790559193915b8015615805576158058685616aa3565b50505f90815260019384016020526040812081815593840181905560028401555050600301805460ff19169055565b6001600160401b038082165f90815260208490526040812080549192909116156158d05780546001600160401b039081165f90815260208690526040902080549091858116600160401b90920416146158a057604051632e20710760e11b815260040160405180910390fd5b815481546fffffffffffffffff00000000000000001916600160401b918290046001600160401b03169091021790555b8054600160401b90046001600160401b03161561594d578054600160401b90046001600160401b039081165f9081526020869052604090208054909185811691161461592f57604051632e20710760e11b815260040160405180910390fd5b8154815467ffffffffffffffff19166001600160401b039091161790555b80546fffffffffffffffffffffffffffffffff198116909155600160401b90046001600160401b03169392505050565b80516001600160401b03604091821c165f8181527f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0460205291909120825181545f5160206183ca5f395f51905f529392916001600160801b039182169116146159e8576159e86181bd565b600281018054600180840180545f9485905590849055600385019390935583546fffffffffffffffffffffffffffffffff19168455604087015190860154919291615a3d91906001600160a01b03168461439f565b60408601518554615a5891906001600160a01b03168361439f565b60408601516001860154615a78919085906001600160a01b0316856143aa565b60408601518554615a95919085906001600160a01b0316846143aa565b60048301805460ff1916905561346c616591565b5f615ab48483615834565b6001600160a01b0384165f9081526001860160205260409020549091506001600160401b0383811691160361441a576001600160a01b0383165f908152600185016020526040902080546001600160401b03831667ffffffffffffffff1990911617905550505050565b5f6124268284618313565b6134b330848484616ea4565b5f615b418484846154b1565b615b4c848484616ec0565b90508061242657612426848484613cd6565b615b6c8484848460016170bd565b61441a57604051635274afe760e01b81526001600160a01b03851660048201526024016110c4565b80545f908103615be2576001808301546001600160401b031690615bb9908290618341565b600193909301805467ffffffffffffffff19166001600160401b03909416939093179092555090565b81545f908390615bf490600190618197565b81548110615c0457615c04618148565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b03169050825f01805480615c3f57615c3f618360565b5f8281526020902060045f199092019182040180546001600160401b03600860038516026101000a0219169055905592915050565b81545f90600160801b900460ff1615615c96578183600201541015905061179c565b8183600201541115905061179c565b5f81831015615cb557508161179c565b508061179c565b82516001600160401b03604091821c165f8181527f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0460205291909120845181545f5160206183ca5f395f51905f529392916001600160801b03918216911614615d38576040516338fd46f360e11b815260040160405180910390fd5b84516001600160401b03604091821c165f8181526004860160205291909120865181546001600160801b03908116911614615d86576040516338fd46f360e11b815260040160405180910390fd5b5f87608001519050615da4888389848a600701600101546001617143565b615db8898589848a6007015f01545f617143565b615dc68883898460016171d3565b615dd3898589845f6171d3565b5f615dde8883614362565b90508860200151615df3578960200151615dfa565b8960200151155b615e30576040517fdf6c8c3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b886020015115615e725780836002015f828254615e4d9190618197565b9250508190555087856001015f828254615e679190618197565b90915550615ea59050565b87836001015f828254615e859190618197565b9250508190555080856002015f828254615e9f9190618197565b90915550505b886020015115615f2a5760408a01516001880154615ecd91906001600160a01b03168361439f565b60408901518754615ee891906001600160a01b03168a61439f565b60408a01516001880154615f08919087906001600160a01b0316846143aa565b60408901518754615f25919085906001600160a01b03168b6143aa565b615fa0565b60408a01518754615f4591906001600160a01b03168a61439f565b60408901516001880154615f6391906001600160a01b03168361439f565b60408a01518754615f80919087906001600160a01b03168b6143aa565b60408901516001880154615fa0919085906001600160a01b0316846143aa565b615108616591565b6001600160401b038116615fe8576040517f8b0913f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81546001810183555f92835260209092206004830401805460039093166008026101000a6001600160401b03818102199094169290931692909202179055565b6001600160401b03811661604f57604051636c77841560e11b815260040160405180910390fd5b6001600160401b038082165f90815260208590526040902080549091161561608a57604051631e2e4bf160e11b815260040160405180910390fd5b8054600160401b90046001600160401b0316156160ba57604051631e2e4bf160e11b815260040160405180910390fd5b80546fffffffffffffffff00000000000000001916600160401b6001600160401b038581169182029290921783555f90815260208690526040902080549091161561618b5780546001600160401b039081165f90815260208790526040902080549091868116600160401b909204161461614757604051632e20710760e11b815260040160405180910390fd5b80546001600160401b03808616600160401b026fffffffffffffffff000000000000000019909216919091179091558154835467ffffffffffffffff191691161782555b805467ffffffffffffffff19166001600160401b039390931692909217909155505050565b6001600160a01b0381165f9081527f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0f602052604081205460ff16156161f657505f919050565b6001600160a01b038216330361620e57506001919050565b61179c8233638005444960e01b61247f565b805f0361622c57505050565b6134b383308484616ea4565b5f8115801590612426575082548214806124265750505f9081526001919091016020526040902054151590565b6001600160401b03811661628c57604051636c77841560e11b815260040160405180910390fd5b6001600160401b038082165f9081526020859052604090208054909116156162c757604051631e2e4bf160e11b815260040160405180910390fd5b8054600160401b90046001600160401b0316156162f757604051631e2e4bf160e11b815260040160405180910390fd5b805467ffffffffffffffff19166001600160401b0384811691821783555f9182526020869052604090912080549091600160401b90910416156163c3578054600160401b90046001600160401b039081165f9081526020879052604090208054909186811691161461637c57604051632e20710760e11b815260040160405180910390fd5b805467ffffffffffffffff19166001600160401b0385811691909117909155815483546fffffffffffffffff00000000000000001916600160401b91829004909216021782555b80546001600160401b03909316600160401b026fffffffffffffffff00000000000000001990931692909217909155505050565b80616400575f5ffd5b61640a8282616238565b15616413575f5ffd5b81545f905b80156164595780915080831015616441575f908152600180850160205260409091200154616418565b5f908152600184016020526040902060020154616418565b604080516080810182528381525f60208083018281528385018381526001606086018181528a86528b82019094529590932093518455519383019390935551600282015590516003909101805460ff1916911515919091179055816164c0578284556164f8565b818310156164e2575f82815260018086016020526040909120018390556164f8565b5f82815260018501602052604090206002018390555b61441a84846172ef565b5f8161650c575f5ffd5b5f82815260018085016020526040909120015415616542575f828152600180850160205260409091200154613b6590849061754b565b505f8181526001830160205260409020545b801580159061657457505f81815260018085016020526040909120015482145b1561179c575f818152600184016020526040902054909150616554565b5f5160206183aa5f395f51905f525f6165c97fd64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a05617585565b90506001600160401b0381166165dd575050565b5f6165ea83600b01617585565b90506001600160401b0381166165ff57505050565b6001600160401b038083165f908152600485016020526040808220600290810154938516835290822081015491906166378184618170565b616642600286618170565b61664c91906181aa565b6166569190618313565b616661600284618313565b61666c600286618313565b61667691906181aa565b61668091906181aa565b9050780197d4df19d605767337e9f14d3eec8920e4000000000000008111156166bf5750780197d4df19d605767337e9f14d3eec8920e4000000000000005b7f647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a0d545f5160206183ca5f395f51905f52905f0361678357600d8101829055600e8101805467ffffffffffffffff191642633b9aca00026001600160401b03161790556005810154821461346a5760058101829055805460408051848152602081018590526001600160a01b03909216917f2f0f7e3d58a217d311f516b216fa2f75081e17821bebb5f007fa57ff4e71f888910160405180910390a250505050505050565b600b810180545f036167f357816005015483146167e95760058201839055815460408051858152602081018690526001600160a01b03909216917f2f0f7e3d58a217d311f516b216fa2f75081e17821bebb5f007fa57ff4e71f888910160405180910390a25b5050505050505050565b80545f9061680590633b9aca006181d1565b600e8401549091505f90616828906001600160401b0316633b9aca004202618374565b6001600160401b031690505f61683e8383618313565b9050805f03616854575050505050505050505050565b5f6168688787600d01548760010154617606565b600e8701805467ffffffffffffffff191642633b9aca00026001600160401b0316179055600d8701819055600587015490915081146168f05760058601819055855460408051838152602081018a90526001600160a01b03909216917f2f0f7e3d58a217d311f516b216fa2f75081e17821bebb5f007fa57ff4e71f888910160405180910390a25b505050505050505050505050565b5f61691e837328f34defd2b4cb48d9ee6d89f2be4bc601694c0084616ec0565b90508061179c5761179c837328f34defd2b4cb48d9ee6d89f2be4bc601694c0084613cd6565b5f61694d613b8d565b54600160401b900460ff16919050565b612a8f615380565b80541561699e576040517f0781c98f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101546001600160401b0316156169e3576040517f916844b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001908101805467ffffffffffffffff19169091179055565b616a098383836001617691565b6134b357604051635274afe760e01b81526001600160a01b03841660048201526024016110c4565b5f81815260018401602052604080822054848352912081905580616a575782845561441a565b5f8181526001808601602052604090912001548203616a8a575f818152600180860160205260409091200183905561441a565b5f90815260019390930160205250604090912060020155565b5f5b82548214801590616ac957505f82815260018401602052604090206003015460ff16155b15616e86575f8281526001808501602052604080832054808452922001548303616cb9575f8181526001850160205260408082206002015480835291206003015490925060ff1615616b68575f828152600180860160205260408083206003908101805460ff19908116909155858552919093209092018054909216179055616b5284826176f3565b5f81815260018501602052604090206002015491505b5f8281526001808601602052604080832090910154825290206003015460ff16158015616bb157505f82815260018501602052604080822060020154825290206003015460ff16155b15616bdd575f82815260018581016020526040909120600301805460ff19169091179055915081616e80565b5f82815260018501602052604080822060020154825290206003015460ff16616c57575f828152600180860160205260408083208083015484529083206003908101805460ff1990811690915593869052018054909216179055616c4184836177c3565b5f81815260018501602052604090206002015491505b5f81815260018501602052604080822060039081018054868552838520808401805460ff909316151560ff199384161790558254821690925560029091015484529190922090910180549091169055616cb084826176f3565b83549250616e80565b5f818152600180860160205260408083209091015480835291206003015490925060ff1615616d35575f828152600180860160205260408083206003908101805460ff19908116909155858552919093209092018054909216179055616d1f84826177c3565b5f81815260018086016020526040909120015491505b5f82815260018501602052604080822060020154825290206003015460ff16158015616d7e57505f8281526001808601602052604080832090910154825290206003015460ff16155b15616daa575f82815260018581016020526040909120600301805460ff19169091179055915081616e80565b5f8281526001808601602052604080832090910154825290206003015460ff16616e26575f82815260018086016020526040808320600281015484529083206003908101805460ff1990811690915593869052018054909216179055616e1084836176f3565b5f81815260018086016020526040909120015491505b5f8181526001808601602052604080832060039081018054878652838620808401805460ff909316151560ff19938416179055825482169092559301548452922090910180549091169055616e7b84826177c3565b835492505b50616aa5565b505f908152600190910160205260409020600301805460ff19169055565b801561441a57616eb58483836154b1565b61441a838383613cd6565b5f7328f34defd2b4cb48d9ee6d89f2be4bc601694c006001600160a01b03841603616f7c575f5a9050616ef96216e36062200b206181aa565b8110158190616f1e5760405163782b256760e01b81526004016110c491815260200190565b506040516001600160a01b0386169062200b209085905f818181858888f193505050503d805f8114616f6b576040519150601f19603f3d011682016040523d82523d5f602084013e616f70565b606091505b50508092505050612426565b5f5a9050806216e360811015616fa85760405163782b256760e01b81526004016110c491815260200190565b50604080516001600160a01b038781166024830152604480830187905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b17905291515f928392908816916170199190618393565b5f604051808303815f865af19150503d805f8114617052576040519150601f19603f3d011682016040523d82523d5f602084013e617057565b606091505b50915091508161706c575f9350505050612426565b80515f0361708a57505050506001600160a01b0382163b1515612426565b805160201461709e575f9350505050612426565b808060200190518101906170b29190618326565b979650505050505050565b6040517f23b872dd000000000000000000000000000000000000000000000000000000005f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f51148316617132578383151615617126573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b5f5f5160206183ca5f395f51905f5290505f5f886020015115617190575f61716b8888614362565b90506171778187614388565b60018501546001600160a01b0316935091506171aa9050565b61719a8786614388565b83546001600160a01b0316925090505b60098301546171c8908a908a906001600160a01b0316858589617890565b505050505050505050565b60038401546001600160a01b0316806171ec5750611b19565b600385015460208701515f5160206183ca5f395f51905f5291600160a01b90046001600160601b0316905f90819015617258575f61722a8989614362565b905061723f81856001600160601b0316614388565b60018601546001600160a01b03169350915061727b9050565b61726b88846001600160601b0316614388565b84546001600160a01b0316925090505b6172898a8a8785858b617890565b816001600160a01b0316856001600160a01b03168b5f01516001600160801b03167fb603f98363ba2c49dc586ce0aa14affc3f62a5df0b81fa84c6bfb96ec4eccc93846040516172db91815260200190565b60405180910390a450505050505050505050565b5f5b8254821480159061731a57505f82815260018401602052604080822054825290206003015460ff165b1561752a575f8281526001808501602052604080832054808452818420548452922001548103617436575f8181526001850160205260408082205482528082206002015480835291206003015490925060ff16156173bf575f818152600180860160205260408083206003808201805460ff19908116909155878652838620820180548216905582548652928520018054909216909217905590829052549250617524565b5f81815260018501602052604090206002015483036173e5578092506173e584846176f3565b505f82815260018085016020526040808320548084528184206003808201805460ff199081169091558254875293862001805490931690931790915591829052546174319085906177c3565b617524565b5f818152600180860160205260408083205483528083209091015480835291206003015490925060ff16156174b2575f818152600180860160205260408083206003808201805460ff19908116909155878652838620820180548216905582548652928520018054909216909217905590829052549250617524565b5f81815260018086016020526040909120015483036174d8578092506174d884846177c3565b505f82815260018085016020526040808320548084528184206003808201805460ff199081169091558254875293862001805490931690931790915591829052546175249085906176f3565b506172f1565b505080545f908152600190910160205260409020600301805460ff19169055565b5f5b5f8281526001840160205260409020600201541561757f575f918252600183016020526040909120600201549061754d565b50919050565b60018101545f905f5160206183aa5f395f51905f52906001600160401b03633b9aca004202811691165b6001600160401b038116156175fc576001600160401b038082165f9081526004850160205260409020600501541682116175eb57949350505050565b6175f58582613aba565b90506175af565b505f949350505050565b5f780197d4df19d605767337e9f14d3eec8920e40000000000000084111580156176495750780197d4df19d605767337e9f14d3eec8920e4000000000000008311155b617655576176556181bd565b670de0b6b3a7640000836176698483618197565b61767391906181d1565b61767d86856181d1565b61768791906181aa565b611d119190618313565b60405163a9059cbb60e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f511483166176e75783831516156176db573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b5f81815260018084016020526040808320600281018054915482865292852090930154938590529183905590918015617739575f81815260018601602052604090208490555b5f838152600186016020526040902082905581617758578285556177a1565b5f828152600180870160205260409091200154840361778b575f82815260018087016020526040909120018390556177a1565b5f82815260018601602052604090206002018390555b50505f8181526001938401602052604080822090940183905591825291902055565b5f8181526001808401602052604080832091820180549254838552918420600201549385905283905590918015617807575f81815260018601602052604090208490555b5f8381526001860160205260409020829055816178265782855561786f565b5f8281526001860160205260409020600201548403617859575f828152600186016020526040902060020183905561786f565b5f82815260018087016020526040909120018390555b50505f81815260019093016020526040808420600201839055918352912055565b80156178e7578560200151156178be5781856002015f8282546178b39190618197565b909155506178d79050565b81856001015f8282546178d19190618197565b90915550505b6178e2848484615b29565b61346c565b61346c8660400151858585616ea4565b80356001600160801b0381168114610c8d575f5ffd5b5f6020828403121561791d575f5ffd5b612426826178f7565b6001600160801b0381511682526020810151151560208301526001600160a01b036040820151166040830152606081015161796c60608401826001600160401b03169052565b506080810151608083015260a081015160a083015260c081015160c083015260e08101516134b360e08401826001600160401b03169052565b610100810161179c8284617926565b5f60608284031280156179c5575f5ffd5b509092915050565b80151581146122a2575f5ffd5b80356001600160401b0381168114610c8d575f5ffd5b803560048110610c8d575f5ffd5b803560028110610c8d575f5ffd5b80356001600160a01b0381168114610c8d575f5ffd5b80356001600160601b0381168114610c8d575f5ffd5b5f5f5f5f5f5f5f5f5f6101208a8c031215617a51575f5ffd5b8935617a5c816179cd565b9850617a6a60208b016179da565b975060408a0135965060608a01359550617a8660808b016179da565b9450617a9460a08b016179f0565b9350617aa260c08b016179fe565b9250617ab060e08b01617a0c565b9150617abf6101008b01617a22565b90509295985092959850929598565b5f60208284031215617ade575f5ffd5b61242682617a0c565b5f5f83601f840112617af7575f5ffd5b5081356001600160401b03811115617b0d575f5ffd5b6020830191508360208260051b8501011115617b27575f5ffd5b9250929050565b5f5f60208385031215617b3f575f5ffd5b82356001600160401b03811115617b54575f5ffd5b617b6085828601617ae7565b90969095509350505050565b5f5f60408385031215617b7d575f5ffd5b617b86836178f7565b946020939093013593505050565b5f5f60408385031215617ba5575f5ffd5b617b8683617a0c565b5f5f60408385031215617bbf575f5ffd5b8235617bca816179cd565b9150617bd8602084016179da565b90509250929050565b602080825282518282018190525f918401906040840190835b81811015617c2d57617c1783855180518252602090810151910152565b6020939093019260409290920191600101617bfa565b509095945050505050565b5f5f5f60608486031215617c4a575f5ffd5b8335617c55816179cd565b925060208401359150617c6a604085016179da565b90509250925092565b606080825284519082018190525f9060208601906080840190835b81811015617cb857617ca1838551617926565b602093909301926101009290920191600101617c8e565b5050941515602084015250506001600160401b0391909116604090910152919050565b5f5f5f60408486031215617ced575f5ffd5b83356001600160401b03811115617d02575f5ffd5b617d0e86828701617ae7565b9094509250506020840135617d22816179cd565b809150509250925092565b5f5f60408385031215617d3e575f5ffd5b50508035926020909101359150565b5f5f5f5f5f5f5f5f5f5f6101408b8d031215617d67575f5ffd5b617d708b617a0c565b995060208b0135617d80816179cd565b9850617d8e60408c016179da565b975060608b0135965060808b01359550617daa60a08c016179da565b9450617db860c08c016179f0565b9350617dc660e08c016179fe565b9250617dd56101008c01617a0c565b9150617de46101208c01617a22565b90509295989b9194979a5092959850565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b0381118282101715617e3757634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60608284031215617e4d575f5ffd5b604051606081016001600160401b0381118282101715617e7b57634e487b7160e01b5f52604160045260245ffd5b60409081528335825260208085013590830152928301359281019290925250919050565b5f60408284031215617eaf575f5ffd5b604080519081016001600160401b0381118282101715617edd57634e487b7160e01b5f52604160045260245ffd5b604052823581526020928301359281019290925250919050565b5f5f5f5f5f5f868803610180811215617f0e575f5ffd5b617f1788617a0c565b9650617f2560208901617a0c565b9550617f3360408901617a0c565b94506080605f1982011215617f46575f5ffd5b50617f4f617e09565b6060880135815260808801356020820152617f6c60a08901617a0c565b604082015260c088013560608201529250617f8a8860e08901617e3d565b9150617f9a886101408901617e9f565b90509295509295509295565b5f5f5f60608486031215617fb8575f5ffd5b8335617fc3816179cd565b95602085013595506040909401359392505050565b5f5f60408385031215617fe9575f5ffd5b617ff283617a0c565b9150617bd860208401617a0c565b5f5f5f60608486031215618012575f5ffd5b61801b84617a0c565b925061802960208501617a0c565b915060408401356001600160e01b031981168114617d22575f5ffd5b5f5f5f5f5f60a08688031215618059575f5ffd5b61806286617a0c565b94506020860135618072816179cd565b9350604086013592506060860135915061808e60808701617a22565b90509295509295909350565b81518152602080830151908201526040810161179c565b602080825282518282018190525f918401906040840190835b81811015617c2d5783516001600160801b03168352602093840193909201916001016180ca565b5f60408284031280156179c5575f5ffd5b5f60208284031215618112575f5ffd5b8135612426816179cd565b5f6020828403121561812d575f5ffd5b5035919050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601260045260245ffd5b5f8261817e5761817e61815c565b500690565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561179c5761179c618183565b8082018082111561179c5761179c618183565b634e487b7160e01b5f52600160045260245ffd5b808202811582820484141761179c5761179c618183565b5f602082840312156181f8575f5ffd5b815160ff81168114612426575f5ffd5b6001815b60018411156182435780850481111561822757618227618183565b600184161561823557908102905b60019390931c92800261820c565b935093915050565b5f826182595750600161179c565b8161826557505f61179c565b816001811461827b5760028114618285576182a1565b600191505061179c565b60ff84111561829657618296618183565b50506001821b61179c565b5060208310610133831016604e8410600b84101617156182c4575081810a61179c565b6182d05f198484618208565b805f19048211156182e3576182e3618183565b029392505050565b5f61242660ff84168361824b565b5f60408284031215618309575f5ffd5b6124268383617e9f565b5f826183215761832161815c565b500490565b5f60208284031215618336575f5ffd5b8151612426816179cd565b6001600160401b03818116838216019081111561179c5761179c618183565b634e487b7160e01b5f52603160045260245ffd5b6001600160401b03828116828216039081111561179c5761179c618183565b5f82518060208501845e5f92019182525091905056fed64747d5203e76e70616abeb9766abd858e50b8c40b8838e9b17be2707574a00647e58622a8acfd34ca17176ada5ff880b288b9a6e6b3b1391215ff86cc95a00a26469706673582212208064e76586cba9cf2eeb4c6aba78ad01bfc2e6a780f977ad3d0a8aaa33b8b75164736f6c63430008220033