Mainnet
Testnet
SEDRF (SDF)

SEDRF (SDF)

Overview

Max Total supply:
1,000
SDF
Holders:
1 addresses
Total transfers:
1

Token info

Contract:
Name:
SEDRF
Symbol:
SDF
Decimals:
18
Token type:
wrc20
Are you the contract creator? Verify and Publish your contract source code.

Creation bytecode

0x6101606040523480156200001257600080fd5b506040518060400160405280600581526020017f5345445246000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f53454452460000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f53444600000000000000000000000000000000000000000000000000000000008152508160039081620000fd919062000fdf565b5080600490816200010f919062000fdf565b5050506200012d6005836200021160201b620014881790919060201c565b6101208181525050620001506006826200021160201b620014881790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506200018f6200026e60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200020b33620001e2620002cb60201b60201c565b600a620001f0919062001256565b6103e8620001ff9190620012a7565b620002d460201b60201c565b620018a7565b600060208351101562000237576200022f83620002ef60201b60201c565b905062000268565b826200024e836200035c60201b620014cc1760201c565b60000190816200025f919062000fdf565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620002b095949392919062001363565b60405160208183030381529060405280519060200120905090565b60006012905090565b620002eb82826200036660201b620014d61760201c565b5050565b600080829050601f815111156200033f57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200033691906200144f565b60405180910390fd5b8051816200034d90620014a5565b60001c1760001b915050919050565b6000819050919050565b6200037d82826200042460201b620015631760201c565b6200038d6200059160201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620003bb620005b560201b60201c565b1115620003ff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003f6906200158b565b60405180910390fd5b6200041e600b620005bf60201b620016b91783620005d760201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000496576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200048d90620015fd565b60405180910390fd5b620004aa60008383620008fc60201b60201c565b8060026000828254620004be91906200161f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200057191906200165a565b60405180910390a36200058d600083836200090160201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620005cf91906200161f565b905092915050565b6000806000858054905090506000808214620006a7576200060287600184036200091e60201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620006e3565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200071684868860201c565b9250600082118015620007495750620007346200093360201b60201c565b65ffffffffffff16816000015163ffffffff16145b15620007d15762000765836200095060201b620016cf1760201c565b6200077a88600185036200091e60201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550620008f2565b8660405180604001604052806200080a620007f16200093360201b60201c565b65ffffffffffff16620009be60201b6200173a1760201c565b63ffffffff1681526020016200082b866200095060201b620016cf1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b6200091983838362000a1460201b6200178d1760201c565b505050565b60008260005281602060002001905092915050565b60006200094b4362000a6460201b620017b81760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115620009b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009ad90620016ed565b60405180910390fd5b819050919050565b600063ffffffff801682111562000a0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a039062001785565b60405180910390fd5b819050919050565b62000a2c83838362000abc60201b6200180d1760201c565b62000a5f62000a418462000ac160201b60201c565b62000a528462000ac160201b60201c565b8362000b2a60201b60201c565b505050565b600065ffffffffffff801682111562000ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aab906200181d565b60405180910390fd5b819050919050565b505050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000b675750600081115b1562000d4857600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000c5a5760008062000c01600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000d4d60201b620018121785620005d760201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000c4f9291906200183f565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000d475760008062000cee600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620005bf60201b620016b91785620005d760201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000d3c9291906200183f565b60405180910390a250505b5b505050565b6000818362000d5d91906200186c565b905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000de757607f821691505b60208210810362000dfd5762000dfc62000d9f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000e677fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000e28565b62000e73868362000e28565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000ec062000eba62000eb48462000e8b565b62000e95565b62000e8b565b9050919050565b6000819050919050565b62000edc8362000e9f565b62000ef462000eeb8262000ec7565b84845462000e35565b825550505050565b600090565b62000f0b62000efc565b62000f1881848462000ed1565b505050565b5b8181101562000f405762000f3460008262000f01565b60018101905062000f1e565b5050565b601f82111562000f8f5762000f598162000e03565b62000f648462000e18565b8101602085101562000f74578190505b62000f8c62000f838562000e18565b83018262000f1d565b50505b505050565b600082821c905092915050565b600062000fb46000198460080262000f94565b1980831691505092915050565b600062000fcf838362000fa1565b9150826002028217905092915050565b62000fea8262000d65565b67ffffffffffffffff81111562001006576200100562000d70565b5b62001012825462000dce565b6200101f82828562000f44565b600060209050601f83116001811462001057576000841562001042578287015190505b6200104e858262000fc1565b865550620010be565b601f198416620010678662000e03565b60005b8281101562001091578489015182556001820191506020850194506020810190506200106a565b86831015620010b15784890151620010ad601f89168262000fa1565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562001154578086048111156200112c576200112b620010c6565b5b60018516156200113c5780820291505b80810290506200114c85620010f5565b94506200110c565b94509492505050565b6000826200116f576001905062001242565b816200117f576000905062001242565b8160018114620011985760028114620011a357620011d9565b600191505062001242565b60ff841115620011b857620011b7620010c6565b5b8360020a915084821115620011d257620011d1620010c6565b5b5062001242565b5060208310610133831016604e8410600b8410161715620012135782820a9050838111156200120d576200120c620010c6565b5b62001242565b62001222848484600162001102565b925090508184048111156200123c576200123b620010c6565b5b81810290505b9392505050565b600060ff82169050919050565b6000620012638262000e8b565b9150620012708362001249565b92506200129f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200115d565b905092915050565b6000620012b48262000e8b565b9150620012c18362000e8b565b9250828202620012d18162000e8b565b91508282048414831517620012eb57620012ea620010c6565b5b5092915050565b6000819050919050565b6200130781620012f2565b82525050565b620013188162000e8b565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200134b826200131e565b9050919050565b6200135d816200133e565b82525050565b600060a0820190506200137a6000830188620012fc565b620013896020830187620012fc565b620013986040830186620012fc565b620013a760608301856200130d565b620013b6608083018462001352565b9695505050505050565b600082825260208201905092915050565b60005b83811015620013f1578082015181840152602081019050620013d4565b60008484015250505050565b6000601f19601f8301169050919050565b60006200141b8262000d65565b620014278185620013c0565b935062001439818560208601620013d1565b6200144481620013fd565b840191505092915050565b600060208201905081810360008301526200146b81846200140e565b905092915050565b600081519050919050565b6000819050602082019050919050565b60006200149c8251620012f2565b80915050919050565b6000620014b28262001473565b82620014be846200147e565b9050620014cb816200148e565b925060208210156200150e57620015097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262000e28565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b600062001573603083620013c0565b9150620015808262001515565b604082019050919050565b60006020820190508181036000830152620015a68162001564565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620015e5601f83620013c0565b9150620015f282620015ad565b602082019050919050565b600060208201905081810360008301526200161881620015d6565b9050919050565b60006200162c8262000e8b565b9150620016398362000e8b565b9250828201905080821115620016545762001653620010c6565b5b92915050565b60006020820190506200167160008301846200130d565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000620016d5602783620013c0565b9150620016e28262001677565b604082019050919050565b600060208201905081810360008301526200170881620016c6565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b60006200176d602683620013c0565b91506200177a826200170f565b604082019050919050565b60006020820190508181036000830152620017a0816200175e565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600062001805602683620013c0565b91506200181282620017a7565b604082019050919050565b600060208201905081810360008301526200183881620017f6565b9050919050565b60006040820190506200185660008301856200130d565b6200186560208301846200130d565b9392505050565b6000620018798262000e8b565b9150620018868362000e8b565b9250828203905081811115620018a157620018a0620010c6565b5b92915050565b60805160a05160c05160e051610100516101205161014051614d29620019026000396000610cc501526000610c91015260006127590152600061273801526000611cff01526000611d5501526000611d7e0152614d296000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063a457c2d711610097578063d505accf11610071578063d505accf14610597578063d9d98ce4146105b3578063dd62ed3e146105e3578063f1127ed814610613576101c4565b8063a457c2d71461051b578063a9059cbb1461054b578063c3cda5201461057b576101c4565b80638e539e8c116100d35780638e539e8c1461047f57806391ddadf4146104af57806395d89b41146104cd5780639ab24eb0146104eb576101c4565b806370a08231146103fb5780637ecebe001461042b57806384b0196e1461045b576101c4565b80633a46b1a8116101665780635c19a95c116101405780635c19a95c1461034f5780635cffe9de1461036b578063613255ab1461039b5780636fcfff45146103cb576101c4565b80633a46b1a8146102d15780634bf5d7e914610301578063587cde1e1461031f576101c4565b806323b872dd116101a257806323b872dd14610235578063313ce567146102655780633644e5151461028357806339509351146102a1576101c4565b806306fdde03146101c9578063095ea7b3146101e757806318160ddd14610217575b600080fd5b6101d1610643565b6040516101de9190612ff3565b60405180910390f35b61020160048036038101906101fc91906130b3565b6106d5565b60405161020e919061310e565b60405180910390f35b61021f6106f8565b60405161022c9190613138565b60405180910390f35b61024f600480360381019061024a9190613153565b610702565b60405161025c919061310e565b60405180910390f35b61026d610731565b60405161027a91906131c2565b60405180910390f35b61028b61073a565b60405161029891906131f6565b60405180910390f35b6102bb60048036038101906102b691906130b3565b610749565b6040516102c8919061310e565b60405180910390f35b6102eb60048036038101906102e691906130b3565b610780565b6040516102f89190613138565b60405180910390f35b610309610823565b6040516103169190612ff3565b60405180910390f35b61033960048036038101906103349190613211565b6108b1565b604051610346919061324d565b60405180910390f35b61036960048036038101906103649190613211565b61091a565b005b6103856004803603810190610380919061330b565b61092e565b604051610392919061310e565b60405180910390f35b6103b560048036038101906103b09190613211565b610b1b565b6040516103c29190613138565b60405180910390f35b6103e560048036038101906103e09190613211565b610b92565b6040516103f291906133b2565b60405180910390f35b61041560048036038101906104109190613211565b610be6565b6040516104229190613138565b60405180910390f35b61044560048036038101906104409190613211565b610c2e565b6040516104529190613138565b60405180910390f35b610463610c7e565b60405161047697969594939291906134c6565b60405180910390f35b6104996004803603810190610494919061354a565b610d80565b6040516104a69190613138565b60405180910390f35b6104b7610de5565b6040516104c49190613598565b60405180910390f35b6104d5610df5565b6040516104e29190612ff3565b60405180910390f35b61050560048036038101906105009190613211565b610e87565b6040516105129190613138565b60405180910390f35b610535600480360381019061053091906130b3565b610f8f565b604051610542919061310e565b60405180910390f35b610565600480360381019061056091906130b3565b611006565b604051610572919061310e565b60405180910390f35b6105956004803603810190610590919061360b565b611029565b005b6105b160048036038101906105ac9190613698565b61112d565b005b6105cd60048036038101906105c891906130b3565b61126f565b6040516105da9190613138565b60405180910390f35b6105fd60048036038101906105f8919061373a565b6112f1565b60405161060a9190613138565b60405180910390f35b61062d600480360381019061062891906137a6565b611378565b60405161063a919061385b565b60405180910390f35b606060038054610652906138a5565b80601f016020809104026020016040519081016040528092919081815260200182805461067e906138a5565b80156106cb5780601f106106a0576101008083540402835291602001916106cb565b820191906000526020600020905b8154815290600101906020018083116106ae57829003601f168201915b5050505050905090565b6000806106e0611828565b90506106ed818585611830565b600191505092915050565b6000600254905090565b60008061070d611828565b905061071a8582856119f9565b610725858585611a85565b60019150509392505050565b60006012905090565b6000610744611cfb565b905090565b600080610754611828565b905061077581858561076685896112f1565b6107709190613905565b611830565b600191505092915050565b600061078a610de5565b65ffffffffffff1682106107d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ca90613985565b60405180910390fd5b61081b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611db2565b905092915050565b60604361082e610de5565b65ffffffffffff1614610876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086d906139f1565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61092b610925611828565b82611efa565b50565b600061093985610b1b565b84111561097b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097290613a83565b60405180910390fd5b6000610987868661126f565b90506109938786612014565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b81526004016109f796959493929190613af0565b6020604051808303816000875af1158015610a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3a9190613b61565b14610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190613c00565b60405180910390fd5b6000610a84612022565b9050610a9c88308489610a979190613905565b6119f9565b6000821480610ad75750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610af657610af1888388610aec9190613905565b612027565b610b0c565b610b008887612027565b610b0b888284611a85565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610b57576000610b8b565b610b5f6106f8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610b8a9190613c20565b5b9050919050565b6000610bdf600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061173a565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610c77600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612035565b9050919050565b600060608060008060006060610cbe60057f000000000000000000000000000000000000000000000000000000000000000061204390919063ffffffff16565b610cf260067f000000000000000000000000000000000000000000000000000000000000000061204390919063ffffffff16565b46306000801b600067ffffffffffffffff811115610d1357610d12613c54565b5b604051908082528060200260200182016040528015610d415781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000610d8a610de5565b65ffffffffffff168210610dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dca90613985565b60405180910390fd5b610dde600b83611db2565b9050919050565b6000610df0436117b8565b905090565b606060048054610e04906138a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610e30906138a5565b8015610e7d5780601f10610e5257610100808354040283529160200191610e7d565b820191906000526020600020905b815481529060010190602001808311610e6057829003601f168201915b5050505050905090565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610f6657600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001820381548110610f2b57610f2a613c83565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610f69565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610f9a611828565b90506000610fa882866112f1565b905083811015610fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe490613d24565b60405180910390fd5b610ffa8286868403611830565b60019250505092915050565b600080611011611828565b905061101e818585611a85565b600191505092915050565b8342111561106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390613d90565b60405180910390fd5b60006110ce6110c67fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016110ab9493929190613db0565b604051602081830303815290604052805190602001206120f3565b85858561210d565b90506110d981612138565b861461111a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111190613e41565b60405180910390fd5b6111248188611efa565b50505050505050565b83421115611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116790613ead565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861119f8c612138565b896040516020016111b596959493929190613ecd565b60405160208183030381529060405280519060200120905060006111d8826120f3565b905060006111e88287878761210d565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124f90613f7a565b60405180910390fd5b6112638a8a8a611830565b50505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146112df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d690613fe6565b60405180910390fd5b6112e98383612196565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611380612f25565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106113d7576113d6613c83565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b60006020835110156114a45761149d8361219e565b90506114c6565b826114ae836114cc565b60000190816114bd91906141b2565b5060ff60001b90505b92915050565b6000819050919050565b6114e08282611563565b6114e8612206565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661150e6106f8565b111561154f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611546906142f6565b60405180910390fd5b61155d600b6116b98361222a565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c990614362565b60405180910390fd5b6115de60008383612505565b80600260008282546115f09190613905565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116a19190613138565b60405180910390a36116b56000838361250a565b5050565b600081836116c79190613905565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611732576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611729906143f4565b60405180910390fd5b819050919050565b600063ffffffff8016821115611785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177c90614486565b60405180910390fd5b819050919050565b61179883838361180d565b6117b36117a4846108b1565b6117ad846108b1565b8361251a565b505050565b600065ffffffffffff8016821115611805576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fc90614518565b60405180910390fd5b819050919050565b505050565b600081836118209190613c20565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361189f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611896906145aa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361190e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119059061463c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119ec9190613138565b60405180910390a3505050565b6000611a0584846112f1565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a7f5781811015611a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a68906146a8565b60405180910390fd5b611a7e8484848403611830565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aeb9061473a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5a906147cc565b60405180910390fd5b611b6e838383612505565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611beb9061485e565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ce29190613138565b60405180910390a3611cf584848461250a565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611d7757507f000000000000000000000000000000000000000000000000000000000000000046145b15611da4577f00000000000000000000000000000000000000000000000000000000000000009050611daf565b611dac612713565b90505b90565b600080838054905090506000808290506005831115611e28576000611dd6846127a9565b84611de19190613c20565b905085611dee88836128a2565b60000160009054906101000a900463ffffffff1663ffffffff161115611e1657809150611e26565b600181611e239190613905565b92505b505b5b80821015611e88576000611e3d83836128b7565b905085611e4a88836128a2565b60000160009054906101000a900463ffffffff1663ffffffff161115611e7257809150611e82565b600181611e7f9190613905565b92505b50611e29565b60008114611ece57611e9d86600183036128a2565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611ed1565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6000611f05836108b1565b90506000611f1284610be6565b905082600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461200e82848361251a565b50505050565b61201e82826114d6565b5050565b600090565b61203182826128dd565b5050565b600081600001549050919050565b606060ff60001b831461206057612059836128fb565b90506120ed565b81805461206c906138a5565b80601f0160208091040260200160405190810160405280929190818152602001828054612098906138a5565b80156120e55780601f106120ba576101008083540402835291602001916120e5565b820191906000526020600020905b8154815290600101906020018083116120c857829003601f168201915b505050505090505b92915050565b6000612106612100611cfb565b8361296f565b9050919050565b600080600061211e878787876129b0565b9150915061212b81612a92565b8192505050949350505050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061218581612035565b915061219081612bf8565b50919050565b600092915050565b600080829050601f815111156121eb57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016121e29190612ff3565b60405180910390fd5b8051816121f7906148ae565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146122f05761224c87600184036128a2565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505061232c565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061236184868863ffffffff16565b925060008211801561238b5750612376610de5565b65ffffffffffff16816000015163ffffffff16145b156123fc57612399836116cf565b6123a688600185036128a2565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506124fb565b866040518060400160405280612420612413610de5565b65ffffffffffff1661173a565b63ffffffff168152602001612434866116cf565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b61251583838361178d565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125565750600081115b1561270e57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612634576000806125dd600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206118128561222a565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612629929190614915565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461270d576000806126b6600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206116b98561222a565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612702929190614915565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000463060405160200161278e95949392919061493e565b60405160208183030381529060405280519060200120905090565b60008082036127bb576000905061289d565b600060016127c884612c0e565b901c6001901b905060018184816127e2576127e1614991565b5b048201901c905060018184816127fb576127fa614991565b5b048201901c9050600181848161281457612813614991565b5b048201901c9050600181848161282d5761282c614991565b5b048201901c9050600181848161284657612845614991565b5b048201901c9050600181848161285f5761285e614991565b5b048201901c9050600181848161287857612877614991565b5b048201901c90506128998182858161289357612892614991565b5b04612cef565b9150505b919050565b60008260005281602060002001905092915050565b600060028284186128c891906149c0565b8284166128d59190613905565b905092915050565b6128e78282612d08565b6128f5600b6118128361222a565b50505050565b6060600061290883612ed5565b90506000602067ffffffffffffffff81111561292757612926613c54565b5b6040519080825280601f01601f1916602001820160405280156129595781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156129eb576000600391509150612a89565b600060018787878760405160008152602001604052604051612a1094939291906149f1565b6020604051602081039080840390855afa158015612a32573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612a8057600060019250925050612a89565b80600092509250505b94509492505050565b60006004811115612aa657612aa5614a36565b5b816004811115612ab957612ab8614a36565b5b0315612bf55760016004811115612ad357612ad2614a36565b5b816004811115612ae657612ae5614a36565b5b03612b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1d90614ab1565b60405180910390fd5b60026004811115612b3a57612b39614a36565b5b816004811115612b4d57612b4c614a36565b5b03612b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8490614b1d565b60405180910390fd5b60036004811115612ba157612ba0614a36565b5b816004811115612bb457612bb3614a36565b5b03612bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612beb90614baf565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b600080600090506000608084901c1115612c3057608083901c92506080810190505b6000604084901c1115612c4b57604083901c92506040810190505b6000602084901c1115612c6657602083901c92506020810190505b6000601084901c1115612c8157601083901c92506010810190505b6000600884901c1115612c9c57600883901c92506008810190505b6000600484901c1115612cb757600483901c92506004810190505b6000600284901c1115612cd257600283901c92506002810190505b6000600184901c1115612ce6576001810190505b80915050919050565b6000818310612cfe5781612d00565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e90614c41565b60405180910390fd5b612d8382600083612505565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0090614cd3565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612ebc9190613138565b60405180910390a3612ed08360008461250a565b505050565b60008060ff8360001c169050601f811115612f1c576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f9d578082015181840152602081019050612f82565b60008484015250505050565b6000601f19601f8301169050919050565b6000612fc582612f63565b612fcf8185612f6e565b9350612fdf818560208601612f7f565b612fe881612fa9565b840191505092915050565b6000602082019050818103600083015261300d8184612fba565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061304a8261301f565b9050919050565b61305a8161303f565b811461306557600080fd5b50565b60008135905061307781613051565b92915050565b6000819050919050565b6130908161307d565b811461309b57600080fd5b50565b6000813590506130ad81613087565b92915050565b600080604083850312156130ca576130c9613015565b5b60006130d885828601613068565b92505060206130e98582860161309e565b9150509250929050565b60008115159050919050565b613108816130f3565b82525050565b600060208201905061312360008301846130ff565b92915050565b6131328161307d565b82525050565b600060208201905061314d6000830184613129565b92915050565b60008060006060848603121561316c5761316b613015565b5b600061317a86828701613068565b935050602061318b86828701613068565b925050604061319c8682870161309e565b9150509250925092565b600060ff82169050919050565b6131bc816131a6565b82525050565b60006020820190506131d760008301846131b3565b92915050565b6000819050919050565b6131f0816131dd565b82525050565b600060208201905061320b60008301846131e7565b92915050565b60006020828403121561322757613226613015565b5b600061323584828501613068565b91505092915050565b6132478161303f565b82525050565b6000602082019050613262600083018461323e565b92915050565b60006132738261303f565b9050919050565b61328381613268565b811461328e57600080fd5b50565b6000813590506132a08161327a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126132cb576132ca6132a6565b5b8235905067ffffffffffffffff8111156132e8576132e76132ab565b5b602083019150836001820283011115613304576133036132b0565b5b9250929050565b60008060008060006080868803121561332757613326613015565b5b600061333588828901613291565b955050602061334688828901613068565b94505060406133578882890161309e565b935050606086013567ffffffffffffffff8111156133785761337761301a565b5b613384888289016132b5565b92509250509295509295909350565b600063ffffffff82169050919050565b6133ac81613393565b82525050565b60006020820190506133c760008301846133a3565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613402816133cd565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61343d8161307d565b82525050565b600061344f8383613434565b60208301905092915050565b6000602082019050919050565b600061347382613408565b61347d8185613413565b935061348883613424565b8060005b838110156134b95781516134a08882613443565b97506134ab8361345b565b92505060018101905061348c565b5085935050505092915050565b600060e0820190506134db600083018a6133f9565b81810360208301526134ed8189612fba565b905081810360408301526135018188612fba565b90506135106060830187613129565b61351d608083018661323e565b61352a60a08301856131e7565b81810360c083015261353c8184613468565b905098975050505050505050565b6000602082840312156135605761355f613015565b5b600061356e8482850161309e565b91505092915050565b600065ffffffffffff82169050919050565b61359281613577565b82525050565b60006020820190506135ad6000830184613589565b92915050565b6135bc816131a6565b81146135c757600080fd5b50565b6000813590506135d9816135b3565b92915050565b6135e8816131dd565b81146135f357600080fd5b50565b600081359050613605816135df565b92915050565b60008060008060008060c0878903121561362857613627613015565b5b600061363689828a01613068565b965050602061364789828a0161309e565b955050604061365889828a0161309e565b945050606061366989828a016135ca565b935050608061367a89828a016135f6565b92505060a061368b89828a016135f6565b9150509295509295509295565b600080600080600080600060e0888a0312156136b7576136b6613015565b5b60006136c58a828b01613068565b97505060206136d68a828b01613068565b96505060406136e78a828b0161309e565b95505060606136f88a828b0161309e565b94505060806137098a828b016135ca565b93505060a061371a8a828b016135f6565b92505060c061372b8a828b016135f6565b91505092959891949750929550565b6000806040838503121561375157613750613015565b5b600061375f85828601613068565b925050602061377085828601613068565b9150509250929050565b61378381613393565b811461378e57600080fd5b50565b6000813590506137a08161377a565b92915050565b600080604083850312156137bd576137bc613015565b5b60006137cb85828601613068565b92505060206137dc85828601613791565b9150509250929050565b6137ef81613393565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613826816137f5565b82525050565b60408201600082015161384260008501826137e6565b506020820151613855602085018261381d565b50505050565b6000604082019050613870600083018461382c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806138bd57607f821691505b6020821081036138d0576138cf613876565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139108261307d565b915061391b8361307d565b9250828201905080821115613933576139326138d6565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b600061396f601983612f6e565b915061397a82613939565b602082019050919050565b6000602082019050818103600083015261399e81613962565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b60006139db601d83612f6e565b91506139e6826139a5565b602082019050919050565b60006020820190508181036000830152613a0a816139ce565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b6000613a6d602b83612f6e565b9150613a7882613a11565b604082019050919050565b60006020820190508181036000830152613a9c81613a60565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b6000613acf8385613aa3565b9350613adc838584613ab4565b613ae583612fa9565b840190509392505050565b600060a082019050613b05600083018961323e565b613b12602083018861323e565b613b1f6040830187613129565b613b2c6060830186613129565b8181036080830152613b3f818486613ac3565b9050979650505050505050565b600081519050613b5b816135df565b92915050565b600060208284031215613b7757613b76613015565b5b6000613b8584828501613b4c565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b6000613bea602483612f6e565b9150613bf582613b8e565b604082019050919050565b60006020820190508181036000830152613c1981613bdd565b9050919050565b6000613c2b8261307d565b9150613c368361307d565b9250828203905081811115613c4e57613c4d6138d6565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613d0e602583612f6e565b9150613d1982613cb2565b604082019050919050565b60006020820190508181036000830152613d3d81613d01565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000613d7a601d83612f6e565b9150613d8582613d44565b602082019050919050565b60006020820190508181036000830152613da981613d6d565b9050919050565b6000608082019050613dc560008301876131e7565b613dd2602083018661323e565b613ddf6040830185613129565b613dec6060830184613129565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000613e2b601983612f6e565b9150613e3682613df5565b602082019050919050565b60006020820190508181036000830152613e5a81613e1e565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000613e97601d83612f6e565b9150613ea282613e61565b602082019050919050565b60006020820190508181036000830152613ec681613e8a565b9050919050565b600060c082019050613ee260008301896131e7565b613eef602083018861323e565b613efc604083018761323e565b613f096060830186613129565b613f166080830185613129565b613f2360a0830184613129565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000613f64601e83612f6e565b9150613f6f82613f2e565b602082019050919050565b60006020820190508181036000830152613f9381613f57565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b6000613fd0601b83612f6e565b9150613fdb82613f9a565b602082019050919050565b60006020820190508181036000830152613fff81613fc3565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026140687fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261402b565b614072868361402b565b95508019841693508086168417925050509392505050565b6000819050919050565b60006140af6140aa6140a58461307d565b61408a565b61307d565b9050919050565b6000819050919050565b6140c983614094565b6140dd6140d5826140b6565b848454614038565b825550505050565b600090565b6140f26140e5565b6140fd8184846140c0565b505050565b5b81811015614121576141166000826140ea565b600181019050614103565b5050565b601f8211156141665761413781614006565b6141408461401b565b8101602085101561414f578190505b61416361415b8561401b565b830182614102565b50505b505050565b600082821c905092915050565b60006141896000198460080261416b565b1980831691505092915050565b60006141a28383614178565b9150826002028217905092915050565b6141bb82612f63565b67ffffffffffffffff8111156141d4576141d3613c54565b5b6141de82546138a5565b6141e9828285614125565b600060209050601f83116001811461421c576000841561420a578287015190505b6142148582614196565b86555061427c565b601f19841661422a86614006565b60005b828110156142525784890151825560018201915060208501945060208101905061422d565b8683101561426f578489015161426b601f891682614178565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b60006142e0603083612f6e565b91506142eb82614284565b604082019050919050565b6000602082019050818103600083015261430f816142d3565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061434c601f83612f6e565b915061435782614316565b602082019050919050565b6000602082019050818103600083015261437b8161433f565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006143de602783612f6e565b91506143e982614382565b604082019050919050565b6000602082019050818103600083015261440d816143d1565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614470602683612f6e565b915061447b82614414565b604082019050919050565b6000602082019050818103600083015261449f81614463565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614502602683612f6e565b915061450d826144a6565b604082019050919050565b60006020820190508181036000830152614531816144f5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614594602483612f6e565b915061459f82614538565b604082019050919050565b600060208201905081810360008301526145c381614587565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614626602283612f6e565b9150614631826145ca565b604082019050919050565b6000602082019050818103600083015261465581614619565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614692601d83612f6e565b915061469d8261465c565b602082019050919050565b600060208201905081810360008301526146c181614685565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614724602583612f6e565b915061472f826146c8565b604082019050919050565b6000602082019050818103600083015261475381614717565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006147b6602383612f6e565b91506147c18261475a565b604082019050919050565b600060208201905081810360008301526147e5816147a9565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614848602683612f6e565b9150614853826147ec565b604082019050919050565b600060208201905081810360008301526148778161483b565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006148a582516131dd565b80915050919050565b60006148b98261487e565b826148c384614889565b90506148ce81614899565b9250602082101561490e576149097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080261402b565b831692505b5050919050565b600060408201905061492a6000830185613129565b6149376020830184613129565b9392505050565b600060a08201905061495360008301886131e7565b61496060208301876131e7565b61496d60408301866131e7565b61497a6060830185613129565b614987608083018461323e565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006149cb8261307d565b91506149d68361307d565b9250826149e6576149e5614991565b5b828204905092915050565b6000608082019050614a0660008301876131e7565b614a1360208301866131b3565b614a2060408301856131e7565b614a2d60608301846131e7565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000614a9b601883612f6e565b9150614aa682614a65565b602082019050919050565b60006020820190508181036000830152614aca81614a8e565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614b07601f83612f6e565b9150614b1282614ad1565b602082019050919050565b60006020820190508181036000830152614b3681614afa565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000614b99602283612f6e565b9150614ba482614b3d565b604082019050919050565b60006020820190508181036000830152614bc881614b8c565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614c2b602183612f6e565b9150614c3682614bcf565b604082019050919050565b60006020820190508181036000830152614c5a81614c1e565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614cbd602283612f6e565b9150614cc882614c61565b604082019050919050565b60006020820190508181036000830152614cec81614cb0565b905091905056fea26469706673582212202772086e3146cf70aeec56b6642e4d3738ca01ba2efdc1181947e2c0d16ee82964736f6c63430008120033

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063a457c2d711610097578063d505accf11610071578063d505accf14610597578063d9d98ce4146105b3578063dd62ed3e146105e3578063f1127ed814610613576101c4565b8063a457c2d71461051b578063a9059cbb1461054b578063c3cda5201461057b576101c4565b80638e539e8c116100d35780638e539e8c1461047f57806391ddadf4146104af57806395d89b41146104cd5780639ab24eb0146104eb576101c4565b806370a08231146103fb5780637ecebe001461042b57806384b0196e1461045b576101c4565b80633a46b1a8116101665780635c19a95c116101405780635c19a95c1461034f5780635cffe9de1461036b578063613255ab1461039b5780636fcfff45146103cb576101c4565b80633a46b1a8146102d15780634bf5d7e914610301578063587cde1e1461031f576101c4565b806323b872dd116101a257806323b872dd14610235578063313ce567146102655780633644e5151461028357806339509351146102a1576101c4565b806306fdde03146101c9578063095ea7b3146101e757806318160ddd14610217575b600080fd5b6101d1610643565b6040516101de9190612ff3565b60405180910390f35b61020160048036038101906101fc91906130b3565b6106d5565b60405161020e919061310e565b60405180910390f35b61021f6106f8565b60405161022c9190613138565b60405180910390f35b61024f600480360381019061024a9190613153565b610702565b60405161025c919061310e565b60405180910390f35b61026d610731565b60405161027a91906131c2565b60405180910390f35b61028b61073a565b60405161029891906131f6565b60405180910390f35b6102bb60048036038101906102b691906130b3565b610749565b6040516102c8919061310e565b60405180910390f35b6102eb60048036038101906102e691906130b3565b610780565b6040516102f89190613138565b60405180910390f35b610309610823565b6040516103169190612ff3565b60405180910390f35b61033960048036038101906103349190613211565b6108b1565b604051610346919061324d565b60405180910390f35b61036960048036038101906103649190613211565b61091a565b005b6103856004803603810190610380919061330b565b61092e565b604051610392919061310e565b60405180910390f35b6103b560048036038101906103b09190613211565b610b1b565b6040516103c29190613138565b60405180910390f35b6103e560048036038101906103e09190613211565b610b92565b6040516103f291906133b2565b60405180910390f35b61041560048036038101906104109190613211565b610be6565b6040516104229190613138565b60405180910390f35b61044560048036038101906104409190613211565b610c2e565b6040516104529190613138565b60405180910390f35b610463610c7e565b60405161047697969594939291906134c6565b60405180910390f35b6104996004803603810190610494919061354a565b610d80565b6040516104a69190613138565b60405180910390f35b6104b7610de5565b6040516104c49190613598565b60405180910390f35b6104d5610df5565b6040516104e29190612ff3565b60405180910390f35b61050560048036038101906105009190613211565b610e87565b6040516105129190613138565b60405180910390f35b610535600480360381019061053091906130b3565b610f8f565b604051610542919061310e565b60405180910390f35b610565600480360381019061056091906130b3565b611006565b604051610572919061310e565b60405180910390f35b6105956004803603810190610590919061360b565b611029565b005b6105b160048036038101906105ac9190613698565b61112d565b005b6105cd60048036038101906105c891906130b3565b61126f565b6040516105da9190613138565b60405180910390f35b6105fd60048036038101906105f8919061373a565b6112f1565b60405161060a9190613138565b60405180910390f35b61062d600480360381019061062891906137a6565b611378565b60405161063a919061385b565b60405180910390f35b606060038054610652906138a5565b80601f016020809104026020016040519081016040528092919081815260200182805461067e906138a5565b80156106cb5780601f106106a0576101008083540402835291602001916106cb565b820191906000526020600020905b8154815290600101906020018083116106ae57829003601f168201915b5050505050905090565b6000806106e0611828565b90506106ed818585611830565b600191505092915050565b6000600254905090565b60008061070d611828565b905061071a8582856119f9565b610725858585611a85565b60019150509392505050565b60006012905090565b6000610744611cfb565b905090565b600080610754611828565b905061077581858561076685896112f1565b6107709190613905565b611830565b600191505092915050565b600061078a610de5565b65ffffffffffff1682106107d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ca90613985565b60405180910390fd5b61081b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611db2565b905092915050565b60604361082e610de5565b65ffffffffffff1614610876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086d906139f1565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61092b610925611828565b82611efa565b50565b600061093985610b1b565b84111561097b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097290613a83565b60405180910390fd5b6000610987868661126f565b90506109938786612014565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b81526004016109f796959493929190613af0565b6020604051808303816000875af1158015610a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3a9190613b61565b14610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190613c00565b60405180910390fd5b6000610a84612022565b9050610a9c88308489610a979190613905565b6119f9565b6000821480610ad75750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610af657610af1888388610aec9190613905565b612027565b610b0c565b610b008887612027565b610b0b888284611a85565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610b57576000610b8b565b610b5f6106f8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610b8a9190613c20565b5b9050919050565b6000610bdf600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061173a565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610c77600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612035565b9050919050565b600060608060008060006060610cbe60057f534544524600000000000000000000000000000000000000000000000000000561204390919063ffffffff16565b610cf260067f310000000000000000000000000000000000000000000000000000000000000161204390919063ffffffff16565b46306000801b600067ffffffffffffffff811115610d1357610d12613c54565b5b604051908082528060200260200182016040528015610d415781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000610d8a610de5565b65ffffffffffff168210610dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dca90613985565b60405180910390fd5b610dde600b83611db2565b9050919050565b6000610df0436117b8565b905090565b606060048054610e04906138a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610e30906138a5565b8015610e7d5780601f10610e5257610100808354040283529160200191610e7d565b820191906000526020600020905b815481529060010190602001808311610e6057829003601f168201915b5050505050905090565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610f6657600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001820381548110610f2b57610f2a613c83565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610f69565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610f9a611828565b90506000610fa882866112f1565b905083811015610fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe490613d24565b60405180910390fd5b610ffa8286868403611830565b60019250505092915050565b600080611011611828565b905061101e818585611a85565b600191505092915050565b8342111561106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390613d90565b60405180910390fd5b60006110ce6110c67fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016110ab9493929190613db0565b604051602081830303815290604052805190602001206120f3565b85858561210d565b90506110d981612138565b861461111a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111190613e41565b60405180910390fd5b6111248188611efa565b50505050505050565b83421115611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116790613ead565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861119f8c612138565b896040516020016111b596959493929190613ecd565b60405160208183030381529060405280519060200120905060006111d8826120f3565b905060006111e88287878761210d565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124f90613f7a565b60405180910390fd5b6112638a8a8a611830565b50505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146112df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d690613fe6565b60405180910390fd5b6112e98383612196565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611380612f25565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106113d7576113d6613c83565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b60006020835110156114a45761149d8361219e565b90506114c6565b826114ae836114cc565b60000190816114bd91906141b2565b5060ff60001b90505b92915050565b6000819050919050565b6114e08282611563565b6114e8612206565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661150e6106f8565b111561154f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611546906142f6565b60405180910390fd5b61155d600b6116b98361222a565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c990614362565b60405180910390fd5b6115de60008383612505565b80600260008282546115f09190613905565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116a19190613138565b60405180910390a36116b56000838361250a565b5050565b600081836116c79190613905565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611732576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611729906143f4565b60405180910390fd5b819050919050565b600063ffffffff8016821115611785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177c90614486565b60405180910390fd5b819050919050565b61179883838361180d565b6117b36117a4846108b1565b6117ad846108b1565b8361251a565b505050565b600065ffffffffffff8016821115611805576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fc90614518565b60405180910390fd5b819050919050565b505050565b600081836118209190613c20565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361189f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611896906145aa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361190e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119059061463c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119ec9190613138565b60405180910390a3505050565b6000611a0584846112f1565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a7f5781811015611a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a68906146a8565b60405180910390fd5b611a7e8484848403611830565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aeb9061473a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5a906147cc565b60405180910390fd5b611b6e838383612505565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611beb9061485e565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ce29190613138565b60405180910390a3611cf584848461250a565b50505050565b60007f0000000000000000000000001332159c3decb66771c0b437a0934ce8d47f2ad373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611d7757507f0000000000000000000000000000000000000000000000000000000000000a4146145b15611da4577fe19793bc9aef3555f12e5d9a1a205d826ee2d9ce201b0a1bd63c7e019375b3cd9050611daf565b611dac612713565b90505b90565b600080838054905090506000808290506005831115611e28576000611dd6846127a9565b84611de19190613c20565b905085611dee88836128a2565b60000160009054906101000a900463ffffffff1663ffffffff161115611e1657809150611e26565b600181611e239190613905565b92505b505b5b80821015611e88576000611e3d83836128b7565b905085611e4a88836128a2565b60000160009054906101000a900463ffffffff1663ffffffff161115611e7257809150611e82565b600181611e7f9190613905565b92505b50611e29565b60008114611ece57611e9d86600183036128a2565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611ed1565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6000611f05836108b1565b90506000611f1284610be6565b905082600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461200e82848361251a565b50505050565b61201e82826114d6565b5050565b600090565b61203182826128dd565b5050565b600081600001549050919050565b606060ff60001b831461206057612059836128fb565b90506120ed565b81805461206c906138a5565b80601f0160208091040260200160405190810160405280929190818152602001828054612098906138a5565b80156120e55780601f106120ba576101008083540402835291602001916120e5565b820191906000526020600020905b8154815290600101906020018083116120c857829003601f168201915b505050505090505b92915050565b6000612106612100611cfb565b8361296f565b9050919050565b600080600061211e878787876129b0565b9150915061212b81612a92565b8192505050949350505050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061218581612035565b915061219081612bf8565b50919050565b600092915050565b600080829050601f815111156121eb57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016121e29190612ff3565b60405180910390fd5b8051816121f7906148ae565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146122f05761224c87600184036128a2565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505061232c565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061236184868863ffffffff16565b925060008211801561238b5750612376610de5565b65ffffffffffff16816000015163ffffffff16145b156123fc57612399836116cf565b6123a688600185036128a2565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506124fb565b866040518060400160405280612420612413610de5565b65ffffffffffff1661173a565b63ffffffff168152602001612434866116cf565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b61251583838361178d565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125565750600081115b1561270e57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612634576000806125dd600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206118128561222a565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612629929190614915565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461270d576000806126b6600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206116b98561222a565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612702929190614915565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f411ab7be7b715dd4a18094f6d7d51a99d9e351a3a98e860c43e3bac581e9db7c7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200161278e95949392919061493e565b60405160208183030381529060405280519060200120905090565b60008082036127bb576000905061289d565b600060016127c884612c0e565b901c6001901b905060018184816127e2576127e1614991565b5b048201901c905060018184816127fb576127fa614991565b5b048201901c9050600181848161281457612813614991565b5b048201901c9050600181848161282d5761282c614991565b5b048201901c9050600181848161284657612845614991565b5b048201901c9050600181848161285f5761285e614991565b5b048201901c9050600181848161287857612877614991565b5b048201901c90506128998182858161289357612892614991565b5b04612cef565b9150505b919050565b60008260005281602060002001905092915050565b600060028284186128c891906149c0565b8284166128d59190613905565b905092915050565b6128e78282612d08565b6128f5600b6118128361222a565b50505050565b6060600061290883612ed5565b90506000602067ffffffffffffffff81111561292757612926613c54565b5b6040519080825280601f01601f1916602001820160405280156129595781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156129eb576000600391509150612a89565b600060018787878760405160008152602001604052604051612a1094939291906149f1565b6020604051602081039080840390855afa158015612a32573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612a8057600060019250925050612a89565b80600092509250505b94509492505050565b60006004811115612aa657612aa5614a36565b5b816004811115612ab957612ab8614a36565b5b0315612bf55760016004811115612ad357612ad2614a36565b5b816004811115612ae657612ae5614a36565b5b03612b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1d90614ab1565b60405180910390fd5b60026004811115612b3a57612b39614a36565b5b816004811115612b4d57612b4c614a36565b5b03612b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8490614b1d565b60405180910390fd5b60036004811115612ba157612ba0614a36565b5b816004811115612bb457612bb3614a36565b5b03612bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612beb90614baf565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b600080600090506000608084901c1115612c3057608083901c92506080810190505b6000604084901c1115612c4b57604083901c92506040810190505b6000602084901c1115612c6657602083901c92506020810190505b6000601084901c1115612c8157601083901c92506010810190505b6000600884901c1115612c9c57600883901c92506008810190505b6000600484901c1115612cb757600483901c92506004810190505b6000600284901c1115612cd257600283901c92506002810190505b6000600184901c1115612ce6576001810190505b80915050919050565b6000818310612cfe5781612d00565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e90614c41565b60405180910390fd5b612d8382600083612505565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0090614cd3565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612ebc9190613138565b60405180910390a3612ed08360008461250a565b505050565b60008060ff8360001c169050601f811115612f1c576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f9d578082015181840152602081019050612f82565b60008484015250505050565b6000601f19601f8301169050919050565b6000612fc582612f63565b612fcf8185612f6e565b9350612fdf818560208601612f7f565b612fe881612fa9565b840191505092915050565b6000602082019050818103600083015261300d8184612fba565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061304a8261301f565b9050919050565b61305a8161303f565b811461306557600080fd5b50565b60008135905061307781613051565b92915050565b6000819050919050565b6130908161307d565b811461309b57600080fd5b50565b6000813590506130ad81613087565b92915050565b600080604083850312156130ca576130c9613015565b5b60006130d885828601613068565b92505060206130e98582860161309e565b9150509250929050565b60008115159050919050565b613108816130f3565b82525050565b600060208201905061312360008301846130ff565b92915050565b6131328161307d565b82525050565b600060208201905061314d6000830184613129565b92915050565b60008060006060848603121561316c5761316b613015565b5b600061317a86828701613068565b935050602061318b86828701613068565b925050604061319c8682870161309e565b9150509250925092565b600060ff82169050919050565b6131bc816131a6565b82525050565b60006020820190506131d760008301846131b3565b92915050565b6000819050919050565b6131f0816131dd565b82525050565b600060208201905061320b60008301846131e7565b92915050565b60006020828403121561322757613226613015565b5b600061323584828501613068565b91505092915050565b6132478161303f565b82525050565b6000602082019050613262600083018461323e565b92915050565b60006132738261303f565b9050919050565b61328381613268565b811461328e57600080fd5b50565b6000813590506132a08161327a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126132cb576132ca6132a6565b5b8235905067ffffffffffffffff8111156132e8576132e76132ab565b5b602083019150836001820283011115613304576133036132b0565b5b9250929050565b60008060008060006080868803121561332757613326613015565b5b600061333588828901613291565b955050602061334688828901613068565b94505060406133578882890161309e565b935050606086013567ffffffffffffffff8111156133785761337761301a565b5b613384888289016132b5565b92509250509295509295909350565b600063ffffffff82169050919050565b6133ac81613393565b82525050565b60006020820190506133c760008301846133a3565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613402816133cd565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61343d8161307d565b82525050565b600061344f8383613434565b60208301905092915050565b6000602082019050919050565b600061347382613408565b61347d8185613413565b935061348883613424565b8060005b838110156134b95781516134a08882613443565b97506134ab8361345b565b92505060018101905061348c565b5085935050505092915050565b600060e0820190506134db600083018a6133f9565b81810360208301526134ed8189612fba565b905081810360408301526135018188612fba565b90506135106060830187613129565b61351d608083018661323e565b61352a60a08301856131e7565b81810360c083015261353c8184613468565b905098975050505050505050565b6000602082840312156135605761355f613015565b5b600061356e8482850161309e565b91505092915050565b600065ffffffffffff82169050919050565b61359281613577565b82525050565b60006020820190506135ad6000830184613589565b92915050565b6135bc816131a6565b81146135c757600080fd5b50565b6000813590506135d9816135b3565b92915050565b6135e8816131dd565b81146135f357600080fd5b50565b600081359050613605816135df565b92915050565b60008060008060008060c0878903121561362857613627613015565b5b600061363689828a01613068565b965050602061364789828a0161309e565b955050604061365889828a0161309e565b945050606061366989828a016135ca565b935050608061367a89828a016135f6565b92505060a061368b89828a016135f6565b9150509295509295509295565b600080600080600080600060e0888a0312156136b7576136b6613015565b5b60006136c58a828b01613068565b97505060206136d68a828b01613068565b96505060406136e78a828b0161309e565b95505060606136f88a828b0161309e565b94505060806137098a828b016135ca565b93505060a061371a8a828b016135f6565b92505060c061372b8a828b016135f6565b91505092959891949750929550565b6000806040838503121561375157613750613015565b5b600061375f85828601613068565b925050602061377085828601613068565b9150509250929050565b61378381613393565b811461378e57600080fd5b50565b6000813590506137a08161377a565b92915050565b600080604083850312156137bd576137bc613015565b5b60006137cb85828601613068565b92505060206137dc85828601613791565b9150509250929050565b6137ef81613393565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613826816137f5565b82525050565b60408201600082015161384260008501826137e6565b506020820151613855602085018261381d565b50505050565b6000604082019050613870600083018461382c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806138bd57607f821691505b6020821081036138d0576138cf613876565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139108261307d565b915061391b8361307d565b9250828201905080821115613933576139326138d6565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b600061396f601983612f6e565b915061397a82613939565b602082019050919050565b6000602082019050818103600083015261399e81613962565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b60006139db601d83612f6e565b91506139e6826139a5565b602082019050919050565b60006020820190508181036000830152613a0a816139ce565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b6000613a6d602b83612f6e565b9150613a7882613a11565b604082019050919050565b60006020820190508181036000830152613a9c81613a60565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b6000613acf8385613aa3565b9350613adc838584613ab4565b613ae583612fa9565b840190509392505050565b600060a082019050613b05600083018961323e565b613b12602083018861323e565b613b1f6040830187613129565b613b2c6060830186613129565b8181036080830152613b3f818486613ac3565b9050979650505050505050565b600081519050613b5b816135df565b92915050565b600060208284031215613b7757613b76613015565b5b6000613b8584828501613b4c565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b6000613bea602483612f6e565b9150613bf582613b8e565b604082019050919050565b60006020820190508181036000830152613c1981613bdd565b9050919050565b6000613c2b8261307d565b9150613c368361307d565b9250828203905081811115613c4e57613c4d6138d6565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613d0e602583612f6e565b9150613d1982613cb2565b604082019050919050565b60006020820190508181036000830152613d3d81613d01565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000613d7a601d83612f6e565b9150613d8582613d44565b602082019050919050565b60006020820190508181036000830152613da981613d6d565b9050919050565b6000608082019050613dc560008301876131e7565b613dd2602083018661323e565b613ddf6040830185613129565b613dec6060830184613129565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000613e2b601983612f6e565b9150613e3682613df5565b602082019050919050565b60006020820190508181036000830152613e5a81613e1e565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000613e97601d83612f6e565b9150613ea282613e61565b602082019050919050565b60006020820190508181036000830152613ec681613e8a565b9050919050565b600060c082019050613ee260008301896131e7565b613eef602083018861323e565b613efc604083018761323e565b613f096060830186613129565b613f166080830185613129565b613f2360a0830184613129565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000613f64601e83612f6e565b9150613f6f82613f2e565b602082019050919050565b60006020820190508181036000830152613f9381613f57565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b6000613fd0601b83612f6e565b9150613fdb82613f9a565b602082019050919050565b60006020820190508181036000830152613fff81613fc3565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026140687fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261402b565b614072868361402b565b95508019841693508086168417925050509392505050565b6000819050919050565b60006140af6140aa6140a58461307d565b61408a565b61307d565b9050919050565b6000819050919050565b6140c983614094565b6140dd6140d5826140b6565b848454614038565b825550505050565b600090565b6140f26140e5565b6140fd8184846140c0565b505050565b5b81811015614121576141166000826140ea565b600181019050614103565b5050565b601f8211156141665761413781614006565b6141408461401b565b8101602085101561414f578190505b61416361415b8561401b565b830182614102565b50505b505050565b600082821c905092915050565b60006141896000198460080261416b565b1980831691505092915050565b60006141a28383614178565b9150826002028217905092915050565b6141bb82612f63565b67ffffffffffffffff8111156141d4576141d3613c54565b5b6141de82546138a5565b6141e9828285614125565b600060209050601f83116001811461421c576000841561420a578287015190505b6142148582614196565b86555061427c565b601f19841661422a86614006565b60005b828110156142525784890151825560018201915060208501945060208101905061422d565b8683101561426f578489015161426b601f891682614178565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b60006142e0603083612f6e565b91506142eb82614284565b604082019050919050565b6000602082019050818103600083015261430f816142d3565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061434c601f83612f6e565b915061435782614316565b602082019050919050565b6000602082019050818103600083015261437b8161433f565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006143de602783612f6e565b91506143e982614382565b604082019050919050565b6000602082019050818103600083015261440d816143d1565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614470602683612f6e565b915061447b82614414565b604082019050919050565b6000602082019050818103600083015261449f81614463565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614502602683612f6e565b915061450d826144a6565b604082019050919050565b60006020820190508181036000830152614531816144f5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614594602483612f6e565b915061459f82614538565b604082019050919050565b600060208201905081810360008301526145c381614587565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614626602283612f6e565b9150614631826145ca565b604082019050919050565b6000602082019050818103600083015261465581614619565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614692601d83612f6e565b915061469d8261465c565b602082019050919050565b600060208201905081810360008301526146c181614685565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614724602583612f6e565b915061472f826146c8565b604082019050919050565b6000602082019050818103600083015261475381614717565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006147b6602383612f6e565b91506147c18261475a565b604082019050919050565b600060208201905081810360008301526147e5816147a9565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614848602683612f6e565b9150614853826147ec565b604082019050919050565b600060208201905081810360008301526148778161483b565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006148a582516131dd565b80915050919050565b60006148b98261487e565b826148c384614889565b90506148ce81614899565b9250602082101561490e576149097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080261402b565b831692505b5050919050565b600060408201905061492a6000830185613129565b6149376020830184613129565b9392505050565b600060a08201905061495360008301886131e7565b61496060208301876131e7565b61496d60408301866131e7565b61497a6060830185613129565b614987608083018461323e565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006149cb8261307d565b91506149d68361307d565b9250826149e6576149e5614991565b5b828204905092915050565b6000608082019050614a0660008301876131e7565b614a1360208301866131b3565b614a2060408301856131e7565b614a2d60608301846131e7565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000614a9b601883612f6e565b9150614aa682614a65565b602082019050919050565b60006020820190508181036000830152614aca81614a8e565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614b07601f83612f6e565b9150614b1282614ad1565b602082019050919050565b60006020820190508181036000830152614b3681614afa565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000614b99602283612f6e565b9150614ba482614b3d565b604082019050919050565b60006020820190508181036000830152614bc881614b8c565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614c2b602183612f6e565b9150614c3682614bcf565b604082019050919050565b60006020820190508181036000830152614c5a81614c1e565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614cbd602283612f6e565b9150614cc882614c61565b604082019050919050565b60006020820190508181036000830152614cec81614cb0565b905091905056fea26469706673582212202772086e3146cf70aeec56b6642e4d3738ca01ba2efdc1181947e2c0d16ee82964736f6c63430008120033