60806040523480156200001157600080fd5b50604051620032d7380380620032d78339810160408190526200003491620003e0565b81818181600062000046838262000614565b50600162000055828262000614565b50506001601855505050601985905560e0840151620000789061271090620006f6565b61ffff1660e0850152610100840151620000969061271090620006f6565b61ffff16610100850152620000ac8484620000b7565b50505050506200075d565b601680546001600160a01b0319166001600160a01b038316179055620000dd82620000e1565b5050565b805181906008908190620000f6908262000614565b50602082015160018201906200010d908262000614565b5060408201516002820180546001600160a01b03199081166001600160a01b03938416179091556060840151600384018054909216908316179055608083015160048301805460a086015160c087015160e0880151949095166001600160c81b031990921691909117600160a01b64ffffffffff92831602176001600160c81b0316600160c81b91909416026001600160f01b031692909217600160f01b61ffff928316021790915561010083015160058301805461ffff1916918316919091179055610120830151600683015561014090920151600790910155600f54600d5461271092620001ff9291166200071a565b6200020b919062000746565b6007556040805160808101825260a083015164ffffffffff90811680835260c08501519091166020830181905260e085015161ffff16938301849052610120909401516060909201829052601080546001600160501b031916909117650100000000009094029390931761ffff60501b19166a010000000000000000000090920291909117909155601155565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715620002d457620002d462000298565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000305576200030562000298565b604052919050565b600082601f8301126200031f57600080fd5b81516001600160401b038111156200033b576200033b62000298565b602062000351601f8301601f19168201620002da565b82815285828487010111156200036657600080fd5b60005b838110156200038657858101830151828201840152820162000369565b506000928101909101919091529392505050565b80516001600160a01b0381168114620003b257600080fd5b919050565b805164ffffffffff81168114620003b257600080fd5b805161ffff81168114620003b257600080fd5b600080600080600060a08688031215620003f957600080fd5b855160208701519095506001600160401b03808211156200041957600080fd5b90870190610160828a0312156200042f57600080fd5b62000439620002ae565b8251828111156200044957600080fd5b620004578b8286016200030d565b8252506020830151828111156200046d57600080fd5b6200047b8b8286016200030d565b6020830152506200048f604084016200039a565b6040820152620004a2606084016200039a565b6060820152620004b5608084016200039a565b6080820152620004c860a08401620003b7565b60a0820152620004db60c08401620003b7565b60c0820152620004ee60e08401620003cd565b60e082015261010062000503818501620003cd565b908201526101208381015190820152610140808401519082015295506200052d604089016200039a565b945060608801519150808211156200054457600080fd5b6200055289838a016200030d565b935060808801519150808211156200056957600080fd5b5062000578888289016200030d565b9150509295509295909350565b600181811c908216806200059a57607f821691505b602082108103620005bb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200060f57600081815260208120601f850160051c81016020861015620005ea5750805b601f850160051c820191505b818110156200060b57828155600101620005f6565b5050505b505050565b81516001600160401b0381111562000630576200063062000298565b620006488162000641845462000585565b84620005c1565b602080601f831160018114620006805760008415620006675750858301515b600019600386901b1c1916600185901b1785556200060b565b600085815260208120601f198616915b82811015620006b15788860151825594840194600190910190840162000690565b5085821015620006d05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601260045260246000fd5b600061ffff808416806200070e576200070e620006e0565b92169190910692915050565b80820281158282048414176200074057634e487b7160e01b600052601160045260246000fd5b92915050565b600082620007585762000758620006e0565b500490565b612b6a806200076d6000396000f3fe6080604052600436106101f25760003560e01c80637bb98a681161010d578063af640d0f116100a0578063c87b56dd1161006f578063c87b56dd14610640578063caf6aa4b14610660578063ddca3f431461068d578063e985e9c5146106a3578063ef9b78c6146106c357600080fd5b8063af640d0f146104de578063b16b7346146104f4578063b88d4fde146105ea578063bb4d44361461060a57600080fd5b806399d32fc4116100dc57806399d32fc41461047e5780639f181b5e14610493578063a22cb465146104a9578063a6f47346146104c957600080fd5b80637bb98a68146104125780637d31197c146104275780639340b21e1461044957806395d89b411461046957600080fd5b8063589de5df116101855780636d41fefb116101545780636d41fefb146103a65780636fd44cfd146103c657806370a08231146103dc57806374cb3041146103fc57600080fd5b8063589de5df1461033257806361461954146103525780636352211e1461035a578063668ed1db1461037a57600080fd5b806323b872dd116101c157806323b872dd146102af5780632852b71c146102cf57806340c10f19146102f257806342842e0e1461031257600080fd5b806301ffc9a7146101fe57806306fdde0314610233578063081812fc14610255578063095ea7b31461028d57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061021e6102193660046123c7565b6106d8565b60405190151581526020015b60405180910390f35b34801561023f57600080fd5b5061024861072a565b60405161022a9190612434565b34801561026157600080fd5b50610275610270366004612447565b6107bc565b6040516001600160a01b03909116815260200161022a565b34801561029957600080fd5b506102ad6102a8366004612475565b6107e3565b005b3480156102bb57600080fd5b506102ad6102ca3660046124a1565b6108fd565b3480156102db57600080fd5b506102e4610924565b60405190815260200161022a565b3480156102fe57600080fd5b506102e461030d366004612475565b610c1b565b34801561031e57600080fd5b506102ad61032d3660046124a1565b610d31565b34801561033e57600080fd5b506102e461034d366004612475565b610d58565b6102ad6110d5565b34801561036657600080fd5b50610275610375366004612447565b6111f0565b34801561038657600080fd5b5061038f611250565b60405161022a9b9a999897969594939291906124e2565b3480156103b257600080fd5b506102ad6103c1366004612475565b6113cf565b3480156103d257600080fd5b506102e460155481565b3480156103e857600080fd5b506102e46103f736600461256c565b61142a565b34801561040857600080fd5b506102e460065481565b34801561041e57600080fd5b506102e46114b0565b34801561043357600080fd5b5061043c61153a565b60405161022a919061259f565b34801561045557600080fd5b50601654610275906001600160a01b031681565b34801561047557600080fd5b506102486115b0565b34801561048a57600080fd5b506102ad6115bf565b34801561049f57600080fd5b506102e460145481565b3480156104b557600080fd5b506102ad6104c43660046125d5565b611658565b3480156104d557600080fd5b506102e4611667565b3480156104ea57600080fd5b506102e460195481565b34801561050057600080fd5b5061058861050f366004612447565b60136020908152600091825260409182902080546001820154845160a081018652600284015464ffffffffff8082168352600160281b8204811696830196909652600160501b8104861696820196909652600160781b909504909316606085015260039091015460808401526001600160a01b03169183565b604080516001600160a01b039094168452602080850193909352815164ffffffffff908116858301529282015183166060808601919091529082015183166080808601919091529082015190921660a0840152015160c082015260e00161022a565b3480156105f657600080fd5b506102ad610605366004612624565b61167e565b34801561061657600080fd5b506102e461062536600461256c565b6001600160a01b031660009081526012602052604090205490565b34801561064c57600080fd5b5061024861065b366004612447565b6116ac565b34801561066c57600080fd5b506102e461067b366004612447565b60176020526000908152604090205481565b34801561069957600080fd5b506102e460075481565b3480156106af57600080fd5b5061021e6106be366004612704565b611720565b3480156106cf57600080fd5b506102ad61174e565b60006001600160e01b031982166380ac58cd60e01b148061070957506001600160e01b03198216635b5e139f60e01b145b8061072457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461073990612732565b80601f016020809104026020016040519081016040528092919081815260200182805461076590612732565b80156107b25780601f10610787576101008083540402835291602001916107b2565b820191906000526020600020905b81548152906001019060200180831161079557829003601f168201915b5050505050905090565b60006107c7826118a1565b506000908152600460205260409020546001600160a01b031690565b60006107ee826111f0565b9050806001600160a01b0316836001600160a01b0316036108605760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061087c575061087c8133611720565b6108ee5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610857565b6108f88383611903565b505050565b6000818152601760205260409020546109199084908490611971565b6108f88383836119e1565b336000908152601260205260408120548082036109545760405163e6de1cdd60e01b815260040160405180910390fd5b6006546000818152601360209081526040808320815160a081018352600282015464ffffffffff8082168352600160281b8204811695830195909552600160501b8104851693820193909352600160781b90920490921660608201526003820154608082015290916109c582611a12565b905060018160058111156109db576109db612589565b141580156109fb575060038160058111156109f8576109f8612589565b14155b8015610a1957506004816005811115610a1657610a16612589565b14155b15610a395780604051630821641d60e21b8152600401610857919061259f565b33600090815260048401602052604090205460ff1615610a6e57604051630b517d8f60e41b8152336004820152602401610857565b3360009081526004840160209081526040808320805460ff19166001179055601290915281205490508083608001818151610aa99190612782565b90525082516002850180546020860151604080880151606089015164ffffffffff908116600160781b0264ffffffffff60781b19928216600160501b029290921669ffffffffffffffffffff60501b19948216600160281b0269ffffffffffffffffffff19909616919097161793909317919091169390931717905560808401516003860155517fea45672a2d92b09ff2dd48aa67615f8b5c79d7808b7282fc026a24e00283f78d90610b7b908790339085909283526001600160a01b03919091166020830152604082015260600190565b60405180910390a1602083015164ffffffffff16158015610bb857506080830151601154601054610bb8929190600160501b900461ffff16611b3d565b15610c0d5760028401805469ffffffffff00000000001916600160281b4264ffffffffff160217905560405185907fe36f8b7448daff4a52e2945db0d1d7a436279cc1d527a45c27835dcbd27f336d90600090a25b505060800151935050505090565b6016546000906001600160a01b0316338114610c5b57604051633a33dca760e11b81523360048201526001600160a01b0382166024820152604401610857565b600e546015548490610c6d9083612795565b1015610c8357601554610c809082612795565b93505b8360156000828254610c959190612782565b9091555050601454610ca8906001612782565b601481905560008181526017602090815260409182902087905581516001600160a01b03891681529081018790529194507f3c168eab8e59c84797e895eeeb159c0b33a73243363754d80d426b45c2aa62db910160405180910390a16001600160a01b0385166000908152601260205260409020849055610d298584611b65565b505092915050565b600081815260176020526040902054610d4d9084908490611971565b6108f8838383611b7f565b33600090815260126020526040812054808203610d885760405163e6de1cdd60e01b815260040160405180910390fd5b6006546000908152601360209081526040808320815160a081018352600282015464ffffffffff8082168352600160281b8204811695830195909552600160501b8104851693820193909352600160781b9092049092166060820152600382015460808201529091610df982611a12565b90506001816005811115610e0f57610e0f612589565b1480610e2c57506003816005811115610e2a57610e2a612589565b145b80610e4857506004816005811115610e4657610e46612589565b145b15610e665760405163062e126b60e51b815260040160405180910390fd5b6000610e706114b0565b90508660075482610e819190612795565b1015610edb5760405162461bcd60e51b8152602060048201526024808201527f74686520616d6f756e742063616e6e6f7420657863656564207468652062616c604482015263616e636560e01b6064820152608401610857565b600660008154610eea906127a8565b91905081905595506040518060a001604052804264ffffffffff168152602001600064ffffffffff168152602001600064ffffffffff168152602001600064ffffffffff16815260200160008152508888601360008a81526020019081526020016000206002016000601360008c81526020019081526020016000206000016000601360008e8152602001908152602001600020600101600086919050558591906101000a8154816001600160a01b0302191690836001600160a01b031602179055508491905060008201518160000160006101000a81548164ffffffffff021916908364ffffffffff16021790555060208201518160000160056101000a81548164ffffffffff021916908364ffffffffff160217905550604082015181600001600a6101000a81548164ffffffffff021916908364ffffffffff160217905550606082015181600001600f6101000a81548164ffffffffff021916908364ffffffffff1602179055506080820151816001015550505050507fcefde871412b17a133dd5eb9d0bd57cec6e406a92dcbf1d1e098fbc3813fd5ce86338a8a6040516110b994939291909384526001600160a01b03928316602085015291166040830152606082015260800190565b60405180910390a16110c9610924565b50505050505092915050565b33600090815260126020526040812054908190036111065760405163e6de1cdd60e01b815260040160405180910390fd5b6006546000818152601360209081526040808320815160a081018352600282015464ffffffffff8082168352600160281b8204811695830195909552600160501b8104851693820193909352600160781b909204909216606082015260038201546080820152909161117782611a12565b9050600481600581111561118d5761118d612589565b146111ad5780604051630821641d60e21b8152600401610857919061259f565b60028301805464ffffffffff60781b1916600160781b4264ffffffffff1602179055825460018401546111e9916001600160a01b031690611b9a565b5050505050565b6000818152600260205260408120546001600160a01b0316806107245760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610857565b60088054819061125f90612732565b80601f016020809104026020016040519081016040528092919081815260200182805461128b90612732565b80156112d85780601f106112ad576101008083540402835291602001916112d8565b820191906000526020600020905b8154815290600101906020018083116112bb57829003601f168201915b5050505050908060010180546112ed90612732565b80601f016020809104026020016040519081016040528092919081815260200182805461131990612732565b80156113665780601f1061133b57610100808354040283529160200191611366565b820191906000526020600020905b81548152906001019060200180831161134957829003601f168201915b505050506002830154600384015460048501546005860154600687015460079097015495966001600160a01b039485169693851695509382169364ffffffffff600160a01b8404811694600160c81b85049091169361ffff600160f01b9091048116931691908b565b6016546001600160a01b031633811461140c57604051633a33dca760e11b81523360048201526001600160a01b0382166024820152604401610857565b506001600160a01b0391909116600090815260126020526040902055565b60006001600160a01b0382166114945760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610857565b506001600160a01b031660009081526003602052604090205490565b600c546000906001600160a01b03161561153557600c546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561150c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153091906127c1565b905090565b504790565b6006546000908152601360209081526040808320815160a081018352600282015464ffffffffff8082168352600160281b8204811695830195909552600160501b8104851693820193909352600160781b9092049092166060820152600382015460808201526115a981611a12565b9250505090565b60606001805461073990612732565b600b546001600160a01b031633146115ff57600b546040516316fcee0760e31b81523360048201526001600160a01b039091166024820152604401610857565b600b54600754611618916001600160a01b031690611b9a565b60075460405133917fc1ea44051caa9b83a31ae905b8c471e7cf1f25b24b11d0b4d983665a89019df79161164e9160089161287e565b60405180910390a2565b611663338383611c6a565b5050565b60006007546116746114b0565b6115309190612795565b60008281526017602052604090205461169a9085908590611971565b6116a684848484611d38565b50505050565b60606116b7826118a1565b60006116ce60408051602081019091526000815290565b905060008151116116ee5760405180602001604052806000815250611719565b806116f884611d6a565b60405160200161170992919061294c565b6040516020818303038152906040525b9392505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600a546001600160a01b0316331461177957604051633641391960e21b815260040160405180910390fd5b6006546000818152601360209081526040808320815160a081018352600282015464ffffffffff8082168352600160281b8204811695830195909552600160501b8104851693820193909352600160781b90920490921660608201526003820154608082015290916117ea82611a12565b9050600181600581111561180057611800612589565b141580156118205750600381600581111561181d5761181d612589565b14155b801561183e5750600481600581111561183b5761183b612589565b14155b1561185e5780604051630821641d60e21b8152600401610857919061259f565b600019600384015560405133815284907fc2131db10d833d6b93ae553fa450ea0f6c0c2dfb0160cb3309468bf72718f3eb9060200160405180910390a250505050565b6000818152600260205260409020546001600160a01b03166119005760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610857565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611938826111f0565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0383166000908152601260205260409020546119b790849061199b908490612795565b6001600160a01b03909116600090815260126020526040902055565b6001600160a01b0382166000908152601260205260409020546108f890839061199b908490612782565b6119eb3382611dfd565b611a075760405162461bcd60e51b81526004016108579061297b565b6108f8838383611e5c565b805160009064ffffffffff168103611a2c57506000919050565b606082015164ffffffffff1615611a4557506005919050565b600019826080015103611a5a57506002919050565b6040805160808101825260105464ffffffffff8082168352600160281b82048116602080850191909152600160501b90920461ffff1693830193909352601154606083015284015142921615611b07578164ffffffffff1681602001518560200151611ac691906129c8565b64ffffffffff1611611adc575060049392505050565b611aee84608001518260600151611fc0565b15611afd575060049392505050565b5060039392505050565b8051845164ffffffffff841691611b1d916129c8565b64ffffffffff1611611b33575060029392505050565b5060019392505050565b600061ffff821683611b51866127106129ed565b611b5b9190612a04565b1015949350505050565b611663828260405180602001604052806000815250611fe7565b6108f88383836040518060200160405280600081525061167e565b600c546001600160a01b031615611c3457600c5460405163a9059cbb60e01b81526001600160a01b03848116600483015260248201849052600092169063a9059cbb906044016020604051808303816000875af1158015611bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c239190612a26565b90506001811515146108f857600080fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156108f8573d6000803e3d6000fd5b816001600160a01b0316836001600160a01b031603611ccb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610857565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611d423383611dfd565b611d5e5760405162461bcd60e51b81526004016108579061297b565b6116a68484848461201a565b60606000611d778361204d565b600101905060008167ffffffffffffffff811115611d9757611d9761260e565b6040519080825280601f01601f191660200182016040528015611dc1576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611dcb57509392505050565b600080611e09836111f0565b9050806001600160a01b0316846001600160a01b03161480611e305750611e308185611720565b80611e545750836001600160a01b0316611e49846107bc565b6001600160a01b0316145b949350505050565b826001600160a01b0316611e6f826111f0565b6001600160a01b031614611e955760405162461bcd60e51b815260040161085790612a43565b6001600160a01b038216611ef75760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610857565b826001600160a01b0316611f0a826111f0565b6001600160a01b031614611f305760405162461bcd60e51b815260040161085790612a43565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008082611fd0856127106129ed565b611fda9190612a04565b61270f1115949350505050565b611ff18383612125565b611ffe60008484846122b0565b6108f85760405162461bcd60e51b815260040161085790612a88565b612025848484611e5c565b612031848484846122b0565b6116a65760405162461bcd60e51b815260040161085790612a88565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061208c5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106120b8576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106120d657662386f26fc10000830492506010015b6305f5e10083106120ee576305f5e100830492506008015b612710831061210257612710830492506004015b60648310612114576064830492506002015b600a83106107245760010192915050565b6001600160a01b03821661217b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610857565b6000818152600260205260409020546001600160a01b0316156121e05760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610857565b6000818152600260205260409020546001600160a01b0316156122455760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610857565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160a01b0384163b156123a657604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906122f4903390899088908890600401612ada565b6020604051808303816000875af192505050801561232f575060408051601f3d908101601f1916820190925261232c91810190612b17565b60015b61238c573d80801561235d576040519150601f19603f3d011682016040523d82523d6000602084013e612362565b606091505b5080516000036123845760405162461bcd60e51b815260040161085790612a88565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611e54565b506001949350505050565b6001600160e01b03198116811461190057600080fd5b6000602082840312156123d957600080fd5b8135611719816123b1565b60005b838110156123ff5781810151838201526020016123e7565b50506000910152565b600081518084526124208160208601602086016123e4565b601f01601f19169290920160200192915050565b6020815260006117196020830184612408565b60006020828403121561245957600080fd5b5035919050565b6001600160a01b038116811461190057600080fd5b6000806040838503121561248857600080fd5b823561249381612460565b946020939093013593505050565b6000806000606084860312156124b657600080fd5b83356124c181612460565b925060208401356124d181612460565b929592945050506040919091013590565b60006101608083526124f68184018f612408565b9050828103602084015261250a818e612408565b6001600160a01b039c8d1660408501529a8c166060840152505096909816608087015264ffffffffff94851660a08701529290931660c085015261ffff90811660e0850152909116610100830152610120820152610140019190915292915050565b60006020828403121561257e57600080fd5b813561171981612460565b634e487b7160e01b600052602160045260246000fd5b60208101600683106125c157634e487b7160e01b600052602160045260246000fd5b91905290565b801515811461190057600080fd5b600080604083850312156125e857600080fd5b82356125f381612460565b91506020830135612603816125c7565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561263a57600080fd5b843561264581612460565b9350602085013561265581612460565b925060408501359150606085013567ffffffffffffffff8082111561267957600080fd5b818701915087601f83011261268d57600080fd5b81358181111561269f5761269f61260e565b604051601f8201601f19908116603f011681019083821181831017156126c7576126c761260e565b816040528281528a60208487010111156126e057600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561271757600080fd5b823561272281612460565b9150602083013561260381612460565b600181811c9082168061274657607f821691505b60208210810361276657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107245761072461276c565b818103818111156107245761072461276c565b6000600182016127ba576127ba61276c565b5060010190565b6000602082840312156127d357600080fd5b5051919050565b8054600090600181811c90808316806127f457607f831692505b6020808410820361281557634e487b7160e01b600052602260045260246000fd5b83885260208801828015612830576001811461284657612871565b60ff198716825285151560051b82019750612871565b60008981526020902060005b8781101561286b57815484820152908601908401612852565b83019850505b5050505050505092915050565b60408152600061016080604084015261289b6101a08401866127da565b838103603f190160608501526128b481600188016127da565b90506128ca60028701546001600160a01b031690565b6001600160a01b0390811660808601526003870154811660a080870191909152600488015491821660c087015264ffffffffff9082901c811660e087015260c882901c1661010086015260f01c610120850152600586015461ffff16610140850152600686015491840191909152600790940154610180830152506020015290565b6000835161295e8184602088016123e4565b8351908301906129728183602088016123e4565b01949350505050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b64ffffffffff8181168382160190808211156129e6576129e661276c565b5092915050565b80820281158282048414176107245761072461276c565b600082612a2157634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612a3857600080fd5b8151611719816125c7565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612b0d90830184612408565b9695505050505050565b600060208284031215612b2957600080fd5b8151611719816123b156fea2646970667358221220b54a108d0a11883a5989323f8a4edef398aff0f8aa22f84eb9c492898330757464736f6c63430008130033000000000000000000000000000000000000000000000000000000000000005400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007fa1f06b60a6053ce3295181a0922856d9c8ec3d000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000d24ecef3aa9257383bd3341e63f6cd73951186df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001518000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000003782dace9d90000000000000000000000000000000000000000000000000000012dfb0cb5e88000000000000000000000000000000000000000000000000000000000000000000643727970746f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044865726f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000643727970746f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044865726f00000000000000000000000000000000000000000000000000000000