0x60a06040523060805234801561001457600080fd5b50608051612f6161004c600039600081816104ee01528181610537015281816105c001528181610600015261067c0152612f616000f3fe60806040526004361061013c5760003560e01c80632d6829b2146101415780632dda7bc5146101635780633659cfe61461018e5780634f1ef286146101ae57806352d1902d146101c15780635fc3ea0b146101d657806362a31a09146101f657806362e03bcc14610216578063639c93da146102365780636478cd98146102565780636f18e93f14610276578063715018a61461028957806376c198931461029e578063860caf0a146102d35780638830eac0146102f35780638da5cb5b146103135780639247ef90146103405780639690ca56146103605780639cab9ce814610380578063b2a3a9a0146103a0578063b8fd5cf5146103c0578063bde5703f146103e0578063cc2a9a5b1461041d578063d63695381461043d578063f2fde38b1461045d578063f67dcf881461047d578063fe1e8e7e1461049d575b600080fd5b34801561014d57600080fd5b5061016161015c366004612562565b6104b9565b005b34801561016f57600080fd5b5061017b600160c01b81565b6040519081526020015b60405180910390f35b34801561019a57600080fd5b506101616101a9366004612562565b6104e3565b6101616101bc3660046125ea565b6105b5565b3480156101cd57600080fd5b5061017b61066f565b3480156101e257600080fd5b506101616101f1366004612695565b61071e565b34801561020257600080fd5b506101616102113660046126d7565b61079d565b34801561022257600080fd5b50610161610231366004612562565b610825565b34801561024257600080fd5b50610161610251366004612562565b610855565b34801561026257600080fd5b50610161610271366004612715565b61087f565b61017b610284366004612732565b61089a565b34801561029557600080fd5b50610161610c40565b3480156102aa57600080fd5b506102be6102b93660046127b6565b610c54565b60408051928352901515602083015201610185565b3480156102df57600080fd5b506101616102ee366004612562565b610cbe565b3480156102ff57600080fd5b5061016161030e366004612562565b610ce8565b34801561031f57600080fd5b50610328610d12565b6040516001600160a01b039091168152602001610185565b34801561034c57600080fd5b5061016161035b366004612815565b610d21565b34801561036c57600080fd5b5061017b61037b366004612856565b610de4565b34801561038c57600080fd5b5061016161039b3660046126d7565b610e32565b3480156103ac57600080fd5b506101616103bb3660046126d7565b610eba565b3480156103cc57600080fd5b506101616103db366004612562565b610f32565b3480156103ec57600080fd5b506104006103fb3660046127b6565b610f54565b604080519283526001600160a01b03909116602083015201610185565b34801561042957600080fd5b50610161610438366004612899565b610fb7565b34801561044957600080fd5b5061040061045836600461291b565b611141565b34801561046957600080fd5b50610161610478366004612562565b61122b565b34801561048957600080fd5b5061040061049836600461291b565b6112a1565b3480156104a957600080fd5b5061017b670de0b6b3a764000081565b6104c16113a8565b606780546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105355760405162461bcd60e51b815260040161052c90612949565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610567611407565b6001600160a01b03161461058d5760405162461bcd60e51b815260040161052c90612983565b61059681611423565b604080516000808252602082019092526105b29183919061142b565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105fe5760405162461bcd60e51b815260040161052c90612949565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610630611407565b6001600160a01b0316146106565760405162461bcd60e51b815260040161052c90612983565b61065f82611423565b61066b8282600161142b565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461070a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161052c565b50600080516020612f0e8339815191525b90565b6107266113a8565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb9061075490849086906004016129bd565b6020604051808303816000875af1158015610773573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079791906129e1565b50505050565b6107a56113a8565b60006107b18383611596565b60008181526066602052604090205490915060ff1661080b5760405162461bcd60e51b8152602060048201526016602482015275139bdd08185b1c9958591e481cdd589cda591a5e995960521b604482015260640161052c565b6000908152606660205260409020805460ff191690555050565b61082d6113a8565b606980546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b61085d6113a8565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b6108876113a8565b6069805460ff1916911515919091179055565b6065546000906001600160a01b031633146108bf576108bf639a04794d60e01b6115df565b6001600160a01b0385166108e4578334146108e4576108e46321ac1c7960e21b6115df565b60006108ee6115e9565b9050836001600160a01b0316816001600160a01b03161415610afe576000606461091987600a6129fe565b6109239190612a2b565b604051630a9d031560e01b8152600481018c90529091506000906001600160a01b03841690630a9d031590602401602060405180830381865afa15801561096e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109929190612a58565b90506001600160a01b038116158015906109b557506001600160a01b0381163214155b15610afb576001600160a01b038816610a39576000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114610a15576040519150601f19603f3d011682016040523d82523d6000602084013e610a1a565b606091505b5050905080610a3357610a33637cd69c3960e11b6115df565b50610aac565b60405163a9059cbb60e01b81526001600160a01b0389169063a9059cbb90610a6790849086906004016129bd565b6020604051808303816000875af1158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa91906129e1565b505b876001600160a01b0316816001600160a01b03168c7f01bf363dbade8c9713473bfb336069d6c556e904f84103f174b5ef488657196985604051610af291815260200190565b60405180910390a45b50505b8715610c2f57600083610b1b57610b16600287612a2b565b610b32565b600a610b288760086129fe565b610b329190612a2b565b90506001600160a01b038716610bb3576000886001600160a01b03168260405160006040518083038185875af1925050503d8060008114610b8f576040519150601f19603f3d011682016040523d82523d6000602084013e610b94565b606091505b5050905080610bad57610bad637cd69c3960e11b6115df565b50610c26565b60405163a9059cbb60e01b81526001600160a01b0388169063a9059cbb90610be1908b9085906004016129bd565b6020604051808303816000875af1158015610c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2491906129e1565b505b9150610c359050565b60009150505b979650505050505050565b610c486113a8565b610c526000611810565b565b6000806000610c6284611862565b9050610c6e888761192a565b15610c7e57600092509050610cb4565b6001600160a01b038516610ca95786610c9682611980565b610ca091906129fe565b92509050610cb4565b610ca08588836119fc565b9550959350505050565b610cc66113a8565b606b80546001600160a01b0319166001600160a01b0392909216919091179055565b610cf06113a8565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031690565b610d296113a8565b610d366020820182612a8a565b6001600160601b031615801590610d6557506000610d5a6040830160208401612562565b6001600160a01b0316145b158015610dab5750610d7a6020820182612a8a565b6001600160601b0316158015610da957506000610d9d6040830160208401612562565b6001600160a01b031614155b155b15610dc057610dc06360c3620d60e11b6115df565b6001600160a01b038216600090815260686020526040902081906107978282612aa7565b6000610def84611b5e565b80610dff5750610dff868461192a565b15610e0c57506000610e29565b8463ffffffff16610e1c83612088565b610e2691906129fe565b90505b95945050505050565b610e3a6113a8565b6000610e468383611596565b60008181526066602052604090205490915060ff1615610e9d5760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481cdd589cda591a5e995960721b604482015260640161052c565b6000908152606660205260409020805460ff191660011790555050565b610ec26113a8565b6000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114610f0f576040519150601f19603f3d011682016040523d82523d6000602084013e610f14565b606091505b5050905080610f2d57610f2d637cd69c3960e11b6115df565b505050565b610f3a6113a8565b6001600160a01b0316600090815260686020526040812055565b600080610f61878661192a565b15610f7157506000905082610cb4565b6001600160a01b03841615610f9557610f8b84878561209f565b8491509150610cb4565b85610f9f84612088565b610fa991906129fe565b976000975095505050505050565b600054610100900460ff1615808015610fd75750600054600160ff909116105b80610ff85750610fe6306121bf565b158015610ff8575060005460ff166001145b61105b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161052c565b6000805460ff19166001179055801561107e576000805461ff0019166101001790555b6110866121ce565b61108f86611810565b606580546001600160a01b03199081166001600160a01b038a81169190911790925560678054821688841617905560698054610100600160a81b03191661010088851602179055606a80548216868416179055606b80549091169184169190911790558015611138576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b60655460405162820a0360e31b815260048101859052600091829182916001600160a01b03169063041050189060240160c060405180830381865afa15801561118e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b29190612ae9565b80519091506001600160a01b03166111d4576111d463f8e6d17560e01b6115df565b6111e18160400151611b5e565b806111f157506111f1868561192a565b15611203576000809250925050611223565b846112118260000151612088565b61121b91906129fe565b600092509250505b935093915050565b6112336113a8565b6001600160a01b0381166112985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052c565b6105b281611810565b6000806112ae858461192a565b156112be57506000905080611223565b60655460405163228c835960e21b8152600481018790526000916001600160a01b031690638a320d64906024016101c060405180830381865afa158015611309573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132d9190612bbe565b80519091506001600160a01b031661134f5761134f63f8e6d17560e01b6115df565b60c08101516001600160a01b031615611384576113758160c0015186836000015161209f565b8160c001519250925050611223565b846113928260000151612088565b61139c91906129fe565b60009250925050611223565b336113b1610d12565b6001600160a01b031614610c525760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052c565b600080516020612f0e833981519152546001600160a01b031690565b6105b26113a8565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561145e57610f2d836121fd565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114b8575060408051601f3d908101601f191682019092526114b591810190612cc9565b60015b61151b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161052c565b600080516020612f0e833981519152811461158a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161052c565b50610f2d838383612297565b600082826040516020016115c192919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b8060005260046000fd5b6000466001141561160d575073d3c63951b2ed18e8d92b5b251c3b636a45a547d090565b466121051415611630575073d9e58978808d17f99ccceab5195b052e972c018890565b46600a14156116525750739cf5b12d2e2a88083647ff2fe0610f818b28ec7790565b466276adf114156116765750737cb2cecfcffdcce0bf69366e52caec6bd719cd4490565b4661a4b11415611699575073617b2383d93909590fac0b2aaa547ec5615d82ef90565b46608914156116bb5750736fd07d4b5fd7093762fb2f278769aa7e2511d45c90565b4662014a3414156116df5750734619b9673241eb41b642dc04371100d238b73ffe90565b4662aa36a71415611703575073d33c1be264bb98f86e18cd816d5fd44e97cb716390565b46620f043a14156117275750739491aa1c2f46319a645637c4105f4199b251e4dd90565b46611388141561174a575073affc7c9bfb48ffd2a580e1a0d36f8cc7d45dcb5890565b4662082750141561176e5750734821b6e9ac0ccc590acce2442bb6bb32388c1cb790565b4661014414156117915750734b189127a784de57bdcdb59e0ab18086e0b7a1bc90565b4661016814156117b4575073e2ce42156e8456704fbea047419404858e9324af90565b46611d8814156117d7575073f76d8b2afb77f663d420f827fca7bcc1b419515f90565b46620849ea14156117fb57507324d7f95783f5f5ed37bcbbe303a14be0627dfc2e90565b5060695461010090046001600160a01b031690565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000816001600160a01b031663cbab0bd36040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156118be575060408051601f3d908101601f191682019092526118bb91810190612cc9565b60015b6118fd576118ca612ce2565b806308c379a014156118f357506118df612cfd565b806118ea57506118f5565b50600092915050565b505b506000919050565b7f3a9654d81ac4dafbb9a2fb1cd3efa3de2783ae40b06b17a456bf5922ed02a3a71492915050565b919050565b60006066600061193a8585611596565b815260208101919091526040016000205460ff16806119795750606660006119648561dead611596565b815260208101919091526040016000205460ff165b9392505050565b6000808261198f576001611992565b60025b60ff16905046608914156119b25761197981671f6ee57fe0428000612a2b565b46620f043a14156119cf57611979816706f05b59d3b20000612a2b565b4661138814156119eb57611979816730927f74c9de0000612a2b565b611979816602d79883d20000612a2b565b6001600160a01b0380841660009081526068602090815260408083208151808301909252546001600160601b0381168252600160601b900490931690830152908183611a49576001611a4c565b60025b60ff16905081600001516001600160601b0316600014611a915781518590611a7e9083906001600160601b0316612a2b565b611a8891906129fe565b92505050611979565b60208201516001600160a01b031615611b4557600082602001516001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015611ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0c9190612d98565b505050505050905085611b1e826122bc565b611b2787611980565b611b3191906129fe565b611b3b91906129fe565b9350505050611979565b611b55630eca12dd60e31b6115df565b50509392505050565b60004660011415611bb65773dfee0ed4a217f37b3fa87624ee00fe5685bdc5096001600160a01b0383161480611bb057507394fa6e7fc2555ada63ea56cfff425558360f00746001600160a01b038316145b92915050565b466121051415611c095773922e9f8cc491facbd403afa143aa53ee9146474c6001600160a01b0383161480611bb05750506001600160a01b031673a748be280c9a00edaf7d04076fe8a93c59e95b031490565b46600a1415611c5b5773b207774ac4e32ece47771e64bde5ec3894c1de6b6001600160a01b0383161480611bb05750506001600160a01b03167315753e20667961fb30d5aa92e2255b876568be7e1490565b4661a4b11415611cae57737f75358787f880506c5dc6100386f77be8de0a306001600160a01b0383161480611bb05750506001600160a01b0316733a2afe86e594540cbf3ea345dd29e09228f186d21490565b466276adf11415611d0257730afb6566c836d1c4788cd2b54bd9ca0158cc2d3d6001600160a01b0383161480611bb05750506001600160a01b031673f12a4018647dd2275072967fd5f3ac5fef7a04711490565b4660891415611d5457734ccb72e7e0cd948af50bc7bf598fc4e027b70f986001600160a01b0383161480611bb05750506001600160a01b031673ae22cd8052d64e7c2af6b5e3045fab0a86c8334c1490565b4662aa36a71415611da85773a2d14ca9985de170db128c8cb74cecb35eeaf47e6001600160a01b0383161480611bb05750506001600160a01b031673cebc3b3134fbef95ed13aecdf997d4371d0223851490565b4662014a341415611dfc57739958f83f383ca150bb2252b4275d3e3051be469f6001600160a01b0383161480611bb05750506001600160a01b0316734821b6e9ac0ccc590acce2442bb6bb32388c1cb71490565b46620f043a1415611e5057735aa1c7f5f9d2e7f2664d3c1f454560c6dabed6c86001600160a01b0383161480611bb05750506001600160a01b0316739c602ce508e41ccaf2cf997d93a9fbe0166d8ae61490565b466113881415611ea35773d8f0a3aa4067be3d70a5b46a795ad9df9e65cd3c6001600160a01b0383161480611bb05750506001600160a01b031673af4d61951a425ba60ac1e7ea6d51e92d2f4748e41490565b46620827501415611ef75773f6c67c7bb7018e4609d571023196a4682fda6f2f6001600160a01b0383161480611bb05750506001600160a01b031673e019ff8033d9c761985a3ee1fa5d97cc9cf6d5c01490565b466101441415611f4a577389640d083837d9487e4e1c2122acc1adaf0e56546001600160a01b0383161480611bb05750506001600160a01b031673c1c701d7a488b46ff095ec4094ddd5ab78c9421e1490565b466101681415611f9d57738c23711a0536397c261bf83ec474b9aaf05c549b6001600160a01b0383161480611bb05750506001600160a01b031673d8f0a3aa4067be3d70a5b46a795ad9df9e65cd3c1490565b46611d881415611ff057738c23711a0536397c261bf83ec474b9aaf05c549b6001600160a01b0383161480611bb05750506001600160a01b031673526fe4ed6f23f34a97015e41f469fd54f37036f51490565b46620849ea1415612044577399f80ff8c7607e8e6b6a998e9389dcaec97ba9c96001600160a01b0383161480611bb05750506001600160a01b031673d5b168f790582255c9c82cb65193a009cd6c2c671490565b606a546001600160a01b038381169116148061206d5750606b546001600160a01b038381169116145b80611bb05750506067546001600160a01b0390811691161490565b60008061209483611862565b61198f576001611992565b6001600160a01b0380841660009081526068602090815260408083208151808301909252546001600160601b0381168252600160601b90049093169083015290816120e984611862565b6120f45760016120f7565b60025b60ff16905081600001516001600160601b03166000146121295781518590611a7e9083906001600160601b0316612a2b565b60208201516001600160a01b031615611b4557600082602001516001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015612180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a49190612d98565b5050505050509050856121b6826122bc565b611b2787612088565b6001600160a01b03163b151590565b600054610100900460ff166121f55760405162461bcd60e51b815260040161052c90612e27565b610c526122e7565b612206816121bf565b6122685760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161052c565b600080516020612f0e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6122a083612317565b6000825111806122ad5750805b15610f2d576107978383612357565b6000611bb06122d46001600160a01b038416806129fe565b670de0b6b3a7640000600160c01b61237c565b600054610100900460ff1661230e5760405162461bcd60e51b815260040161052c90612e27565b610c5233611810565b612320816121fd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606119798383604051806060016040528060278152602001612f2e6027913961242f565b6000808060001985870985870292508281108382030391505080600014156123b657600084116123ab57600080fd5b508290049050611979565b8084116123c257600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6060600080856001600160a01b03168560405161244c9190612e9e565b600060405180830381855af49150503d8060008114612487576040519150601f19603f3d011682016040523d82523d6000602084013e61248c565b606091505b509150915061249d868383876124a7565b9695505050505050565b6060831561251157825161250a576124be856121bf565b61250a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161052c565b508161251b565b61251b8383612523565b949350505050565b8151156125335781518083602001fd5b8060405162461bcd60e51b815260040161052c9190612eba565b6001600160a01b03811681146105b257600080fd5b60006020828403121561257457600080fd5b81356119798161254d565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156125ba576125ba61257f565b6040525050565b6040516101c081016001600160401b03811182821017156125e4576125e461257f565b60405290565b600080604083850312156125fd57600080fd5b82356126088161254d565b91506020838101356001600160401b038082111561262557600080fd5b818601915086601f83011261263957600080fd5b81358181111561264b5761264b61257f565b6040519150612663601f8201601f1916850183612595565b808252878482850101111561267757600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806000606084860312156126aa57600080fd5b83356126b58161254d565b92506020840135915060408401356126cc8161254d565b809150509250925092565b600080604083850312156126ea57600080fd5b8235915060208301356126fc8161254d565b809150509250929050565b80151581146105b257600080fd5b60006020828403121561272757600080fd5b813561197981612707565b600080600080600080600060e0888a03121561274d57600080fd5b87359650602088013561275f81612707565b9550604088013561276f8161254d565b9450606088013561277f8161254d565b93506080880135925060a08801356127968161254d565b915060c08801356127a681612707565b8091505092959891949750929550565b600080600080600060a086880312156127ce57600080fd5b853594506020860135935060408601356127e78161254d565b925060608601356127f78161254d565b915060808601356128078161254d565b809150509295509295909350565b600080828403606081121561282957600080fd5b83356128348161254d565b92506040601f198201121561284857600080fd5b506020830190509250929050565b600080600080600060a0868803121561286e57600080fd5b85359450602086013563ffffffff8116811461288957600080fd5b935060408601356127e78161254d565b60008060008060008060c087890312156128b257600080fd5b86356128bd8161254d565b955060208701356128cd8161254d565b945060408701356128dd8161254d565b935060608701356128ed8161254d565b925060808701356128fd8161254d565b915060a087013561290d8161254d565b809150509295509295509295565b60008060006060848603121561293057600080fd5b833592506020840135915060408401356126cc8161254d565b6020808252602c90820152600080516020612eee83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020612eee83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b03929092168252602082015260400190565b805161192581612707565b6000602082840312156129f357600080fd5b815161197981612707565b6000816000190483118215151615612a2657634e487b7160e01b600052601160045260246000fd5b500290565b600082612a4857634e487b7160e01b600052601260045260246000fd5b500490565b80516119258161254d565b600060208284031215612a6a57600080fd5b81516119798161254d565b6001600160601b03811681146105b257600080fd5b600060208284031215612a9c57600080fd5b813561197981612a75565b8135612ab281612a75565b81546001600160601b03199081166001600160601b039290921691821783556020840135612adf8161254d565b60601b1617905550565b600060c08284031215612afb57600080fd5b60405160c081016001600160401b0381118282101715612b1d57612b1d61257f565b6040528251612b2b8161254d565b81526020830151612b3b81612a75565b60208201526040830151612b4e8161254d565b60408201526060830151612b6181612707565b60608201526080830151612b7481612707565b6080820152612b8560a084016129d6565b60a08201529392505050565b805165ffffffffffff8116811461192557600080fd5b80516001600160c01b038116811461192557600080fd5b60006101c08284031215612bd157600080fd5b612bd96125c1565b612be283612a4d565b8152612bf060208401612b91565b6020820152612c0160408401612b91565b6040820152612c1260608401612a4d565b6060820152612c2360808401612b91565b6080820152612c3460a08401612b91565b60a0820152612c4560c08401612a4d565b60c0820152612c5660e08401612b91565b60e0820152610100612c69818501612b91565b90820152610120612c7b848201612ba7565b90820152610140612c8d848201612b91565b90820152610160612c9f8482016129d6565b90820152610180612cb18482016129d6565b908201526101a0928301519281019290925250919050565b600060208284031215612cdb57600080fd5b5051919050565b600060033d111561071b5760046000803e5060005160e01c90565b600060443d1015612d0b5790565b6040516003193d81016004833e81513d6001600160401b038083116024840183101715612d3a57505050505090565b8285019150815181811115612d525750505050505090565b843d8701016020828501011115612d6c5750505050505090565b612d7b60208286010187612595565b509095945050505050565b805161ffff8116811461192557600080fd5b600080600080600080600060e0888a031215612db357600080fd5b8751612dbe8161254d565b8097505060208801518060020b8114612dd657600080fd5b9550612de460408901612d86565b9450612df260608901612d86565b9350612e0060808901612d86565b925060a088015160ff81168114612e1657600080fd5b60c08901519092506127a681612707565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015612e8d578181015183820152602001612e75565b838111156107975750506000910152565b60008251612eb0818460208701612e72565b9190910192915050565b6020815260008251806020840152612ed9816040850160208701612e72565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c634300080a000a