0x608060405260043610610338575f3560e01c80638da5cb5b116101aa578063bbc0c742116100f6578063dd62ed3e11610094578063f2fde38b1161006e578063f2fde38b14610c01578063f637434214610c29578063f8b45b0514610c53578063fbc10c5514610c7d5761033f565b8063dd62ed3e14610b71578063e2f4560514610bad578063f11a24d314610bd75761033f565b8063c18bc195116100d0578063c18bc19514610ab9578063c8c8ebe414610ae1578063d257b34f14610b0b578063d85ba06314610b475761033f565b8063bbc0c74214610a3f578063c024666814610a69578063c17b5b8c14610a915761033f565b80639c3b4fdc11610163578063a457c2d71161013d578063a457c2d714610963578063a9059cbb1461099f578063aacebbe3146109db578063b62496f514610a035761033f565b80639c3b4fdc146108e55780639fccce321461090f578063a0d82dc5146109395761033f565b80638da5cb5b146107ed5780638ea5220f146108175780639213691314610841578063924de9b71461086b57806395d89b41146108935780639a7a23d6146108bd5761033f565b806349bd5a5e11610284578063715018a61161022257806375f0a874116101fc57806375f0a8741461075b5780637bce5a04146107855780638095d564146107af5780638a8c523c146107d75761033f565b8063715018a6146106f3578063751039fc146107095780637571336a146107335761033f565b80636303516c1161025e5780636303516c146106395780636a486a8e146106635780636ddd17131461068d57806370a08231146106b75761033f565b806349bd5a5e146105a95780634a62bb65146105d35780634fbee193146105fd5761033f565b80631a8145bb116102f157806323b872dd116102cb57806323b872dd146104dd57806327c8f83514610519578063313ce56714610543578063395093511461056d5761033f565b80631a8145bb146104615780631f3fed8f1461048b578063203e727e146104b55761033f565b806306fdde0314610343578063095ea7b31461036d57806310d5de53146103a95780631694505e146103e557806318160ddd1461040f5780631816467f146104395761033f565b3661033f57005b5f80fd5b34801561034e575f80fd5b50610357610ca5565b6040516103649190613a0d565b60405180910390f35b348015610378575f80fd5b50610393600480360381019061038e9190613abe565b610d35565b6040516103a09190613b16565b60405180910390f35b3480156103b4575f80fd5b506103cf60048036038101906103ca9190613b2f565b610d52565b6040516103dc9190613b16565b60405180910390f35b3480156103f0575f80fd5b506103f9610d6f565b6040516104069190613bb5565b60405180910390f35b34801561041a575f80fd5b50610423610d93565b6040516104309190613bdd565b60405180910390f35b348015610444575f80fd5b5061045f600480360381019061045a9190613b2f565b610d9c565b005b34801561046c575f80fd5b50610475610ed6565b6040516104829190613bdd565b60405180910390f35b348015610496575f80fd5b5061049f610edc565b6040516104ac9190613bdd565b60405180910390f35b3480156104c0575f80fd5b506104db60048036038101906104d69190613bf6565b610ee2565b005b3480156104e8575f80fd5b5061050360048036038101906104fe9190613c21565b610ff0565b6040516105109190613b16565b60405180910390f35b348015610524575f80fd5b5061052d6110e2565b60405161053a9190613c80565b60405180910390f35b34801561054e575f80fd5b506105576110e8565b6040516105649190613cb4565b60405180910390f35b348015610578575f80fd5b50610593600480360381019061058e9190613abe565b6110f0565b6040516105a09190613b16565b60405180910390f35b3480156105b4575f80fd5b506105bd611197565b6040516105ca9190613c80565b60405180910390f35b3480156105de575f80fd5b506105e76111bb565b6040516105f49190613b16565b60405180910390f35b348015610608575f80fd5b50610623600480360381019061061e9190613b2f565b6111cd565b6040516106309190613b16565b60405180910390f35b348015610644575f80fd5b5061064d61121f565b60405161065a9190613c80565b60405180910390f35b34801561066e575f80fd5b50610677611244565b6040516106849190613bdd565b60405180910390f35b348015610698575f80fd5b506106a161124a565b6040516106ae9190613b16565b60405180910390f35b3480156106c2575f80fd5b506106dd60048036038101906106d89190613b2f565b61125d565b6040516106ea9190613bdd565b60405180910390f35b3480156106fe575f80fd5b506107076112a2565b005b348015610714575f80fd5b5061071d611329565b60405161072a9190613b16565b60405180910390f35b34801561073e575f80fd5b5061075960048036038101906107549190613cf7565b6113f2565b005b348015610766575f80fd5b5061076f6114c6565b60405161077c9190613c80565b60405180910390f35b348015610790575f80fd5b506107996114eb565b6040516107a69190613bdd565b60405180910390f35b3480156107ba575f80fd5b506107d560048036038101906107d09190613d35565b6114f1565b005b3480156107e2575f80fd5b506107eb611604565b005b3480156107f8575f80fd5b506108016116b8565b60405161080e9190613c80565b60405180910390f35b348015610822575f80fd5b5061082b6116e0565b6040516108389190613c80565b60405180910390f35b34801561084c575f80fd5b50610855611705565b6040516108629190613bdd565b60405180910390f35b348015610876575f80fd5b50610891600480360381019061088c9190613d85565b61170b565b005b34801561089e575f80fd5b506108a76117a4565b6040516108b49190613a0d565b60405180910390f35b3480156108c8575f80fd5b506108e360048036038101906108de9190613cf7565b611834565b005b3480156108f0575f80fd5b506108f961194c565b6040516109069190613bdd565b60405180910390f35b34801561091a575f80fd5b50610923611952565b6040516109309190613bdd565b60405180910390f35b348015610944575f80fd5b5061094d611958565b60405161095a9190613bdd565b60405180910390f35b34801561096e575f80fd5b5061098960048036038101906109849190613abe565b61195e565b6040516109969190613b16565b60405180910390f35b3480156109aa575f80fd5b506109c560048036038101906109c09190613abe565b611a44565b6040516109d29190613b16565b60405180910390f35b3480156109e6575f80fd5b50610a0160048036038101906109fc9190613b2f565b611a61565b005b348015610a0e575f80fd5b50610a296004803603810190610a249190613b2f565b611b9b565b604051610a369190613b16565b60405180910390f35b348015610a4a575f80fd5b50610a53611bb8565b604051610a609190613b16565b60405180910390f35b348015610a74575f80fd5b50610a8f6004803603810190610a8a9190613cf7565b611bcb565b005b348015610a9c575f80fd5b50610ab76004803603810190610ab29190613d35565b611ced565b005b348015610ac4575f80fd5b50610adf6004803603810190610ada9190613bf6565b611e00565b005b348015610aec575f80fd5b50610af5611f0e565b604051610b029190613bdd565b60405180910390f35b348015610b16575f80fd5b50610b316004803603810190610b2c9190613bf6565b611f14565b604051610b3e9190613b16565b60405180910390f35b348015610b52575f80fd5b50610b5b612068565b604051610b689190613bdd565b60405180910390f35b348015610b7c575f80fd5b50610b976004803603810190610b929190613db0565b61206e565b604051610ba49190613bdd565b60405180910390f35b348015610bb8575f80fd5b50610bc16120f0565b604051610bce9190613bdd565b60405180910390f35b348015610be2575f80fd5b50610beb6120f6565b604051610bf89190613bdd565b60405180910390f35b348015610c0c575f80fd5b50610c276004803603810190610c229190613b2f565b6120fc565b005b348015610c34575f80fd5b50610c3d6121f2565b604051610c4a9190613bdd565b60405180910390f35b348015610c5e575f80fd5b50610c676121f8565b604051610c749190613bdd565b60405180910390f35b348015610c88575f80fd5b50610ca36004803603810190610c9e9190613b2f565b6121fe565b005b606060038054610cb490613e1b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce090613e1b565b8015610d2b5780601f10610d0257610100808354040283529160200191610d2b565b820191905f5260205f20905b815481529060010190602001808311610d0e57829003601f168201915b5050505050905090565b5f610d48610d41612338565b848461233f565b6001905092915050565b6019602052805f5260405f205f915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600254905090565b610da4612338565b73ffffffffffffffffffffffffffffffffffffffff16610dc26116b8565b73ffffffffffffffffffffffffffffffffffffffff1614610e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0f90613e95565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a38060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60165481565b60155481565b610eea612338565b73ffffffffffffffffffffffffffffffffffffffff16610f086116b8565b73ffffffffffffffffffffffffffffffffffffffff1614610f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5590613e95565b60405180910390fd5b670de0b6b3a764000060646001610f73610d93565b610f7d9190613ee0565b610f879190613f4e565b610f919190613f4e565b811015610fd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fca90613fee565b60405180910390fd5b670de0b6b3a764000081610fe79190613ee0565b60098190555050565b5f610ffc848484612502565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f611043612338565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b99061407c565b60405180910390fd5b6110d6856110ce612338565b85840361233f565b60019150509392505050565b61dead81565b5f6012905090565b5f61118d6110fc612338565b848460015f611109612338565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611188919061409a565b61233f565b6001905092915050565b7f0000000000000000000000008afeb8c62ef87161a50a730a87ce9e5ff70c96ab81565b600c5f9054906101000a900460ff1681565b5f60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b600c60029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6112aa612338565b73ffffffffffffffffffffffffffffffffffffffff166112c86116b8565b73ffffffffffffffffffffffffffffffffffffffff161461131e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131590613e95565b60405180910390fd5b6113275f612f92565b565b5f611332612338565b73ffffffffffffffffffffffffffffffffffffffff166113506116b8565b73ffffffffffffffffffffffffffffffffffffffff16146113a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139d90613e95565b60405180910390fd5b5f600c5f6101000a81548160ff0219169083151502179055507f7bfa7bacf025baa75e5308bf15bcf2948f406c7ebe3eb1a8bb611862b9d647ef60405160405180910390a16001905090565b6113fa612338565b73ffffffffffffffffffffffffffffffffffffffff166114186116b8565b73ffffffffffffffffffffffffffffffffffffffff161461146e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146590613e95565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b6114f9612338565b73ffffffffffffffffffffffffffffffffffffffff166115176116b8565b73ffffffffffffffffffffffffffffffffffffffff161461156d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156490613e95565b60405180910390fd5b601481838561157c919061409a565b611586919061409a565b11156115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be9061413d565b60405180910390fd5b82600e8190555081600f8190555080601081905550601054600f54600e546115ef919061409a565b6115f9919061409a565b600d81905550505050565b61160c612338565b73ffffffffffffffffffffffffffffffffffffffff1661162a6116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611680576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167790613e95565b60405180910390fd5b6001600c60016101000a81548160ff0219169083151502179055506001600c60026101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b611713612338565b73ffffffffffffffffffffffffffffffffffffffff166117316116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611787576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177e90613e95565b60405180910390fd5b80600c60026101000a81548160ff02191690831515021790555050565b6060600480546117b390613e1b565b80601f01602080910402602001604051908101604052809291908181526020018280546117df90613e1b565b801561182a5780601f106118015761010080835404028352916020019161182a565b820191905f5260205f20905b81548152906001019060200180831161180d57829003601f168201915b5050505050905090565b61183c612338565b73ffffffffffffffffffffffffffffffffffffffff1661185a6116b8565b73ffffffffffffffffffffffffffffffffffffffff16146118b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a790613e95565b60405180910390fd5b7f0000000000000000000000008afeb8c62ef87161a50a730a87ce9e5ff70c96ab73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361193e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611935906141cb565b60405180910390fd5b6119488282613055565b5050565b60105481565b60175481565b60145481565b5f8060015f61196b612338565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1c90614259565b60405180910390fd5b611a39611a30612338565b8585840361233f565b600191505092915050565b5f611a57611a50612338565b8484612502565b6001905092915050565b611a69612338565b73ffffffffffffffffffffffffffffffffffffffff16611a876116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611add576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad490613e95565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601a602052805f5260405f205f915054906101000a900460ff1681565b600c60019054906101000a900460ff1681565b611bd3612338565b73ffffffffffffffffffffffffffffffffffffffff16611bf16116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3e90613e95565b60405180910390fd5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611ce19190613b16565b60405180910390a25050565b611cf5612338565b73ffffffffffffffffffffffffffffffffffffffff16611d136116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6090613e95565b60405180910390fd5b6014818385611d78919061409a565b611d82919061409a565b1115611dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dba906142e7565b60405180910390fd5b826012819055508160138190555080601481905550601454601354601254611deb919061409a565b611df5919061409a565b601181905550505050565b611e08612338565b73ffffffffffffffffffffffffffffffffffffffff16611e266116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7390613e95565b60405180910390fd5b670de0b6b3a764000060646001611e91610d93565b611e9b9190613ee0565b611ea59190613f4e565b611eaf9190613f4e565b811015611ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee890614375565b60405180910390fd5b670de0b6b3a764000081611f059190613ee0565b600b8190555050565b60095481565b5f611f1d612338565b73ffffffffffffffffffffffffffffffffffffffff16611f3b6116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8890613e95565b60405180910390fd5b620186a06001611f9f610d93565b611fa99190613ee0565b611fb39190613f4e565b821015611ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fec90614403565b60405180910390fd5b6103e86005612002610d93565b61200c9190613ee0565b6120169190613f4e565b821115612058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204f90614491565b60405180910390fd5b81600a8190555060019050919050565b600d5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b600f5481565b612104612338565b73ffffffffffffffffffffffffffffffffffffffff166121226116b8565b73ffffffffffffffffffffffffffffffffffffffff1614612178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216f90613e95565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036121e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121dd9061451f565b60405180910390fd5b6121ef81612f92565b50565b60135481565b600b5481565b612206612338565b73ffffffffffffffffffffffffffffffffffffffff166122246116b8565b73ffffffffffffffffffffffffffffffffffffffff161461227a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227190613e95565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8e4fb3162b55d3fcdb7507ecfed5ab4ea5d2bd7494d0bb621d698a52ea3f74b460405160405180910390a38060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036123ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a4906145ad565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361241b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124129061463b565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516124f59190613bdd565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612570576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612567906146c9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036125de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d590614757565b60405180910390fd5b5f81036125f5576125f083835f6130f3565b612f8d565b600c5f9054906101000a900460ff1615612ad9576126116116b8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561267f575061264f6116b8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156126b757505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156126f1575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561270a5750600560149054906101000a900460ff16155b15612ad857600c60019054906101000a900460ff166127fe5760185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806127be575060185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6127fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f4906147bf565b60405180910390fd5b5b601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561289b575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612942576009548111156128e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128dc9061484d565b60405180910390fd5b600b546128f18361125d565b826128fc919061409a565b111561293d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612934906148b5565b60405180910390fd5b612ad7565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156129df575060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612a2e57600954811115612a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2090614943565b60405180910390fd5b612ad6565b60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612ad557600b54612a888361125d565b82612a93919061409a565b1115612ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612acb906148b5565b60405180910390fd5b5b5b5b5b5b5f612ae33061125d565b90505f600a548210159050808015612b075750600c60029054906101000a900460ff165b8015612b205750600560149054906101000a900460ff16155b8015612b735750601a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612bc6575060185f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612c19575060185f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612c5c576001600560146101000a81548160ff021916908315150217905550612c41613368565b5f600560146101000a81548160ff0219169083151502179055505b5f600560149054906101000a900460ff1615905060185f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612d0b575060185f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612d14575f90505b5f8115612f7d57601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612d7257505f601154115b15612e3c57612d9f6064612d916011548861360f90919063ffffffff16565b61362490919063ffffffff16565b905060115460135482612db29190613ee0565b612dbc9190613f4e565b60165f828254612dcc919061409a565b9250508190555060115460145482612de49190613ee0565b612dee9190613f4e565b60175f828254612dfe919061409a565b9250508190555060115460125482612e169190613ee0565b612e209190613f4e565b60155f828254612e30919061409a565b92505081905550612f5a565b601a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612e9357505f600d54115b15612f5957612ec06064612eb2600d548861360f90919063ffffffff16565b61362490919063ffffffff16565b9050600d54600f5482612ed39190613ee0565b612edd9190613f4e565b60165f828254612eed919061409a565b92505081905550600d5460105482612f059190613ee0565b612f0f9190613f4e565b60175f828254612f1f919061409a565b92505081905550600d54600e5482612f379190613ee0565b612f419190613f4e565b60155f828254612f51919061409a565b925050819055505b5b5f811115612f6e57612f6d8730836130f3565b5b8085612f7a9190614961565b94505b612f888787876130f3565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613161576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613158906146c9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036131cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131c690614757565b60405180910390fd5b6131da838383613639565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561325d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325490614a04565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546132eb919061409a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161334f9190613bdd565b60405180910390a361336284848461363e565b50505050565b5f6133723061125d565b90505f601754601554601654613388919061409a565b613392919061409a565b90505f808314806133a257505f82145b156133af5750505061360d565b5f600283601654866133c19190613ee0565b6133cb9190613f4e565b6133d59190613f4e565b90505f6133eb828661364390919063ffffffff16565b90505f4790506133fa82613658565b5f61340e824761364390919063ffffffff16565b90505f6134388761342a6015548561360f90919063ffffffff16565b61362490919063ffffffff16565b90505f613462886134546017548661360f90919063ffffffff16565b61362490919063ffffffff16565b90505f8183856134729190614961565b61347c9190614961565b90505f6016819055505f6015819055505f60178190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516134d890614a4f565b5f6040518083038185875af1925050503d805f8114613512576040519150601f19603f3d011682016040523d82523d5f602084013e613517565b606091505b5050809850505f8711801561352b57505f81115b156135785761353a878261388b565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561868260165460405161356f93929190614a63565b60405180910390a15b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516135bd90614a4f565b5f6040518083038185875af1925050503d805f81146135f7576040519150601f19603f3d011682016040523d82523d5f602084013e6135fc565b606091505b505080985050505050505050505050505b565b5f818361361c9190613ee0565b905092915050565b5f81836136319190613f4e565b905092915050565b505050565b505050565b5f81836136509190614961565b905092915050565b5f600267ffffffffffffffff81111561367457613673614a98565b5b6040519080825280602002602001820160405280156136a25781602001602082028036833780820191505090505b50905030815f815181106136b9576136b8614ac5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561375c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137809190614b06565b8160018151811061379457613793614ac5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506137f9307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8461233f565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161385a959493929190614c21565b5f604051808303815f87803b158015613871575f80fd5b505af1158015613883573d5f803e3d5ffd5b505050505050565b6138b6307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8461233f565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161393b96959493929190614c79565b60606040518083038185885af1158015613957573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061397c9190614cec565b5050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156139ba57808201518184015260208101905061399f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6139df82613983565b6139e9818561398d565b93506139f981856020860161399d565b613a02816139c5565b840191505092915050565b5f6020820190508181035f830152613a2581846139d5565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613a5a82613a31565b9050919050565b613a6a81613a50565b8114613a74575f80fd5b50565b5f81359050613a8581613a61565b92915050565b5f819050919050565b613a9d81613a8b565b8114613aa7575f80fd5b50565b5f81359050613ab881613a94565b92915050565b5f8060408385031215613ad457613ad3613a2d565b5b5f613ae185828601613a77565b9250506020613af285828601613aaa565b9150509250929050565b5f8115159050919050565b613b1081613afc565b82525050565b5f602082019050613b295f830184613b07565b92915050565b5f60208284031215613b4457613b43613a2d565b5b5f613b5184828501613a77565b91505092915050565b5f819050919050565b5f613b7d613b78613b7384613a31565b613b5a565b613a31565b9050919050565b5f613b8e82613b63565b9050919050565b5f613b9f82613b84565b9050919050565b613baf81613b95565b82525050565b5f602082019050613bc85f830184613ba6565b92915050565b613bd781613a8b565b82525050565b5f602082019050613bf05f830184613bce565b92915050565b5f60208284031215613c0b57613c0a613a2d565b5b5f613c1884828501613aaa565b91505092915050565b5f805f60608486031215613c3857613c37613a2d565b5b5f613c4586828701613a77565b9350506020613c5686828701613a77565b9250506040613c6786828701613aaa565b9150509250925092565b613c7a81613a50565b82525050565b5f602082019050613c935f830184613c71565b92915050565b5f60ff82169050919050565b613cae81613c99565b82525050565b5f602082019050613cc75f830184613ca5565b92915050565b613cd681613afc565b8114613ce0575f80fd5b50565b5f81359050613cf181613ccd565b92915050565b5f8060408385031215613d0d57613d0c613a2d565b5b5f613d1a85828601613a77565b9250506020613d2b85828601613ce3565b9150509250929050565b5f805f60608486031215613d4c57613d4b613a2d565b5b5f613d5986828701613aaa565b9350506020613d6a86828701613aaa565b9250506040613d7b86828701613aaa565b9150509250925092565b5f60208284031215613d9a57613d99613a2d565b5b5f613da784828501613ce3565b91505092915050565b5f8060408385031215613dc657613dc5613a2d565b5b5f613dd385828601613a77565b9250506020613de485828601613a77565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613e3257607f821691505b602082108103613e4557613e44613dee565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613e7f60208361398d565b9150613e8a82613e4b565b602082019050919050565b5f6020820190508181035f830152613eac81613e73565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613eea82613a8b565b9150613ef583613a8b565b9250828202613f0381613a8b565b91508282048414831517613f1a57613f19613eb3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613f5882613a8b565b9150613f6383613a8b565b925082613f7357613f72613f21565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e74205f8201527f6c6f776572207468616e20312500000000000000000000000000000000000000602082015250565b5f613fd8602d8361398d565b9150613fe382613f7e565b604082019050919050565b5f6020820190508181035f83015261400581613fcc565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f61406660288361398d565b91506140718261400c565b604082019050919050565b5f6020820190508181035f8301526140938161405a565b9050919050565b5f6140a482613a8b565b91506140af83613a8b565b92508282019050808211156140c7576140c6613eb3565b5b92915050565b7f427579206665652063616e742062652073656e74206d6f7265207468616e20325f8201527f3025000000000000000000000000000000000000000000000000000000000000602082015250565b5f61412760228361398d565b9150614132826140cd565b604082019050919050565b5f6020820190508181035f8301526141548161411b565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f6141b560398361398d565b91506141c08261415b565b604082019050919050565b5f6020820190508181035f8301526141e2816141a9565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61424360258361398d565b915061424e826141e9565b604082019050919050565b5f6020820190508181035f83015261427081614237565b9050919050565b7f53656c6c206665652063616e742062652073656e74206d6f7265207468616e205f8201527f3230252000000000000000000000000000000000000000000000000000000000602082015250565b5f6142d160248361398d565b91506142dc82614277565b604082019050919050565b5f6020820190508181035f8301526142fe816142c5565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f3125000000000000000000000000000000000000000000000000000000000000602082015250565b5f61435f60228361398d565b915061436a82614305565b604082019050919050565b5f6020820190508181035f83015261438c81614353565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f6143ed60358361398d565b91506143f882614393565b604082019050919050565b5f6020820190508181035f83015261441a816143e1565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f61447b60348361398d565b915061448682614421565b604082019050919050565b5f6020820190508181035f8301526144a88161446f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61450960268361398d565b9150614514826144af565b604082019050919050565b5f6020820190508181035f830152614536816144fd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61459760248361398d565b91506145a28261453d565b604082019050919050565b5f6020820190508181035f8301526145c48161458b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61462560228361398d565b9150614630826145cb565b604082019050919050565b5f6020820190508181035f83015261465281614619565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6146b360258361398d565b91506146be82614659565b604082019050919050565b5f6020820190508181035f8301526146e0816146a7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61474160238361398d565b915061474c826146e7565b604082019050919050565b5f6020820190508181035f83015261476e81614735565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f6147a960168361398d565b91506147b482614775565b602082019050919050565b5f6020820190508181035f8301526147d68161479d565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f61483760358361398d565b9150614842826147dd565b604082019050919050565b5f6020820190508181035f8301526148648161482b565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f61489f60138361398d565b91506148aa8261486b565b602082019050919050565b5f6020820190508181035f8301526148cc81614893565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f61492d60368361398d565b9150614938826148d3565b604082019050919050565b5f6020820190508181035f83015261495a81614921565b9050919050565b5f61496b82613a8b565b915061497683613a8b565b925082820390508181111561498e5761498d613eb3565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6149ee60268361398d565b91506149f982614994565b604082019050919050565b5f6020820190508181035f830152614a1b816149e2565b9050919050565b5f81905092915050565b50565b5f614a3a5f83614a22565b9150614a4582614a2c565b5f82019050919050565b5f614a5982614a2f565b9150819050919050565b5f606082019050614a765f830186613bce565b614a836020830185613bce565b614a906040830184613bce565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614b0081613a61565b92915050565b5f60208284031215614b1b57614b1a613a2d565b5b5f614b2884828501614af2565b91505092915050565b5f819050919050565b5f614b54614b4f614b4a84614b31565b613b5a565b613a8b565b9050919050565b614b6481614b3a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614b9c81613a50565b82525050565b5f614bad8383614b93565b60208301905092915050565b5f602082019050919050565b5f614bcf82614b6a565b614bd98185614b74565b9350614be483614b84565b805f5b83811015614c14578151614bfb8882614ba2565b9750614c0683614bb9565b925050600181019050614be7565b5085935050505092915050565b5f60a082019050614c345f830188613bce565b614c416020830187614b5b565b8181036040830152614c538186614bc5565b9050614c626060830185613c71565b614c6f6080830184613bce565b9695505050505050565b5f60c082019050614c8c5f830189613c71565b614c996020830188613bce565b614ca66040830187614b5b565b614cb36060830186614b5b565b614cc06080830185613c71565b614ccd60a0830184613bce565b979650505050505050565b5f81519050614ce681613a94565b92915050565b5f805f60608486031215614d0357614d02613a2d565b5b5f614d1086828701614cd8565b9350506020614d2186828701614cd8565b9250506040614d3286828701614cd8565b915050925092509256fea26469706673582212202e645c0560cf6e9d0ed28932b959246c06b7a4897fedc31460a3a3ef9a937e8d64736f6c63430008140033
0x60c06040526001600c5f6101000a81548160ff0219169083151502179055506001600c60016101000a81548160ff0219169083151502179055506001600c60026101000a81548160ff02191690831515021790555034801562000060575f80fd5b506040518060400160405280600881526020017f46415420504550450000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f46415000000000000000000000000000000000000000000000000000000000008152508160039081620000de919062000dbb565b508060049081620000f0919062000dbb565b50505062000113620001076200062f60201b60201c565b6200063660201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90506200013e816001620006f960201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000f04565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000248573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200026e919062000f04565b6040518363ffffffff1660e01b81526004016200028d92919062000f45565b6020604051808303815f875af1158015620002aa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002d0919062000f04565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200031860a0516001620006f960201b60201c565b6200032d60a0516001620007e060201b60201c565b5f601490505f805f601490505f805f690e9c7f5bd65501200000905060646002826200035a919062000f9d565b62000366919062001014565b60098190555060646002826200037d919062000f9d565b62000389919062001014565b600b81905550612710600582620003a1919062000f9d565b620003ad919062001014565b600a8190555086600e8190555085600f8190555084601081905550601054600f54600e54620003dd91906200104b565b620003e991906200104b565b600d819055508360128190555082601381905550816014819055506014546013546012546200041991906200104b565b6200042591906200104b565b6011819055507397feb9c36771c40404f2575536956b5b8fa2121360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507397feb9c36771c40404f2575536956b5b8fa2121360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000535620005276200087e60201b60201c565b6001620008a660201b60201c565b62000548306001620008a660201b60201c565b6200055d61dead6001620008a660201b60201c565b6200059160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620008a660201b60201c565b620005b3620005a56200087e60201b60201c565b6001620006f960201b60201c565b620005c6306001620006f960201b60201c565b620005db61dead6001620006f960201b60201c565b6200060f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620006f960201b60201c565b620006213382620009dd60201b60201c565b5050505050505050620011d4565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620007096200062f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200072f6200087e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000788576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200077f90620010e3565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620008b66200062f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620008dc6200087e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200092c90620010e3565b60405180910390fd5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620009d191906200111f565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000a4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a459062001188565b60405180910390fd5b62000a615f838362000b4d60201b60201c565b8060025f82825462000a7491906200104b565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000ac891906200104b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000b2e9190620011b9565b60405180910390a362000b495f838362000b5260201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000bd357607f821691505b60208210810362000be95762000be862000b8e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000c4d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c10565b62000c59868362000c10565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000ca362000c9d62000c978462000c71565b62000c7a565b62000c71565b9050919050565b5f819050919050565b62000cbe8362000c83565b62000cd662000ccd8262000caa565b84845462000c1c565b825550505050565b5f90565b62000cec62000cde565b62000cf981848462000cb3565b505050565b5b8181101562000d205762000d145f8262000ce2565b60018101905062000cff565b5050565b601f82111562000d6f5762000d398162000bef565b62000d448462000c01565b8101602085101562000d54578190505b62000d6c62000d638562000c01565b83018262000cfe565b50505b505050565b5f82821c905092915050565b5f62000d915f198460080262000d74565b1980831691505092915050565b5f62000dab838362000d80565b9150826002028217905092915050565b62000dc68262000b57565b67ffffffffffffffff81111562000de25762000de162000b61565b5b62000dee825462000bbb565b62000dfb82828562000d24565b5f60209050601f83116001811462000e31575f841562000e1c578287015190505b62000e28858262000d9e565b86555062000e97565b601f19841662000e418662000bef565b5f5b8281101562000e6a5784890151825560018201915060208501945060208101905062000e43565b8683101562000e8a578489015162000e86601f89168262000d80565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000ece8262000ea3565b9050919050565b62000ee08162000ec2565b811462000eeb575f80fd5b50565b5f8151905062000efe8162000ed5565b92915050565b5f6020828403121562000f1c5762000f1b62000e9f565b5b5f62000f2b8482850162000eee565b91505092915050565b62000f3f8162000ec2565b82525050565b5f60408201905062000f5a5f83018562000f34565b62000f69602083018462000f34565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000fa98262000c71565b915062000fb68362000c71565b925082820262000fc68162000c71565b9150828204841483151762000fe05762000fdf62000f70565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620010208262000c71565b91506200102d8362000c71565b92508262001040576200103f62000fe7565b5b828204905092915050565b5f620010578262000c71565b9150620010648362000c71565b92508282019050808211156200107f576200107e62000f70565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f620010cb60208362001085565b9150620010d88262001095565b602082019050919050565b5f6020820190508181035f830152620010fc81620010bd565b9050919050565b5f8115159050919050565b620011198162001103565b82525050565b5f602082019050620011345f8301846200110e565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62001170601f8362001085565b91506200117d826200113a565b602082019050919050565b5f6020820190508181035f830152620011a18162001162565b9050919050565b620011b38162000c71565b82525050565b5f602082019050620011ce5f830184620011a8565b92915050565b60805160a051614d72620012205f395f818161119901526118b201525f8181610d71015281816136f5015281816137d4015281816137fb0152818161389101526138b80152614d725ff3fe608060405260043610610338575f3560e01c80638da5cb5b116101aa578063bbc0c742116100f6578063dd62ed3e11610094578063f2fde38b1161006e578063f2fde38b14610c01578063f637434214610c29578063f8b45b0514610c53578063fbc10c5514610c7d5761033f565b8063dd62ed3e14610b71578063e2f4560514610bad578063f11a24d314610bd75761033f565b8063c18bc195116100d0578063c18bc19514610ab9578063c8c8ebe414610ae1578063d257b34f14610b0b578063d85ba06314610b475761033f565b8063bbc0c74214610a3f578063c024666814610a69578063c17b5b8c14610a915761033f565b80639c3b4fdc11610163578063a457c2d71161013d578063a457c2d714610963578063a9059cbb1461099f578063aacebbe3146109db578063b62496f514610a035761033f565b80639c3b4fdc146108e55780639fccce321461090f578063a0d82dc5146109395761033f565b80638da5cb5b146107ed5780638ea5220f146108175780639213691314610841578063924de9b71461086b57806395d89b41146108935780639a7a23d6146108bd5761033f565b806349bd5a5e11610284578063715018a61161022257806375f0a874116101fc57806375f0a8741461075b5780637bce5a04146107855780638095d564146107af5780638a8c523c146107d75761033f565b8063715018a6146106f3578063751039fc146107095780637571336a146107335761033f565b80636303516c1161025e5780636303516c146106395780636a486a8e146106635780636ddd17131461068d57806370a08231146106b75761033f565b806349bd5a5e146105a95780634a62bb65146105d35780634fbee193146105fd5761033f565b80631a8145bb116102f157806323b872dd116102cb57806323b872dd146104dd57806327c8f83514610519578063313ce56714610543578063395093511461056d5761033f565b80631a8145bb146104615780631f3fed8f1461048b578063203e727e146104b55761033f565b806306fdde0314610343578063095ea7b31461036d57806310d5de53146103a95780631694505e146103e557806318160ddd1461040f5780631816467f146104395761033f565b3661033f57005b5f80fd5b34801561034e575f80fd5b50610357610ca5565b6040516103649190613a0d565b60405180910390f35b348015610378575f80fd5b50610393600480360381019061038e9190613abe565b610d35565b6040516103a09190613b16565b60405180910390f35b3480156103b4575f80fd5b506103cf60048036038101906103ca9190613b2f565b610d52565b6040516103dc9190613b16565b60405180910390f35b3480156103f0575f80fd5b506103f9610d6f565b6040516104069190613bb5565b60405180910390f35b34801561041a575f80fd5b50610423610d93565b6040516104309190613bdd565b60405180910390f35b348015610444575f80fd5b5061045f600480360381019061045a9190613b2f565b610d9c565b005b34801561046c575f80fd5b50610475610ed6565b6040516104829190613bdd565b60405180910390f35b348015610496575f80fd5b5061049f610edc565b6040516104ac9190613bdd565b60405180910390f35b3480156104c0575f80fd5b506104db60048036038101906104d69190613bf6565b610ee2565b005b3480156104e8575f80fd5b5061050360048036038101906104fe9190613c21565b610ff0565b6040516105109190613b16565b60405180910390f35b348015610524575f80fd5b5061052d6110e2565b60405161053a9190613c80565b60405180910390f35b34801561054e575f80fd5b506105576110e8565b6040516105649190613cb4565b60405180910390f35b348015610578575f80fd5b50610593600480360381019061058e9190613abe565b6110f0565b6040516105a09190613b16565b60405180910390f35b3480156105b4575f80fd5b506105bd611197565b6040516105ca9190613c80565b60405180910390f35b3480156105de575f80fd5b506105e76111bb565b6040516105f49190613b16565b60405180910390f35b348015610608575f80fd5b50610623600480360381019061061e9190613b2f565b6111cd565b6040516106309190613b16565b60405180910390f35b348015610644575f80fd5b5061064d61121f565b60405161065a9190613c80565b60405180910390f35b34801561066e575f80fd5b50610677611244565b6040516106849190613bdd565b60405180910390f35b348015610698575f80fd5b506106a161124a565b6040516106ae9190613b16565b60405180910390f35b3480156106c2575f80fd5b506106dd60048036038101906106d89190613b2f565b61125d565b6040516106ea9190613bdd565b60405180910390f35b3480156106fe575f80fd5b506107076112a2565b005b348015610714575f80fd5b5061071d611329565b60405161072a9190613b16565b60405180910390f35b34801561073e575f80fd5b5061075960048036038101906107549190613cf7565b6113f2565b005b348015610766575f80fd5b5061076f6114c6565b60405161077c9190613c80565b60405180910390f35b348015610790575f80fd5b506107996114eb565b6040516107a69190613bdd565b60405180910390f35b3480156107ba575f80fd5b506107d560048036038101906107d09190613d35565b6114f1565b005b3480156107e2575f80fd5b506107eb611604565b005b3480156107f8575f80fd5b506108016116b8565b60405161080e9190613c80565b60405180910390f35b348015610822575f80fd5b5061082b6116e0565b6040516108389190613c80565b60405180910390f35b34801561084c575f80fd5b50610855611705565b6040516108629190613bdd565b60405180910390f35b348015610876575f80fd5b50610891600480360381019061088c9190613d85565b61170b565b005b34801561089e575f80fd5b506108a76117a4565b6040516108b49190613a0d565b60405180910390f35b3480156108c8575f80fd5b506108e360048036038101906108de9190613cf7565b611834565b005b3480156108f0575f80fd5b506108f961194c565b6040516109069190613bdd565b60405180910390f35b34801561091a575f80fd5b50610923611952565b6040516109309190613bdd565b60405180910390f35b348015610944575f80fd5b5061094d611958565b60405161095a9190613bdd565b60405180910390f35b34801561096e575f80fd5b5061098960048036038101906109849190613abe565b61195e565b6040516109969190613b16565b60405180910390f35b3480156109aa575f80fd5b506109c560048036038101906109c09190613abe565b611a44565b6040516109d29190613b16565b60405180910390f35b3480156109e6575f80fd5b50610a0160048036038101906109fc9190613b2f565b611a61565b005b348015610a0e575f80fd5b50610a296004803603810190610a249190613b2f565b611b9b565b604051610a369190613b16565b60405180910390f35b348015610a4a575f80fd5b50610a53611bb8565b604051610a609190613b16565b60405180910390f35b348015610a74575f80fd5b50610a8f6004803603810190610a8a9190613cf7565b611bcb565b005b348015610a9c575f80fd5b50610ab76004803603810190610ab29190613d35565b611ced565b005b348015610ac4575f80fd5b50610adf6004803603810190610ada9190613bf6565b611e00565b005b348015610aec575f80fd5b50610af5611f0e565b604051610b029190613bdd565b60405180910390f35b348015610b16575f80fd5b50610b316004803603810190610b2c9190613bf6565b611f14565b604051610b3e9190613b16565b60405180910390f35b348015610b52575f80fd5b50610b5b612068565b604051610b689190613bdd565b60405180910390f35b348015610b7c575f80fd5b50610b976004803603810190610b929190613db0565b61206e565b604051610ba49190613bdd565b60405180910390f35b348015610bb8575f80fd5b50610bc16120f0565b604051610bce9190613bdd565b60405180910390f35b348015610be2575f80fd5b50610beb6120f6565b604051610bf89190613bdd565b60405180910390f35b348015610c0c575f80fd5b50610c276004803603810190610c229190613b2f565b6120fc565b005b348015610c34575f80fd5b50610c3d6121f2565b604051610c4a9190613bdd565b60405180910390f35b348015610c5e575f80fd5b50610c676121f8565b604051610c749190613bdd565b60405180910390f35b348015610c88575f80fd5b50610ca36004803603810190610c9e9190613b2f565b6121fe565b005b606060038054610cb490613e1b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce090613e1b565b8015610d2b5780601f10610d0257610100808354040283529160200191610d2b565b820191905f5260205f20905b815481529060010190602001808311610d0e57829003601f168201915b5050505050905090565b5f610d48610d41612338565b848461233f565b6001905092915050565b6019602052805f5260405f205f915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b610da4612338565b73ffffffffffffffffffffffffffffffffffffffff16610dc26116b8565b73ffffffffffffffffffffffffffffffffffffffff1614610e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0f90613e95565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a38060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60165481565b60155481565b610eea612338565b73ffffffffffffffffffffffffffffffffffffffff16610f086116b8565b73ffffffffffffffffffffffffffffffffffffffff1614610f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5590613e95565b60405180910390fd5b670de0b6b3a764000060646001610f73610d93565b610f7d9190613ee0565b610f879190613f4e565b610f919190613f4e565b811015610fd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fca90613fee565b60405180910390fd5b670de0b6b3a764000081610fe79190613ee0565b60098190555050565b5f610ffc848484612502565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f611043612338565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b99061407c565b60405180910390fd5b6110d6856110ce612338565b85840361233f565b60019150509392505050565b61dead81565b5f6012905090565b5f61118d6110fc612338565b848460015f611109612338565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611188919061409a565b61233f565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600c5f9054906101000a900460ff1681565b5f60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b600c60029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6112aa612338565b73ffffffffffffffffffffffffffffffffffffffff166112c86116b8565b73ffffffffffffffffffffffffffffffffffffffff161461131e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131590613e95565b60405180910390fd5b6113275f612f92565b565b5f611332612338565b73ffffffffffffffffffffffffffffffffffffffff166113506116b8565b73ffffffffffffffffffffffffffffffffffffffff16146113a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139d90613e95565b60405180910390fd5b5f600c5f6101000a81548160ff0219169083151502179055507f7bfa7bacf025baa75e5308bf15bcf2948f406c7ebe3eb1a8bb611862b9d647ef60405160405180910390a16001905090565b6113fa612338565b73ffffffffffffffffffffffffffffffffffffffff166114186116b8565b73ffffffffffffffffffffffffffffffffffffffff161461146e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146590613e95565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b6114f9612338565b73ffffffffffffffffffffffffffffffffffffffff166115176116b8565b73ffffffffffffffffffffffffffffffffffffffff161461156d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156490613e95565b60405180910390fd5b601481838561157c919061409a565b611586919061409a565b11156115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be9061413d565b60405180910390fd5b82600e8190555081600f8190555080601081905550601054600f54600e546115ef919061409a565b6115f9919061409a565b600d81905550505050565b61160c612338565b73ffffffffffffffffffffffffffffffffffffffff1661162a6116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611680576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167790613e95565b60405180910390fd5b6001600c60016101000a81548160ff0219169083151502179055506001600c60026101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b611713612338565b73ffffffffffffffffffffffffffffffffffffffff166117316116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611787576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177e90613e95565b60405180910390fd5b80600c60026101000a81548160ff02191690831515021790555050565b6060600480546117b390613e1b565b80601f01602080910402602001604051908101604052809291908181526020018280546117df90613e1b565b801561182a5780601f106118015761010080835404028352916020019161182a565b820191905f5260205f20905b81548152906001019060200180831161180d57829003601f168201915b5050505050905090565b61183c612338565b73ffffffffffffffffffffffffffffffffffffffff1661185a6116b8565b73ffffffffffffffffffffffffffffffffffffffff16146118b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a790613e95565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361193e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611935906141cb565b60405180910390fd5b6119488282613055565b5050565b60105481565b60175481565b60145481565b5f8060015f61196b612338565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1c90614259565b60405180910390fd5b611a39611a30612338565b8585840361233f565b600191505092915050565b5f611a57611a50612338565b8484612502565b6001905092915050565b611a69612338565b73ffffffffffffffffffffffffffffffffffffffff16611a876116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611add576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad490613e95565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601a602052805f5260405f205f915054906101000a900460ff1681565b600c60019054906101000a900460ff1681565b611bd3612338565b73ffffffffffffffffffffffffffffffffffffffff16611bf16116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3e90613e95565b60405180910390fd5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611ce19190613b16565b60405180910390a25050565b611cf5612338565b73ffffffffffffffffffffffffffffffffffffffff16611d136116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6090613e95565b60405180910390fd5b6014818385611d78919061409a565b611d82919061409a565b1115611dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dba906142e7565b60405180910390fd5b826012819055508160138190555080601481905550601454601354601254611deb919061409a565b611df5919061409a565b601181905550505050565b611e08612338565b73ffffffffffffffffffffffffffffffffffffffff16611e266116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7390613e95565b60405180910390fd5b670de0b6b3a764000060646001611e91610d93565b611e9b9190613ee0565b611ea59190613f4e565b611eaf9190613f4e565b811015611ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee890614375565b60405180910390fd5b670de0b6b3a764000081611f059190613ee0565b600b8190555050565b60095481565b5f611f1d612338565b73ffffffffffffffffffffffffffffffffffffffff16611f3b6116b8565b73ffffffffffffffffffffffffffffffffffffffff1614611f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8890613e95565b60405180910390fd5b620186a06001611f9f610d93565b611fa99190613ee0565b611fb39190613f4e565b821015611ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fec90614403565b60405180910390fd5b6103e86005612002610d93565b61200c9190613ee0565b6120169190613f4e565b821115612058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204f90614491565b60405180910390fd5b81600a8190555060019050919050565b600d5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b600f5481565b612104612338565b73ffffffffffffffffffffffffffffffffffffffff166121226116b8565b73ffffffffffffffffffffffffffffffffffffffff1614612178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216f90613e95565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036121e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121dd9061451f565b60405180910390fd5b6121ef81612f92565b50565b60135481565b600b5481565b612206612338565b73ffffffffffffffffffffffffffffffffffffffff166122246116b8565b73ffffffffffffffffffffffffffffffffffffffff161461227a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227190613e95565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8e4fb3162b55d3fcdb7507ecfed5ab4ea5d2bd7494d0bb621d698a52ea3f74b460405160405180910390a38060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036123ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a4906145ad565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361241b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124129061463b565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516124f59190613bdd565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612570576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612567906146c9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036125de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d590614757565b60405180910390fd5b5f81036125f5576125f083835f6130f3565b612f8d565b600c5f9054906101000a900460ff1615612ad9576126116116b8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561267f575061264f6116b8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156126b757505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156126f1575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561270a5750600560149054906101000a900460ff16155b15612ad857600c60019054906101000a900460ff166127fe5760185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806127be575060185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6127fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f4906147bf565b60405180910390fd5b5b601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561289b575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612942576009548111156128e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128dc9061484d565b60405180910390fd5b600b546128f18361125d565b826128fc919061409a565b111561293d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612934906148b5565b60405180910390fd5b612ad7565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156129df575060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612a2e57600954811115612a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2090614943565b60405180910390fd5b612ad6565b60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612ad557600b54612a888361125d565b82612a93919061409a565b1115612ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612acb906148b5565b60405180910390fd5b5b5b5b5b5b5f612ae33061125d565b90505f600a548210159050808015612b075750600c60029054906101000a900460ff165b8015612b205750600560149054906101000a900460ff16155b8015612b735750601a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612bc6575060185f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612c19575060185f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612c5c576001600560146101000a81548160ff021916908315150217905550612c41613368565b5f600560146101000a81548160ff0219169083151502179055505b5f600560149054906101000a900460ff1615905060185f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612d0b575060185f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612d14575f90505b5f8115612f7d57601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612d7257505f601154115b15612e3c57612d9f6064612d916011548861360f90919063ffffffff16565b61362490919063ffffffff16565b905060115460135482612db29190613ee0565b612dbc9190613f4e565b60165f828254612dcc919061409a565b9250508190555060115460145482612de49190613ee0565b612dee9190613f4e565b60175f828254612dfe919061409a565b9250508190555060115460125482612e169190613ee0565b612e209190613f4e565b60155f828254612e30919061409a565b92505081905550612f5a565b601a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612e9357505f600d54115b15612f5957612ec06064612eb2600d548861360f90919063ffffffff16565b61362490919063ffffffff16565b9050600d54600f5482612ed39190613ee0565b612edd9190613f4e565b60165f828254612eed919061409a565b92505081905550600d5460105482612f059190613ee0565b612f0f9190613f4e565b60175f828254612f1f919061409a565b92505081905550600d54600e5482612f379190613ee0565b612f419190613f4e565b60155f828254612f51919061409a565b925050819055505b5b5f811115612f6e57612f6d8730836130f3565b5b8085612f7a9190614961565b94505b612f888787876130f3565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613161576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613158906146c9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036131cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131c690614757565b60405180910390fd5b6131da838383613639565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561325d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325490614a04565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546132eb919061409a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161334f9190613bdd565b60405180910390a361336284848461363e565b50505050565b5f6133723061125d565b90505f601754601554601654613388919061409a565b613392919061409a565b90505f808314806133a257505f82145b156133af5750505061360d565b5f600283601654866133c19190613ee0565b6133cb9190613f4e565b6133d59190613f4e565b90505f6133eb828661364390919063ffffffff16565b90505f4790506133fa82613658565b5f61340e824761364390919063ffffffff16565b90505f6134388761342a6015548561360f90919063ffffffff16565b61362490919063ffffffff16565b90505f613462886134546017548661360f90919063ffffffff16565b61362490919063ffffffff16565b90505f8183856134729190614961565b61347c9190614961565b90505f6016819055505f6015819055505f60178190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516134d890614a4f565b5f6040518083038185875af1925050503d805f8114613512576040519150601f19603f3d011682016040523d82523d5f602084013e613517565b606091505b5050809850505f8711801561352b57505f81115b156135785761353a878261388b565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561868260165460405161356f93929190614a63565b60405180910390a15b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516135bd90614a4f565b5f6040518083038185875af1925050503d805f81146135f7576040519150601f19603f3d011682016040523d82523d5f602084013e6135fc565b606091505b505080985050505050505050505050505b565b5f818361361c9190613ee0565b905092915050565b5f81836136319190613f4e565b905092915050565b505050565b505050565b5f81836136509190614961565b905092915050565b5f600267ffffffffffffffff81111561367457613673614a98565b5b6040519080825280602002602001820160405280156136a25781602001602082028036833780820191505090505b50905030815f815181106136b9576136b8614ac5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561375c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137809190614b06565b8160018151811061379457613793614ac5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506137f9307f00000000000000000000000000000000000000000000000000000000000000008461233f565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161385a959493929190614c21565b5f604051808303815f87803b158015613871575f80fd5b505af1158015613883573d5f803e3d5ffd5b505050505050565b6138b6307f00000000000000000000000000000000000000000000000000000000000000008461233f565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161393b96959493929190614c79565b60606040518083038185885af1158015613957573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061397c9190614cec565b5050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156139ba57808201518184015260208101905061399f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6139df82613983565b6139e9818561398d565b93506139f981856020860161399d565b613a02816139c5565b840191505092915050565b5f6020820190508181035f830152613a2581846139d5565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613a5a82613a31565b9050919050565b613a6a81613a50565b8114613a74575f80fd5b50565b5f81359050613a8581613a61565b92915050565b5f819050919050565b613a9d81613a8b565b8114613aa7575f80fd5b50565b5f81359050613ab881613a94565b92915050565b5f8060408385031215613ad457613ad3613a2d565b5b5f613ae185828601613a77565b9250506020613af285828601613aaa565b9150509250929050565b5f8115159050919050565b613b1081613afc565b82525050565b5f602082019050613b295f830184613b07565b92915050565b5f60208284031215613b4457613b43613a2d565b5b5f613b5184828501613a77565b91505092915050565b5f819050919050565b5f613b7d613b78613b7384613a31565b613b5a565b613a31565b9050919050565b5f613b8e82613b63565b9050919050565b5f613b9f82613b84565b9050919050565b613baf81613b95565b82525050565b5f602082019050613bc85f830184613ba6565b92915050565b613bd781613a8b565b82525050565b5f602082019050613bf05f830184613bce565b92915050565b5f60208284031215613c0b57613c0a613a2d565b5b5f613c1884828501613aaa565b91505092915050565b5f805f60608486031215613c3857613c37613a2d565b5b5f613c4586828701613a77565b9350506020613c5686828701613a77565b9250506040613c6786828701613aaa565b9150509250925092565b613c7a81613a50565b82525050565b5f602082019050613c935f830184613c71565b92915050565b5f60ff82169050919050565b613cae81613c99565b82525050565b5f602082019050613cc75f830184613ca5565b92915050565b613cd681613afc565b8114613ce0575f80fd5b50565b5f81359050613cf181613ccd565b92915050565b5f8060408385031215613d0d57613d0c613a2d565b5b5f613d1a85828601613a77565b9250506020613d2b85828601613ce3565b9150509250929050565b5f805f60608486031215613d4c57613d4b613a2d565b5b5f613d5986828701613aaa565b9350506020613d6a86828701613aaa565b9250506040613d7b86828701613aaa565b9150509250925092565b5f60208284031215613d9a57613d99613a2d565b5b5f613da784828501613ce3565b91505092915050565b5f8060408385031215613dc657613dc5613a2d565b5b5f613dd385828601613a77565b9250506020613de485828601613a77565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613e3257607f821691505b602082108103613e4557613e44613dee565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613e7f60208361398d565b9150613e8a82613e4b565b602082019050919050565b5f6020820190508181035f830152613eac81613e73565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613eea82613a8b565b9150613ef583613a8b565b9250828202613f0381613a8b565b91508282048414831517613f1a57613f19613eb3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613f5882613a8b565b9150613f6383613a8b565b925082613f7357613f72613f21565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e74205f8201527f6c6f776572207468616e20312500000000000000000000000000000000000000602082015250565b5f613fd8602d8361398d565b9150613fe382613f7e565b604082019050919050565b5f6020820190508181035f83015261400581613fcc565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f61406660288361398d565b91506140718261400c565b604082019050919050565b5f6020820190508181035f8301526140938161405a565b9050919050565b5f6140a482613a8b565b91506140af83613a8b565b92508282019050808211156140c7576140c6613eb3565b5b92915050565b7f427579206665652063616e742062652073656e74206d6f7265207468616e20325f8201527f3025000000000000000000000000000000000000000000000000000000000000602082015250565b5f61412760228361398d565b9150614132826140cd565b604082019050919050565b5f6020820190508181035f8301526141548161411b565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f6141b560398361398d565b91506141c08261415b565b604082019050919050565b5f6020820190508181035f8301526141e2816141a9565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61424360258361398d565b915061424e826141e9565b604082019050919050565b5f6020820190508181035f83015261427081614237565b9050919050565b7f53656c6c206665652063616e742062652073656e74206d6f7265207468616e205f8201527f3230252000000000000000000000000000000000000000000000000000000000602082015250565b5f6142d160248361398d565b91506142dc82614277565b604082019050919050565b5f6020820190508181035f8301526142fe816142c5565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f3125000000000000000000000000000000000000000000000000000000000000602082015250565b5f61435f60228361398d565b915061436a82614305565b604082019050919050565b5f6020820190508181035f83015261438c81614353565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f6143ed60358361398d565b91506143f882614393565b604082019050919050565b5f6020820190508181035f83015261441a816143e1565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f61447b60348361398d565b915061448682614421565b604082019050919050565b5f6020820190508181035f8301526144a88161446f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61450960268361398d565b9150614514826144af565b604082019050919050565b5f6020820190508181035f830152614536816144fd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61459760248361398d565b91506145a28261453d565b604082019050919050565b5f6020820190508181035f8301526145c48161458b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61462560228361398d565b9150614630826145cb565b604082019050919050565b5f6020820190508181035f83015261465281614619565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6146b360258361398d565b91506146be82614659565b604082019050919050565b5f6020820190508181035f8301526146e0816146a7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61474160238361398d565b915061474c826146e7565b604082019050919050565b5f6020820190508181035f83015261476e81614735565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f6147a960168361398d565b91506147b482614775565b602082019050919050565b5f6020820190508181035f8301526147d68161479d565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f61483760358361398d565b9150614842826147dd565b604082019050919050565b5f6020820190508181035f8301526148648161482b565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f61489f60138361398d565b91506148aa8261486b565b602082019050919050565b5f6020820190508181035f8301526148cc81614893565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f61492d60368361398d565b9150614938826148d3565b604082019050919050565b5f6020820190508181035f83015261495a81614921565b9050919050565b5f61496b82613a8b565b915061497683613a8b565b925082820390508181111561498e5761498d613eb3565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6149ee60268361398d565b91506149f982614994565b604082019050919050565b5f6020820190508181035f830152614a1b816149e2565b9050919050565b5f81905092915050565b50565b5f614a3a5f83614a22565b9150614a4582614a2c565b5f82019050919050565b5f614a5982614a2f565b9150819050919050565b5f606082019050614a765f830186613bce565b614a836020830185613bce565b614a906040830184613bce565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614b0081613a61565b92915050565b5f60208284031215614b1b57614b1a613a2d565b5b5f614b2884828501614af2565b91505092915050565b5f819050919050565b5f614b54614b4f614b4a84614b31565b613b5a565b613a8b565b9050919050565b614b6481614b3a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614b9c81613a50565b82525050565b5f614bad8383614b93565b60208301905092915050565b5f602082019050919050565b5f614bcf82614b6a565b614bd98185614b74565b9350614be483614b84565b805f5b83811015614c14578151614bfb8882614ba2565b9750614c0683614bb9565b925050600181019050614be7565b5085935050505092915050565b5f60a082019050614c345f830188613bce565b614c416020830187614b5b565b8181036040830152614c538186614bc5565b9050614c626060830185613c71565b614c6f6080830184613bce565b9695505050505050565b5f60c082019050614c8c5f830189613c71565b614c996020830188613bce565b614ca66040830187614b5b565b614cb36060830186614b5b565b614cc06080830185613c71565b614ccd60a0830184613bce565b979650505050505050565b5f81519050614ce681613a94565b92915050565b5f805f60608486031215614d0357614d02613a2d565b5b5f614d1086828701614cd8565b9350506020614d2186828701614cd8565b9250506040614d3286828701614cd8565b915050925092509256fea26469706673582212202e645c0560cf6e9d0ed28932b959246c06b7a4897fedc31460a3a3ef9a937e8d64736f6c63430008140033