60c0604052600060085560006009556000600a60006101000a81548160ff0219169083151502179055506001600a60016101000a81548160ff0219169083151502179055506000600a60026101000a81548160ff021916908315150217905550733646aa8ef9aefaf3e55502e0c7519d6c3953e396600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073cbe614e88dac0bf6c0ed61351adeaa94c24ab113600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601760006101000a81548160ff0219169083151502179055506000601760016101000a81548160ff0219169083151502179055506001601760026101000a81548160ff0219169083151502179055503480156200016757600080fd5b506040518060400160405280600681526020017f506f7474657200000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f504f5454455200000000000000000000000000000000000000000000000000008152508160039080519060200190620001ec92919062000b95565b5080600490805190602001906200020592919062000b95565b50505060006200021a6200072860201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060006b1eb2373fee3cc2429c0000009050612710600182620002dc919062000c7e565b620002e8919062000d0e565b6006819055506103e8600a8262000300919062000c7e565b6200030c919062000d0e565b6007819055506103e860148262000324919062000c7e565b62000330919062000d0e565b6018819055506014600e81905550600a600f81905550600f54600e5462000358919062000d46565b6010819055506014601181905550600a60128190555060125460115462000380919062000d46565b6013819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000413919062000e0d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200047b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a1919062000e0d565b6040518363ffffffff1660e01b8152600401620004c092919062000e50565b6020604051808303816000875af1158015620004e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000506919062000e0d565b90508173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050620005838160016200073060201b60201c565b620005a562000597620007d160201b60201c565b6001620007fb60201b60201c565b620005b8306001620007fb60201b60201c565b620005cd61dead6001620007fb60201b60201c565b620005e0826001620007fb60201b60201c565b62000615600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620007fb60201b60201c565b6200064a600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620007fb60201b60201c565b6200066c6200065e620007d160201b60201c565b60016200094860201b60201c565b6200067f3060016200094860201b60201c565b6200069461dead60016200094860201b60201c565b620006c9600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200094860201b60201c565b620006fe600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200094860201b60201c565b6200071f62000712620007d160201b60201c565b8462000a4560201b60201c565b5050506200103e565b600033905090565b80601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200080b6200072860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200089d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008949062000ede565b60405180910390fd5b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516200093c919062000f1d565b60405180910390a25050565b620009586200072860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620009ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009e19062000ede565b60405180910390fd5b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000ab7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aae9062000f8a565b60405180910390fd5b806002600082825462000acb919062000d46565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000b22919062000d46565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000b89919062000fbd565b60405180910390a35050565b82805462000ba39062001009565b90600052602060002090601f01602090048101928262000bc7576000855562000c13565b82601f1062000be257805160ff191683800117855562000c13565b8280016001018555821562000c13579182015b8281111562000c1257825182559160200191906001019062000bf5565b5b50905062000c22919062000c26565b5090565b5b8082111562000c4157600081600090555060010162000c27565b5090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000c8b8262000c45565b915062000c988362000c45565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000cd45762000cd362000c4f565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000d1b8262000c45565b915062000d288362000c45565b92508262000d3b5762000d3a62000cdf565b5b828204905092915050565b600062000d538262000c45565b915062000d608362000c45565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000d985762000d9762000c4f565b5b828201905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000dd58262000da8565b9050919050565b62000de78162000dc8565b811462000df357600080fd5b50565b60008151905062000e078162000ddc565b92915050565b60006020828403121562000e265762000e2562000da3565b5b600062000e368482850162000df6565b91505092915050565b62000e4a8162000dc8565b82525050565b600060408201905062000e67600083018562000e3f565b62000e76602083018462000e3f565b9392505050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000ec660208362000e7d565b915062000ed38262000e8e565b602082019050919050565b6000602082019050818103600083015262000ef98162000eb7565b9050919050565b60008115159050919050565b62000f178162000f00565b82525050565b600060208201905062000f34600083018462000f0c565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000f72601f8362000e7d565b915062000f7f8262000f3a565b602082019050919050565b6000602082019050818103600083015262000fa58162000f63565b9050919050565b62000fb78162000c45565b82525050565b600060208201905062000fd4600083018462000fac565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200102257607f821691505b60208210810362001038576200103762000fda565b5b50919050565b60805160a051615f99620010956000396000818161111a015281816116fe015281816121cd01526132390152600081816112c1015281816131e101528181613ccc01528181613dad0152613dd40152615f996000f3fe60806040526004361061039b5760003560e01c806375f0a874116101dc578063b9e9370011610102578063d0a39814116100a0578063e7f444b31161006f578063e7f444b314610d6b578063ee40166e14610d96578063f2fde38b14610dc1578063f8b45b0514610dea576103a2565b8063d0a3981414610cad578063d798425714610cd8578063dd62ed3e14610d03578063e2f4560514610d40576103a2565b8063c18bc195116100dc578063c18bc19514610c05578063c492f04614610c2e578063c876d0b914610c57578063c8c8ebe414610c82576103a2565b8063b9e9370014610b86578063bbc0c74214610bb1578063c024666814610bdc576103a2565b8063975e8c3b1161017a578063a457c2d711610149578063a457c2d714610aa6578063a9059cbb14610ae3578063b561fe6114610b20578063b62496f514610b49576103a2565b8063975e8c3b146109fc5780639a36f93214610a275780639a7a23d614610a52578063a008cb0e14610a7b576103a2565b80638208e244116101b65780638208e244146109525780638da5cb5b1461097d578063924de9b7146109a857806395d89b41146109d1576103a2565b806375f0a874146108e55780637fa787ba1461091057806381c28c4714610927576103a2565b806339509351116102c157806366ca9b831161025f578063715018a61161022e578063715018a61461084f578063748339e014610866578063751039fc146108915780637571336a146108bc576103a2565b806366ca9b831461079357806368078952146107bc5780636ddd1713146107e757806370a0823114610812576103a2565b80634a62bb651161029b5780634a62bb65146106eb5780634fbee1931461071657806351bc3c851461075357806365216a411461076a576103a2565b806339509351146106585780633f8a62041461069557806349bd5a5e146106c0576103a2565b8063141fbbcc116103395780631f3fed8f116103085780631f3fed8f1461059c578063203e727e146105c757806323b872dd146105f0578063313ce5671461062d576103a2565b8063141fbbcc146104f45780631694505e1461051d57806317533bca1461054857806318160ddd14610571576103a2565b806307980cb91161037557806307980cb914610426578063095ea7b31461044f5780630f4432e31461048c57806310d5de53146104b7576103a2565b806302dbd8f8146103a757806306228749146103d057806306fdde03146103fb576103a2565b366103a257005b600080fd5b3480156103b357600080fd5b506103ce60048036038101906103c99190614496565b610e15565b005b3480156103dc57600080fd5b506103e5610f1a565b6040516103f29190614517565b60405180910390f35b34801561040757600080fd5b50610410610f20565b60405161041d91906145cb565b60405180910390f35b34801561043257600080fd5b5061044d60048036038101906104489190614619565b610fb2565b005b34801561045b57600080fd5b5061047660048036038101906104719190614646565b6111c7565b60405161048391906146a1565b60405180910390f35b34801561049857600080fd5b506104a16111e5565b6040516104ae91906146cb565b60405180910390f35b3480156104c357600080fd5b506104de60048036038101906104d99190614619565b6111eb565b6040516104eb91906146a1565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190614712565b61120b565b005b34801561052957600080fd5b506105326112bf565b60405161053f919061479e565b60405180910390f35b34801561055457600080fd5b5061056f600480360381019061056a9190614901565b6112e3565b005b34801561057d57600080fd5b5061058661140f565b60405161059391906146cb565b60405180910390f35b3480156105a857600080fd5b506105b1611419565b6040516105be91906146cb565b60405180910390f35b3480156105d357600080fd5b506105ee60048036038101906105e9919061495d565b61141f565b005b3480156105fc57600080fd5b506106176004803603810190610612919061498a565b611549565b60405161062491906146a1565b60405180910390f35b34801561063957600080fd5b50610642611641565b60405161064f91906149f9565b60405180910390f35b34801561066457600080fd5b5061067f600480360381019061067a9190614646565b61164a565b60405161068c91906146a1565b60405180910390f35b3480156106a157600080fd5b506106aa6116f6565b6040516106b791906146cb565b60405180910390f35b3480156106cc57600080fd5b506106d56116fc565b6040516106e29190614517565b60405180910390f35b3480156106f757600080fd5b50610700611720565b60405161070d91906146a1565b60405180910390f35b34801561072257600080fd5b5061073d60048036038101906107389190614619565b611733565b60405161074a91906146a1565b60405180910390f35b34801561075f57600080fd5b50610768611789565b005b34801561077657600080fd5b50610791600480360381019061078c9190614ac5565b611839565b005b34801561079f57600080fd5b506107ba60048036038101906107b59190614496565b6119a2565b005b3480156107c857600080fd5b506107d1611aa7565b6040516107de91906146cb565b60405180910390f35b3480156107f357600080fd5b506107fc611aad565b60405161080991906146a1565b60405180910390f35b34801561081e57600080fd5b5061083960048036038101906108349190614619565b611ac0565b60405161084691906146cb565b60405180910390f35b34801561085b57600080fd5b50610864611b08565b005b34801561087257600080fd5b5061087b611c60565b6040516108889190614517565b60405180910390f35b34801561089d57600080fd5b506108a6611c86565b6040516108b391906146a1565b60405180910390f35b3480156108c857600080fd5b506108e360048036038101906108de9190614b46565b611d41565b005b3480156108f157600080fd5b506108fa611e33565b6040516109079190614517565b60405180910390f35b34801561091c57600080fd5b50610925611e59565b005b34801561093357600080fd5b5061093c611f9f565b60405161094991906146cb565b60405180910390f35b34801561095e57600080fd5b50610967611fa5565b60405161097491906146cb565b60405180910390f35b34801561098957600080fd5b50610992611fab565b60405161099f9190614517565b60405180910390f35b3480156109b457600080fd5b506109cf60048036038101906109ca9190614712565b611fd5565b005b3480156109dd57600080fd5b506109e6612089565b6040516109f391906145cb565b60405180910390f35b348015610a0857600080fd5b50610a1161211b565b604051610a1e91906146a1565b60405180910390f35b348015610a3357600080fd5b50610a3c61212e565b604051610a4991906146cb565b60405180910390f35b348015610a5e57600080fd5b50610a796004803603810190610a749190614b46565b612134565b005b348015610a8757600080fd5b50610a90612267565b604051610a9d91906146cb565b60405180910390f35b348015610ab257600080fd5b50610acd6004803603810190610ac89190614646565b61226d565b604051610ada91906146a1565b60405180910390f35b348015610aef57600080fd5b50610b0a6004803603810190610b059190614646565b612358565b604051610b1791906146a1565b60405180910390f35b348015610b2c57600080fd5b50610b476004803603810190610b429190614712565b612376565b005b348015610b5557600080fd5b50610b706004803603810190610b6b9190614619565b61242a565b604051610b7d91906146a1565b60405180910390f35b348015610b9257600080fd5b50610b9b61244a565b604051610ba891906146cb565b60405180910390f35b348015610bbd57600080fd5b50610bc6612450565b604051610bd391906146a1565b60405180910390f35b348015610be857600080fd5b50610c036004803603810190610bfe9190614b46565b612463565b005b348015610c1157600080fd5b50610c2c6004803603810190610c27919061495d565b6125a3565b005b348015610c3a57600080fd5b50610c556004803603810190610c509190614b86565b6126cd565b005b348015610c6357600080fd5b50610c6c612844565b604051610c7991906146a1565b60405180910390f35b348015610c8e57600080fd5b50610c97612857565b604051610ca491906146cb565b60405180910390f35b348015610cb957600080fd5b50610cc261285d565b604051610ccf91906146cb565b60405180910390f35b348015610ce457600080fd5b50610ced612863565b604051610cfa91906146a1565b60405180910390f35b348015610d0f57600080fd5b50610d2a6004803603810190610d259190614be6565b612876565b604051610d3791906146cb565b60405180910390f35b348015610d4c57600080fd5b50610d556128fd565b604051610d6291906146cb565b60405180910390f35b348015610d7757600080fd5b50610d80612903565b604051610d8d91906146cb565b60405180910390f35b348015610da257600080fd5b50610dab612909565b604051610db891906146cb565b60405180910390f35b348015610dcd57600080fd5b50610de86004803603810190610de39190614619565b61290f565b005b348015610df657600080fd5b50610dff612ad5565b604051610e0c91906146cb565b60405180910390f35b610e1d612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea390614c72565b60405180910390fd5b8160118190555080601281905550601254601154610eca9190614cc1565b60138190555060966013541115610f16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0d90614d63565b60405180910390fd5b5050565b61dead81565b606060038054610f2f90614db2565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5b90614db2565b8015610fa85780601f10610f7d57610100808354040283529160200191610fa8565b820191906000526020600020905b815481529060010190602001808311610f8b57829003601f168201915b5050505050905090565b610fba612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611049576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104090614c72565b60405180910390fd5b600a60009054906101000a900460ff1615611099576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109090614e2f565b60405180910390fd5b80601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22d48327f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016111559190614517565b600060405180830381600087803b15801561116f57600080fd5b505af1158015611183573d6000803e3d6000fd5b505050506001600a60006101000a81548160ff0219169083151502179055506001600a60026101000a81548160ff0219169083151502179055504360098190555050565b60006111db6111d4612adb565b8484612ae3565b6001905092915050565b60085481565b601b6020528060005260406000206000915054906101000a900460ff1681565b611213612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129990614c72565b60405180910390fd5b80601760026101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6112eb612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461137a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137190614c72565b60405180910390fd5b60005b825181101561140a57816019600085848151811061139e5761139d614e4f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061140290614e7e565b91505061137d565b505050565b6000600254905090565b60155481565b611427612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ad90614c72565b60405180910390fd5b670de0b6b3a76400006103e860016114cc61140f565b6114d69190614ec6565b6114e09190614f4f565b6114ea9190614f4f565b81101561152c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152390614ff2565b60405180910390fd5b670de0b6b3a7640000816115409190614ec6565b60078190555050565b6000611556848484612cac565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006115a1612adb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611621576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161890615084565b60405180910390fd5b6116358561162d612adb565b858403612ae3565b60019150509392505050565b60006012905090565b60006116ec611657612adb565b848460016000611665612adb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e79190614cc1565b612ae3565b6001905092915050565b60145481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600a60019054906101000a900460ff1681565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611791612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181790614c72565b60405180910390fd5b600061182b30611ac0565b905061183681613c2d565b50565b6000601a6000611847612adb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166118ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c590615116565b60405180910390fd5b828290508585905014611916576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190d906151a8565b60405180910390fd5b5b8484905081101561199b5761198761192d612adb565b8686848181106119405761193f614e4f565b5b90506020020160208101906119559190614619565b670de0b6b3a764000086868681811061197157611970614e4f565b5b905060200201356119829190614ec6565b612cac565b6001816119949190614cc1565b9050611917565b5050505050565b6119aa612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3090614c72565b60405180910390fd5b81600e8190555080600f81905550600f54600e54611a579190614cc1565b60108190555060966013541115611aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9a90614d63565b60405180910390fd5b5050565b600e5481565b600a60029054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611b10612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9690614c72565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611c90612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1690614c72565b60405180910390fd5b6000600a60016101000a81548160ff0219169083151502179055506001905090565b611d49612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcf90614c72565b60405180910390fd5b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611e61612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee790614c72565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051611f16906151f9565b60006040518083038185875af1925050503d8060008114611f53576040519150601f19603f3d011682016040523d82523d6000602084013e611f58565b606091505b5050905080611f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f939061525a565b60405180910390fd5b50565b60165481565b60125481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611fdd612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390614c72565b60405180910390fd5b80600a60026101000a81548160ff02191690831515021790555050565b60606004805461209890614db2565b80601f01602080910402602001604051908101604052809291908181526020018280546120c490614db2565b80156121115780601f106120e657610100808354040283529160200191612111565b820191906000526020600020905b8154815290600101906020018083116120f457829003601f168201915b5050505050905090565b601760029054906101000a900460ff1681565b6103e881565b61213c612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c290614c72565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612259576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225090615312565b60405180910390fd5b6122638282613e6a565b5050565b600f5481565b6000806001600061227c612adb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015612339576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612330906153a4565b60405180910390fd5b61234d612344612adb565b85858403612ae3565b600191505092915050565b600061236c612365612adb565b8484612cac565b6001905092915050565b61237e612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461240d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240490614c72565b60405180910390fd5b80601760016101000a81548160ff02191690831515021790555050565b601c6020528060005260406000206000915054906101000a900460ff1681565b60105481565b600a60009054906101000a900460ff1681565b61246b612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f190614c72565b60405180910390fd5b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161259791906146a1565b60405180910390a25050565b6125ab612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461263a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263190614c72565b60405180910390fd5b670de0b6b3a76400006103e8600561265061140f565b61265a9190614ec6565b6126649190614f4f565b61266e9190614f4f565b8110156126b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a790615436565b60405180910390fd5b670de0b6b3a7640000816126c49190614ec6565b60188190555050565b6126d5612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275b90614c72565b60405180910390fd5b60005b838390508110156128035781601a600086868581811061278a57612789614e4f565b5b905060200201602081019061279f9190614619565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806127fb90614e7e565b915050612767565b507f7fdaf542373fa84f4ee8d662c642f44e4c2276a217d7d29e548b6eb29a233b3583838360405161283793929190615519565b60405180910390a1505050565b601760009054906101000a900460ff1681565b60075481565b60135481565b601760019054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60065481565b60115481565b60095481565b612917612adb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299d90614c72565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0c906155bd565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60185481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b499061564f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612bc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bb8906156e1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612c9f91906146cb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1290615773565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8190615805565b60405180910390fd5b601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612e2e5750601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612e6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e6490615897565b60405180910390fd5b60008103612e8657612e8183836000613f0b565b613c28565b600a60009054906101000a900460ff16612f7b57601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f3b5750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f7190615903565b60405180910390fd5b5b600a60019054906101000a900460ff161561366457612f98611fab565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156130065750612fd6611fab565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561303f5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015613079575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156130925750600560149054906101000a900460ff16155b1561366357600a60009054906101000a900460ff1661318c57601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061314c5750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61318b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131829061596f565b60405180910390fd5b5b601760009054906101000a900460ff1615613354576131a9611fab565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561323057507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561328857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156133535743600b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061330e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161330590615a27565b60405180910390fd5b43600b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156133f75750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156134b157670de0b6b3a76400006007546134129190614cc1565b811115613454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161344b90615ab9565b60405180910390fd5b60185461346083611ac0565b8261346b9190614cc1565b11156134ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134a390615b25565b60405180910390fd5b613662565b601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156135545750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156135b657670de0b6b3a764000060075461356f9190614cc1565b8111156135b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135a890615bb7565b60405180910390fd5b613661565b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166136605760185461361383611ac0565b8261361e9190614cc1565b111561365f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365690615b25565b60405180910390fd5b5b5b5b5b5b600061366f30611ac0565b9050600060065482101590508080156136945750600a60029054906101000a900460ff165b80156136ad5750600560149054906101000a900460ff16155b80156137035750601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156137595750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156137af5750601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156137f3576001600560146101000a81548160ff0219169083151502179055506137d7614174565b6000600560146101000a81548160ff0219169083151502179055505b6000600560149054906101000a900460ff16159050601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806138a95750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156138b357600090505b6000601760019054906101000a900460ff16613b01578115613b0057601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561392a57506000601354115b156139de576139586103e861394a6013548861432590919063ffffffff16565b61439f90919063ffffffff16565b9050806014600082825461396c9190614cc1565b92505081905550601354601154826139849190614ec6565b61398e9190614f4f565b6015600082825461399f9190614cc1565b92505081905550601354601254826139b79190614ec6565b6139c19190614f4f565b601660008282546139d29190614cc1565b92505081905550613adc565b601c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613adb57613a596103e8613a4b6010548861432590919063ffffffff16565b61439f90919063ffffffff16565b90508060146000828254613a6d9190614cc1565b92505081905550601054600e5482613a859190614ec6565b613a8f9190614f4f565b60156000828254613aa09190614cc1565b92505081905550601354600f5482613ab89190614ec6565b613ac29190614f4f565b60166000828254613ad39190614cc1565b925050819055505b5b6000811115613af157613af0873083613f0b565b5b8085613afd9190615bd7565b94505b5b600a60009054906101000a900460ff168015613b295750601760029054906101000a900460ff165b15613c18576000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f45d77489896040518363ffffffff1660e01b8152600401613b8d929190615c0b565b6020604051808303816000875af1925050508015613bc957506040513d601f19601f82011682018060405250810190613bc69190615c49565b60015b613bd257600080fd5b8091505080613c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613c0d90615cc2565b60405180910390fd5b505b613c23878787613f0b565b505050505b505050565b6000600267ffffffffffffffff811115613c4a57613c496147be565b5b604051908082528060200260200182016040528015613c785781602001602082028036833780820191505090505b5090503081600081518110613c9057613c8f614e4f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613d35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d599190615cf7565b81600181518110613d6d57613d6c614e4f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613dd2307f000000000000000000000000000000000000000000000000000000000000000084612ae3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613e34959493929190615de5565b600060405180830381600087803b158015613e4e57600080fd5b505af1158015613e62573d6000803e3d6000fd5b505050505050565b80601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613f7190615773565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613fe9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613fe090615805565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561406f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161406690615eb1565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546141029190614cc1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161416691906146cb565b60405180910390a350505050565b600061417f30611ac0565b905060006016546015546141939190614cc1565b90506000808314806141a55750600082145b156141b257505050614323565b60008390506141c081613c2d565b600047905060006141ee856141e06016548561432590919063ffffffff16565b61439f90919063ffffffff16565b9050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051614236906151f9565b60006040518083038185875af1925050503d8060008114614273576040519150601f19603f3d011682016040523d82523d6000602084013e614278565b606091505b505080945050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516142c4906151f9565b60006040518083038185875af1925050503d8060008114614301576040519150601f19603f3d011682016040523d82523d6000602084013e614306565b606091505b505080945050600060158190555060006014819055505050505050505b565b60008083036143375760009050614399565b600082846143459190614ec6565b90508284826143549190614f4f565b14614394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161438b90615f43565b60405180910390fd5b809150505b92915050565b60006143e183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506143e9565b905092915050565b60008083118290614430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161442791906145cb565b60405180910390fd5b506000838561443f9190614f4f565b9050809150509392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61447381614460565b811461447e57600080fd5b50565b6000813590506144908161446a565b92915050565b600080604083850312156144ad576144ac614456565b5b60006144bb85828601614481565b92505060206144cc85828601614481565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614501826144d6565b9050919050565b614511816144f6565b82525050565b600060208201905061452c6000830184614508565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561456c578082015181840152602081019050614551565b8381111561457b576000848401525b50505050565b6000601f19601f8301169050919050565b600061459d82614532565b6145a7818561453d565b93506145b781856020860161454e565b6145c081614581565b840191505092915050565b600060208201905081810360008301526145e58184614592565b905092915050565b6145f6816144f6565b811461460157600080fd5b50565b600081359050614613816145ed565b92915050565b60006020828403121561462f5761462e614456565b5b600061463d84828501614604565b91505092915050565b6000806040838503121561465d5761465c614456565b5b600061466b85828601614604565b925050602061467c85828601614481565b9150509250929050565b60008115159050919050565b61469b81614686565b82525050565b60006020820190506146b66000830184614692565b92915050565b6146c581614460565b82525050565b60006020820190506146e060008301846146bc565b92915050565b6146ef81614686565b81146146fa57600080fd5b50565b60008135905061470c816146e6565b92915050565b60006020828403121561472857614727614456565b5b6000614736848285016146fd565b91505092915050565b6000819050919050565b600061476461475f61475a846144d6565b61473f565b6144d6565b9050919050565b600061477682614749565b9050919050565b60006147888261476b565b9050919050565b6147988161477d565b82525050565b60006020820190506147b3600083018461478f565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6147f682614581565b810181811067ffffffffffffffff82111715614815576148146147be565b5b80604052505050565b600061482861444c565b905061483482826147ed565b919050565b600067ffffffffffffffff821115614854576148536147be565b5b602082029050602081019050919050565b600080fd5b600061487d61487884614839565b61481e565b905080838252602082019050602084028301858111156148a05761489f614865565b5b835b818110156148c957806148b58882614604565b8452602084019350506020810190506148a2565b5050509392505050565b600082601f8301126148e8576148e76147b9565b5b81356148f884826020860161486a565b91505092915050565b6000806040838503121561491857614917614456565b5b600083013567ffffffffffffffff8111156149365761493561445b565b5b614942858286016148d3565b9250506020614953858286016146fd565b9150509250929050565b60006020828403121561497357614972614456565b5b600061498184828501614481565b91505092915050565b6000806000606084860312156149a3576149a2614456565b5b60006149b186828701614604565b93505060206149c286828701614604565b92505060406149d386828701614481565b9150509250925092565b600060ff82169050919050565b6149f3816149dd565b82525050565b6000602082019050614a0e60008301846149ea565b92915050565b600080fd5b60008083601f840112614a2f57614a2e6147b9565b5b8235905067ffffffffffffffff811115614a4c57614a4b614a14565b5b602083019150836020820283011115614a6857614a67614865565b5b9250929050565b60008083601f840112614a8557614a846147b9565b5b8235905067ffffffffffffffff811115614aa257614aa1614a14565b5b602083019150836020820283011115614abe57614abd614865565b5b9250929050565b60008060008060408587031215614adf57614ade614456565b5b600085013567ffffffffffffffff811115614afd57614afc61445b565b5b614b0987828801614a19565b9450945050602085013567ffffffffffffffff811115614b2c57614b2b61445b565b5b614b3887828801614a6f565b925092505092959194509250565b60008060408385031215614b5d57614b5c614456565b5b6000614b6b85828601614604565b9250506020614b7c858286016146fd565b9150509250929050565b600080600060408486031215614b9f57614b9e614456565b5b600084013567ffffffffffffffff811115614bbd57614bbc61445b565b5b614bc986828701614a19565b93509350506020614bdc868287016146fd565b9150509250925092565b60008060408385031215614bfd57614bfc614456565b5b6000614c0b85828601614604565b9250506020614c1c85828601614604565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614c5c60208361453d565b9150614c6782614c26565b602082019050919050565b60006020820190508181036000830152614c8b81614c4f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614ccc82614460565b9150614cd783614460565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614d0c57614d0b614c92565b5b828201905092915050565b7f4d757374206b656570206665657320617420313525206f72206c657373000000600082015250565b6000614d4d601d8361453d565b9150614d5882614d17565b602082019050919050565b60006020820190508181036000830152614d7c81614d40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680614dca57607f821691505b602082108103614ddd57614ddc614d83565b5b50919050565b7f43616e6e6f742072652d656e61626c652074726164696e670000000000000000600082015250565b6000614e1960188361453d565b9150614e2482614de3565b602082019050919050565b60006020820190508181036000830152614e4881614e0c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000614e8982614460565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614ebb57614eba614c92565b5b600182019050919050565b6000614ed182614460565b9150614edc83614460565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614f1557614f14614c92565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614f5a82614460565b9150614f6583614460565b925082614f7557614f74614f20565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000614fdc602f8361453d565b9150614fe782614f80565b604082019050919050565b6000602082019050818103600083015261500b81614fcf565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061506e60288361453d565b915061507982615012565b604082019050919050565b6000602082019050818103600083015261509d81615061565b9050919050565b7f41697264726f702063616e206f6e6c7920626520646f6e65206279206578636c60008201527f756465642066726f6d2066656500000000000000000000000000000000000000602082015250565b6000615100602d8361453d565b915061510b826150a4565b604082019050919050565b6000602082019050818103600083015261512f816150f3565b9050919050565b7f486f6c6465727320616e6420616d6f756e74206c656e677468206d757374206260008201527f65207468652073616d6500000000000000000000000000000000000000000000602082015250565b6000615192602a8361453d565b915061519d82615136565b604082019050919050565b600060208201905081810360008301526151c181615185565b9050919050565b600081905092915050565b50565b60006151e36000836151c8565b91506151ee826151d3565b600082019050919050565b6000615204826151d6565b9150819050919050565b7f6661696c656420746f2077697468647261770000000000000000000000000000600082015250565b600061524460128361453d565b915061524f8261520e565b602082019050919050565b6000602082019050818103600083015261527381615237565b9050919050565b7f54686520556e697377617020706169722063616e6e6f742062652072656d6f7660008201527f65642066726f6d206175746f6d617465644d61726b65744d616b65725061697260208201527f7300000000000000000000000000000000000000000000000000000000000000604082015250565b60006152fc60418361453d565b91506153078261527a565b606082019050919050565b6000602082019050818103600083015261532b816152ef565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061538e60258361453d565b915061539982615332565b604082019050919050565b600060208201905081810360008301526153bd81615381565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b600061542060248361453d565b915061542b826153c4565b604082019050919050565b6000602082019050818103600083015261544f81615413565b9050919050565b600082825260208201905092915050565b6000819050919050565b61547a816144f6565b82525050565b600061548c8383615471565b60208301905092915050565b60006154a76020840184614604565b905092915050565b6000602082019050919050565b60006154c88385615456565b93506154d382615467565b8060005b8581101561550c576154e98284615498565b6154f38882615480565b97506154fe836154af565b9250506001810190506154d7565b5085925050509392505050565b600060408201905081810360008301526155348185876154bc565b90506155436020830184614692565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006155a760268361453d565b91506155b28261554b565b604082019050919050565b600060208201905081810360008301526155d68161559a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061563960248361453d565b9150615644826155dd565b604082019050919050565b600060208201905081810360008301526156688161562c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006156cb60228361453d565b91506156d68261566f565b604082019050919050565b600060208201905081810360008301526156fa816156be565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061575d60258361453d565b915061576882615701565b604082019050919050565b6000602082019050818103600083015261578c81615750565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006157ef60238361453d565b91506157fa82615793565b604082019050919050565b6000602082019050818103600083015261581e816157e2565b9050919050565b7f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460008201527f72616e73666572696e6720746f6b656e73000000000000000000000000000000602082015250565b600061588160318361453d565b915061588c82615825565b604082019050919050565b600060208201905081810360008301526158b081615874565b9050919050565b7f54726164696e67206973206e6f7420616374697665207965742e000000000000600082015250565b60006158ed601a8361453d565b91506158f8826158b7565b602082019050919050565b6000602082019050818103600083015261591c816158e0565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b600061595960168361453d565b915061596482615923565b602082019050919050565b600060208201905081810360008301526159888161594c565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b6000615a1160498361453d565b9150615a1c8261598f565b606082019050919050565b60006020820190508181036000830152615a4081615a04565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000615aa360358361453d565b9150615aae82615a47565b604082019050919050565b60006020820190508181036000830152615ad281615a96565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000615b0f60138361453d565b9150615b1a82615ad9565b602082019050919050565b60006020820190508181036000830152615b3e81615b02565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000615ba160368361453d565b9150615bac82615b45565b604082019050919050565b60006020820190508181036000830152615bd081615b94565b9050919050565b6000615be282614460565b9150615bed83614460565b925082821015615c0057615bff614c92565b5b828203905092915050565b6000604082019050615c206000830185614508565b615c2d6020830184614508565b9392505050565b600081519050615c43816146e6565b92915050565b600060208284031215615c5f57615c5e614456565b5b6000615c6d84828501615c34565b91505092915050565b7f4d455620426f7420446574656374656400000000000000000000000000000000600082015250565b6000615cac60108361453d565b9150615cb782615c76565b602082019050919050565b60006020820190508181036000830152615cdb81615c9f565b9050919050565b600081519050615cf1816145ed565b92915050565b600060208284031215615d0d57615d0c614456565b5b6000615d1b84828501615ce2565b91505092915050565b6000819050919050565b6000615d49615d44615d3f84615d24565b61473f565b614460565b9050919050565b615d5981615d2e565b82525050565b600081519050919050565b6000819050602082019050919050565b6000602082019050919050565b6000615d9282615d5f565b615d9c8185615456565b9350615da783615d6a565b8060005b83811015615dd8578151615dbf8882615480565b9750615dca83615d7a565b925050600181019050615dab565b5085935050505092915050565b600060a082019050615dfa60008301886146bc565b615e076020830187615d50565b8181036040830152615e198186615d87565b9050615e286060830185614508565b615e3560808301846146bc565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000615e9b60268361453d565b9150615ea682615e3f565b604082019050919050565b60006020820190508181036000830152615eca81615e8e565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000615f2d60218361453d565b9150615f3882615ed1565b604082019050919050565b60006020820190508181036000830152615f5c81615f20565b905091905056fea264697066735822122057246df86800a1b100781422848b1a88f21faf626a06305c0c3c265a2ebed91064736f6c634300080d0033