6080604052600a600c556000600f60006101000a81548160ff02191690831515021790555073c216ea9a7be59313cb93d8fc266cacd368355775601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200008657600080fd5b5060405162005eda38038062005eda8339818101604052810190620000ac919062000c23565b8282620000ce620000c26200021e60201b60201c565b6200022660201b60201c565b8160019080519060200190620000e692919062000b01565b508060029080519060200190620000ff92919062000b01565b50505080601090805190602001906200011a92919062000b01565b5060005b60148110156200021457620001503362000144600b620002ea60201b6200225a1760201c565b620002f860201b60201c565b33601260006200016c600b620002ea60201b6200225a1760201c565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060116000620001d5600b620002ea60201b6200225a1760201c565b815260200190815260200160002081905550620001fe600b620004de60201b620022681760201c565b80806200020b9062000f9c565b9150506200011e565b5050505062001077565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200036b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003629062000df4565b60405180910390fd5b6200037c81620004f460201b60201c565b15620003bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003b69062000db0565b60405180910390fd5b620003d3600083836200056060201b60201c565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000425919062000e8e565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6001816000016000828254019250508190555050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b62000578838383620006a760201b6200227e1760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620005c557620005bf81620006ac60201b60201c565b6200060d565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146200060c576200060b8382620006f560201b60201c565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200065a5762000654816200087260201b60201c565b620006a2565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614620006a157620006a08282620009ba60201b60201c565b5b5b505050565b505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016200070f8462000a4660201b620017721760201c565b6200071b919062000eeb565b905060006008600084815260200190815260200160002054905081811462000801576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160098054905062000888919062000eeb565b90506000600a6000848152602001908152602001600020549050600060098381548110620008df577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050806009838154811062000928577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a60008581526020019081526020016000206000905560098054806200099e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000620009d28362000a4660201b620017721760201c565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000aba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ab19062000dd2565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b82805462000b0f9062000f66565b90600052602060002090601f01602090048101928262000b33576000855562000b7f565b82601f1062000b4e57805160ff191683800117855562000b7f565b8280016001018555821562000b7f579182015b8281111562000b7e57825182559160200191906001019062000b61565b5b50905062000b8e919062000b92565b5090565b5b8082111562000bad57600081600090555060010162000b93565b5090565b600062000bc862000bc28462000e4a565b62000e16565b90508281526020810184848401111562000be157600080fd5b62000bee84828562000f30565b509392505050565b600082601f83011262000c0857600080fd5b815162000c1a84826020860162000bb1565b91505092915050565b60008060006060848603121562000c3957600080fd5b600084015167ffffffffffffffff81111562000c5457600080fd5b62000c628682870162000bf6565b935050602084015167ffffffffffffffff81111562000c8057600080fd5b62000c8e8682870162000bf6565b925050604084015167ffffffffffffffff81111562000cac57600080fd5b62000cba8682870162000bf6565b9150509250925092565b600062000cd3601c8362000e7d565b91507f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006000830152602082019050919050565b600062000d15602a8362000e7d565b91507f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008301527f726f2061646472657373000000000000000000000000000000000000000000006020830152604082019050919050565b600062000d7d60208362000e7d565b91507f4552433732313a206d696e7420746f20746865207a65726f20616464726573736000830152602082019050919050565b6000602082019050818103600083015262000dcb8162000cc4565b9050919050565b6000602082019050818103600083015262000ded8162000d06565b9050919050565b6000602082019050818103600083015262000e0f8162000d6e565b9050919050565b6000604051905081810181811067ffffffffffffffff8211171562000e405762000e3f62001048565b5b8060405250919050565b600067ffffffffffffffff82111562000e685762000e6762001048565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b600062000e9b8262000f26565b915062000ea88362000f26565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000ee05762000edf62000fea565b5b828201905092915050565b600062000ef88262000f26565b915062000f058362000f26565b92508282101562000f1b5762000f1a62000fea565b5b828203905092915050565b6000819050919050565b60005b8381101562000f5057808201518184015260208101905062000f33565b8381111562000f60576000848401525b50505050565b6000600282049050600182168062000f7f57607f821691505b6020821081141562000f965762000f9562001019565b5b50919050565b600062000fa98262000f26565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000fdf5762000fde62000fea565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614e5380620010876000396000f3fe6080604052600436106102505760003560e01c80634f6ccce711610139578063a0712d68116100b6578063b88d4fde1161007a578063b88d4fde146108ad578063c87b56dd146108d6578063d206885714610913578063e985e9c514610950578063f2fde38b1461098d578063f9f8bdb7146109b657610250565b8063a0712d68146107c5578063a22cb465146107e1578063a708d4041461080a578063ac8d856c14610847578063ae169a501461088457610250565b80637c57d947116100fd5780637c57d947146106dc5780638da5cb5b1461071957806395d89b411461074457806398bcede91461076f578063a035b1fe1461079a57610250565b80634f6ccce7146105e557806355f804b3146106225780636352211e1461064b57806370a0823114610688578063715018a6146106c557610250565b80632be09561116101d25780634131ff99116101965780634131ff99146104d357806342842e0e146104fe578063438b63001461052757806344b28d59146105645780634b6acafb1461058f5780634f3114d3146105ba57610250565b80632be09561146104125780632f745c591461042957806330503c4e1461046657806332cb6b0c14610491578063372500ab146104bc57610250565b8063095ea7b311610219578063095ea7b31461034157806318160ddd1461036a57806320e409b414610395578063239c70ae146103be57806323b872dd146103e957610250565b8062fe50c61461025557806301ffc9a714610292578063047d5e80146102cf57806306fdde03146102d9578063081812fc14610304575b600080fd5b34801561026157600080fd5b5061027c60048036038101906102779190613938565b6109e1565b6040516102899190614931565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b491906138a5565b610a12565b6040516102c69190614579565b60405180910390f35b6102d7610a8c565b005b3480156102e557600080fd5b506102ee610a97565b6040516102fb91906145af565b60405180910390f35b34801561031057600080fd5b5061032b60048036038101906103269190613938565b610b29565b60405161033891906144f0565b60405180910390f35b34801561034d57600080fd5b5061036860048036038101906103639190613869565b610bae565b005b34801561037657600080fd5b5061037f610cc6565b60405161038c9190614931565b60405180910390f35b3480156103a157600080fd5b506103bc60048036038101906103b79190613938565b610cd3565b005b3480156103ca57600080fd5b506103d36111bf565b6040516103e09190614931565b60405180910390f35b3480156103f557600080fd5b50610410600480360381019061040b9190613763565b6111c4565b005b34801561041e57600080fd5b50610427611224565b005b34801561043557600080fd5b50610450600480360381019061044b9190613869565b6112bd565b60405161045d9190614931565b60405180910390f35b34801561047257600080fd5b5061047b611362565b6040516104889190614594565b60405180910390f35b34801561049d57600080fd5b506104a6611388565b6040516104b39190614931565b60405180910390f35b3480156104c857600080fd5b506104d161138e565b005b3480156104df57600080fd5b506104e861144c565b6040516104f59190614931565b60405180910390f35b34801561050a57600080fd5b5061052560048036038101906105209190613763565b611452565b005b34801561053357600080fd5b5061054e600480360381019061054991906136d5565b611472565b60405161055b9190614557565b60405180910390f35b34801561057057600080fd5b50610579611574565b6040516105869190614579565b60405180910390f35b34801561059b57600080fd5b506105a4611587565b6040516105b19190614931565b60405180910390f35b3480156105c657600080fd5b506105cf61158d565b6040516105dc9190614931565b60405180910390f35b3480156105f157600080fd5b5061060c60048036038101906106079190613938565b611593565b6040516106199190614931565b60405180910390f35b34801561062e57600080fd5b50610649600480360381019061064491906138f7565b61162a565b005b34801561065757600080fd5b50610672600480360381019061066d9190613938565b6116c0565b60405161067f91906144f0565b60405180910390f35b34801561069457600080fd5b506106af60048036038101906106aa91906136d5565b611772565b6040516106bc9190614931565b60405180910390f35b3480156106d157600080fd5b506106da61182a565b005b3480156106e857600080fd5b5061070360048036038101906106fe9190613938565b6118b2565b60405161071091906144f0565b60405180910390f35b34801561072557600080fd5b5061072e6118ef565b60405161073b91906144f0565b60405180910390f35b34801561075057600080fd5b50610759611918565b60405161076691906145af565b60405180910390f35b34801561077b57600080fd5b506107846119aa565b6040516107919190614931565b60405180910390f35b3480156107a657600080fd5b506107af6119b6565b6040516107bc9190614931565b60405180910390f35b6107df60048036038101906107da9190613938565b6119c1565b005b3480156107ed57600080fd5b506108086004803603810190610803919061382d565b611c24565b005b34801561081657600080fd5b50610831600480360381019061082c91906136d5565b611da5565b60405161083e9190614931565b60405180910390f35b34801561085357600080fd5b5061086e60048036038101906108699190613938565b611e09565b60405161087b91906144f0565b60405180910390f35b34801561089057600080fd5b506108ab60048036038101906108a69190613938565b611e3c565b005b3480156108b957600080fd5b506108d460048036038101906108cf91906137b2565b611f78565b005b3480156108e257600080fd5b506108fd60048036038101906108f89190613938565b611fda565b60405161090a91906145af565b60405180910390f35b34801561091f57600080fd5b5061093a60048036038101906109359190613938565b612081565b6040516109479190614931565b60405180910390f35b34801561095c57600080fd5b5061097760048036038101906109729190613727565b612099565b6040516109849190614579565b60405180910390f35b34801561099957600080fd5b506109b460048036038101906109af91906136d5565b61212d565b005b3480156109c257600080fd5b506109cb612225565b6040516109d89190614931565b60405180910390f35b6000610a0b6011600084815260200190815260200160002054600e5461228390919063ffffffff16565b9050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a855750610a8482612299565b5b9050919050565b610a953461237b565b565b606060018054610aa690614c48565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad290614c48565b8015610b1f5780601f10610af457610100808354040283529160200191610b1f565b820191906000526020600020905b815481529060010190602001808311610b0257829003601f168201915b5050505050905090565b6000610b34826123cd565b610b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6a906147b1565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610bb9826116c0565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2190614831565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610c49612439565b73ffffffffffffffffffffffffffffffffffffffff161480610c785750610c7781610c72612439565b612099565b5b610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cae90614711565b60405180910390fd5b610cc18383612441565b505050565b6000600980549050905090565b610cdb612439565b73ffffffffffffffffffffffffffffffffffffffff16610cf96118ef565b73ffffffffffffffffffffffffffffffffffffffff1614610d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d46906147d1565b60405180910390fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610db757600080fd5b505afa158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def9190613961565b610df7610cc6565b10610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e906145d1565b60405180910390fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9f57600080fd5b505afa158015610eb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed79190613961565b610ee1600b61225a565b10610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1890614691565b60405180910390fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8957600080fd5b505afa158015610f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc19190613961565b8110611002576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff9906148d1565b60405180910390fd5b5b8061100e600b61225a565b116111bc5761102633611021600b61225a565b6124fa565b3360126000611035600b61225a565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060116000611091600b61225a565b815260200190815260200160002081905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e6110eb600b61225a565b6040518263ffffffff1660e01b81526004016111079190614931565b60206040518083038186803b15801561111f57600080fd5b505afa158015611133573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115791906136fe565b73ffffffffffffffffffffffffffffffffffffffff167f3fffaa5804a26fcec0d70b1d0fb0a2d0031df3a5f9c8af2127c2f4360e97b463611198600b61225a565b6040516111a59190614931565b60405180910390a26111b7600b612268565b611003565b50565b601481565b6111d56111cf612439565b826126c8565b611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120b90614891565b60405180910390fd5b61121f8383836127a6565b505050565b61122c612439565b73ffffffffffffffffffffffffffffffffffffffff1661124a6118ef565b73ffffffffffffffffffffffffffffffffffffffff16146112a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611297906147d1565b60405180910390fd5b6001600f60006101000a81548160ff021916908315150217905550565b60006112c883611772565b8210611309576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611300906145f1565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6104b081565b600061139933611772565b90506000805b828110156114005760006113b333836112bd565b90506113d06113c1826109e1565b84612a0290919063ffffffff16565b9250600e5460116000838152602001908152602001600020819055505080806113f890614c7a565b91505061139f565b503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611447573d6000803e3d6000fd5b505050565b600d5481565b61146d83838360405180602001604052806000815250611f78565b505050565b6060600061147f83611772565b905060008167ffffffffffffffff8111156114c3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156114f15781602001602082028036833780820191505090505b50905060005b828110156115695761150985826112bd565b828281518110611542577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050611562600182612a0290919063ffffffff16565b90506114f7565b508092505050919050565b600f60009054906101000a900460ff1681565b600e5481565b600c5481565b600061159d610cc6565b82106115de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d5906148b1565b60405180910390fd5b60098281548110611618577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050919050565b611632612439565b73ffffffffffffffffffffffffffffffffffffffff166116506118ef565b73ffffffffffffffffffffffffffffffffffffffff16146116a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169d906147d1565b60405180910390fd5b80601090805190602001906116bc9291906134cf565b5050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176090614751565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da90614731565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611832612439565b73ffffffffffffffffffffffffffffffffffffffff166118506118ef565b73ffffffffffffffffffffffffffffffffffffffff16146118a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189d906147d1565b60405180910390fd5b6118b06000612a18565b565b60006012600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461192790614c48565b80601f016020809104026020016040519081016040528092919081815260200182805461195390614c48565b80156119a05780601f10611975576101008083540402835291602001916119a0565b820191906000526020600020905b81548152906001019060200180831161198357829003601f168201915b5050505050905090565b600b8060000154905081565b662386f26fc1000081565b600f60009054906101000a900460ff16611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0790614911565b60405180910390fd5b60008111611a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4a90614871565b60405180910390fd5b6014811115611a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8e90614851565b60405180910390fd5b611ab181662386f26fc10000612adc90919063ffffffff16565b341015611af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aea90614771565b60405180910390fd5b6104b0611b1282611b04600b61225a565b612a0290919063ffffffff16565b1115611b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4a90614671565b60405180910390fd5b60005b81811015611c2057611b7133611b6c600b61225a565b6124fa565b3360126000611b80600b61225a565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5460116000611bdd600b61225a565b815260200190815260200160002081905550611bf9600b612268565b611c0d8234611c089190614aaf565b612af2565b8080611c1890614c7a565b915050611b56565b5050565b611c2c612439565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c91906146d1565b60405180910390fd5b8060066000611ca7612439565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611d54612439565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611d999190614579565b60405180910390a35050565b600080611db183611772565b90506000805b82811015611dfe576000611dcb86836112bd565b9050611de8611dd9826109e1565b84612a0290919063ffffffff16565b9250508080611df690614c7a565b915050611db7565b508092505050919050565b60126020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611e44612439565b73ffffffffffffffffffffffffffffffffffffffff16611e63826116c0565b73ffffffffffffffffffffffffffffffffffffffff161480611ebf5750611e88612439565b73ffffffffffffffffffffffffffffffffffffffff16611ea782610b29565b73ffffffffffffffffffffffffffffffffffffffff16145b611efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef5906148f1565b60405180910390fd5b6000611f09826109e1565b9050611f14826116c0565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f59573d6000803e3d6000fd5b50600e5460116000848152602001908152602001600020819055505050565b611f89611f83612439565b836126c8565b611fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbf90614891565b60405180910390fd5b611fd484848484612b7e565b50505050565b6060611fe5826123cd565b612024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201b90614811565b60405180910390fd5b600061202e612bda565b9050600081511161204e5760405180602001604052806000815250612079565b8061205884612c6c565b6040516020016120699291906144cc565b6040516020818303038152906040525b915050919050565b60116020528060005260406000206000915090505481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612135612439565b73ffffffffffffffffffffffffffffffffffffffff166121536118ef565b73ffffffffffffffffffffffffffffffffffffffff16146121a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a0906147d1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612219576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221090614631565b60405180910390fd5b61222281612a18565b50565b600080612230610cc6565b141561223f5760009050612257565b612247610cc6565b600d546122549190614aaf565b90505b90565b600081600001549050919050565b6001816000016000828254019250508190555050565b505050565b600081836122919190614b3a565b905092915050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061236457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612374575061237382612e19565b5b9050919050565b61239081600d54612a0290919063ffffffff16565b600d819055506123c46123b36123a4610cc6565b83612e8390919063ffffffff16565b600e54612a0290919063ffffffff16565b600e8190555050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166124b4836116c0565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561256a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256190614791565b60405180910390fd5b612573816123cd565b156125b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125aa90614651565b60405180910390fd5b6125bf60008383612e99565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461260f9190614a59565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60006126d3826123cd565b612712576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612709906146f1565b60405180910390fd5b600061271d836116c0565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061278c57508373ffffffffffffffffffffffffffffffffffffffff1661277484610b29565b73ffffffffffffffffffffffffffffffffffffffff16145b8061279d575061279c8185612099565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166127c6826116c0565b73ffffffffffffffffffffffffffffffffffffffff161461281c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612813906147f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561288c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612883906146b1565b60405180910390fd5b612897838383612e99565b6128a2600082612441565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546128f29190614b3a565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546129499190614a59565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008183612a109190614a59565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008183612aea9190614ae0565b905092915050565b6000612b09600c5483612e8390919063ffffffff16565b90506000612b20828461228390919063ffffffff16565b9050612b2b8261237b565b612b336118ef565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612b78573d6000803e3d6000fd5b50505050565b612b898484846127a6565b612b9584848484612fad565b612bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bcb90614611565b60405180910390fd5b50505050565b606060108054612be990614c48565b80601f0160208091040260200160405190810160405280929190818152602001828054612c1590614c48565b8015612c625780601f10612c3757610100808354040283529160200191612c62565b820191906000526020600020905b815481529060010190602001808311612c4557829003601f168201915b5050505050905090565b60606000821415612cb4576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612e14565b600082905060005b60008214612ce6578080612ccf90614c7a565b915050600a82612cdf9190614aaf565b9150612cbc565b60008167ffffffffffffffff811115612d28577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612d5a5781602001600182028036833780820191505090505b5090505b60008514612e0d57600182612d739190614b3a565b9150600a85612d829190614cc3565b6030612d8e9190614a59565b60f81b818381518110612dca577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612e069190614aaf565b9450612d5e565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008183612e919190614aaf565b905092915050565b612ea483838361227e565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ee757612ee281613144565b612f26565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612f2557612f24838261318d565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f6957612f64816132fa565b612fa8565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612fa757612fa6828261343d565b5b5b505050565b6000612fce8473ffffffffffffffffffffffffffffffffffffffff166134bc565b15613137578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612ff7612439565b8786866040518563ffffffff1660e01b8152600401613019949392919061450b565b602060405180830381600087803b15801561303357600080fd5b505af192505050801561306457506040513d601f19601f8201168201806040525081019061306191906138ce565b60015b6130e7573d8060008114613094576040519150601f19603f3d011682016040523d82523d6000602084013e613099565b606091505b506000815114156130df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d690614611565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061313c565b600190505b949350505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161319a84611772565b6131a49190614b3a565b9050600060086000848152602001908152602001600020549050818114613289576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160098054905061330e9190614b3a565b90506000600a6000848152602001908152602001600020549050600060098381548110613364577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080600983815481106133ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a6000858152602001908152602001600020600090556009805480613421577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b600061344883611772565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b600080823b905060008111915050919050565b8280546134db90614c48565b90600052602060002090601f0160209004810192826134fd5760008555613544565b82601f1061351657805160ff1916838001178555613544565b82800160010185558215613544579182015b82811115613543578251825591602001919060010190613528565b5b5090506135519190613555565b5090565b5b8082111561356e576000816000905550600101613556565b5090565b60006135856135808461497d565b61494c565b90508281526020810184848401111561359d57600080fd5b6135a8848285614c06565b509392505050565b60006135c36135be846149ad565b61494c565b9050828152602081018484840111156135db57600080fd5b6135e6848285614c06565b509392505050565b6000813590506135fd81614dc1565b92915050565b60008151905061361281614dc1565b92915050565b60008135905061362781614dd8565b92915050565b60008135905061363c81614def565b92915050565b60008151905061365181614def565b92915050565b600082601f83011261366857600080fd5b8135613678848260208601613572565b91505092915050565b600082601f83011261369257600080fd5b81356136a28482602086016135b0565b91505092915050565b6000813590506136ba81614e06565b92915050565b6000815190506136cf81614e06565b92915050565b6000602082840312156136e757600080fd5b60006136f5848285016135ee565b91505092915050565b60006020828403121561371057600080fd5b600061371e84828501613603565b91505092915050565b6000806040838503121561373a57600080fd5b6000613748858286016135ee565b9250506020613759858286016135ee565b9150509250929050565b60008060006060848603121561377857600080fd5b6000613786868287016135ee565b9350506020613797868287016135ee565b92505060406137a8868287016136ab565b9150509250925092565b600080600080608085870312156137c857600080fd5b60006137d6878288016135ee565b94505060206137e7878288016135ee565b93505060406137f8878288016136ab565b925050606085013567ffffffffffffffff81111561381557600080fd5b61382187828801613657565b91505092959194509250565b6000806040838503121561384057600080fd5b600061384e858286016135ee565b925050602061385f85828601613618565b9150509250929050565b6000806040838503121561387c57600080fd5b600061388a858286016135ee565b925050602061389b858286016136ab565b9150509250929050565b6000602082840312156138b757600080fd5b60006138c58482850161362d565b91505092915050565b6000602082840312156138e057600080fd5b60006138ee84828501613642565b91505092915050565b60006020828403121561390957600080fd5b600082013567ffffffffffffffff81111561392357600080fd5b61392f84828501613681565b91505092915050565b60006020828403121561394a57600080fd5b6000613958848285016136ab565b91505092915050565b60006020828403121561397357600080fd5b6000613981848285016136c0565b91505092915050565b600061399683836144ae565b60208301905092915050565b6139ab81614b6e565b82525050565b60006139bc826149ed565b6139c68185614a1b565b93506139d1836149dd565b8060005b83811015613a025781516139e9888261398a565b97506139f483614a0e565b9250506001810190506139d5565b5085935050505092915050565b613a1881614b80565b82525050565b6000613a29826149f8565b613a338185614a2c565b9350613a43818560208601614c15565b613a4c81614db0565b840191505092915050565b613a6081614be2565b82525050565b6000613a7182614a03565b613a7b8185614a3d565b9350613a8b818560208601614c15565b613a9481614db0565b840191505092915050565b6000613aaa82614a03565b613ab48185614a4e565b9350613ac4818560208601614c15565b80840191505092915050565b6000613add604583614a3d565b91507f4e46543a3a546f74616c20737570706c79206f66206e657720636f6e7472616360008301527f742073686f756c6420626520696e666572696f72207468616e20746865206f6c60208301527f64206f6e650000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000613b69602b83614a3d565b91507f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008301527f74206f6620626f756e64730000000000000000000000000000000000000000006020830152604082019050919050565b6000613bcf603283614a3d565b91507f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008301527f63656976657220696d706c656d656e74657200000000000000000000000000006020830152604082019050919050565b6000613c35602683614a3d565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613c9b601c83614a3d565b91507f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006000830152602082019050919050565b6000613cdb602783614a3d565b91507f4e46543a3a4e6f7420656e6f756768204e4654206c65667420746f206d696e7460008301527f20616d6f756e74000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613d41603b83614a3d565b91507f4e46543a3a4e657720636f6e747261637420686173206d6f726520746f6b656e60008301527f206d696e746564207468616e206f6c64657220636f6e747261637400000000006020830152604082019050919050565b6000613da7602483614a3d565b91507f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613e0d601983614a3d565b91507f4552433732313a20617070726f766520746f2063616c6c6572000000000000006000830152602082019050919050565b6000613e4d602c83614a3d565b91507f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b6000613eb3603883614a3d565b91507f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008301527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006020830152604082019050919050565b6000613f19602a83614a3d565b91507f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008301527f726f2061646472657373000000000000000000000000000000000000000000006020830152604082019050919050565b6000613f7f602983614a3d565b91507f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008301527f656e7420746f6b656e00000000000000000000000000000000000000000000006020830152604082019050919050565b6000613fe5602c83614a3d565b91507f4e46543a3a53656e74207072696365206973206c6f776572207468616e20726560008301527f71756972656420707269636500000000000000000000000000000000000000006020830152604082019050919050565b600061404b602083614a3d565b91507f4552433732313a206d696e7420746f20746865207a65726f20616464726573736000830152602082019050919050565b600061408b602c83614a3d565b91507f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b60006140f1602083614a3d565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000614131602983614a3d565b91507f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008301527f73206e6f74206f776e00000000000000000000000000000000000000000000006020830152604082019050919050565b6000614197602f83614a3d565b91507f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008301527f6e6578697374656e7420746f6b656e00000000000000000000000000000000006020830152604082019050919050565b60006141fd602183614a3d565b91507f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614263601983614a3d565b91507f4e46543a3a4d696e7420616d6f756e74206578636565646564000000000000006000830152602082019050919050565b60006142a3601283614a3d565b91507f4e46543a3a43616e6e6f74206d696e74203000000000000000000000000000006000830152602082019050919050565b60006142e3603183614a3d565b91507f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008301527f776e6572206e6f7220617070726f7665640000000000000000000000000000006020830152604082019050919050565b6000614349602c83614a3d565b91507f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008301527f7574206f6620626f756e647300000000000000000000000000000000000000006020830152604082019050919050565b60006143af602d83614a3d565b91507f4e46543a3a43616e6e6f74206d696e74206d6f7265204e4654207468616e206f60008301527f6c64657220636f6e7472616374000000000000000000000000000000000000006020830152604082019050919050565b6000614415602d83614a3d565b91507f4e46543a204f6e6c79206f776e6572206f7220617070726f7665642063616e2060008301527f636c61696d2072657761726473000000000000000000000000000000000000006020830152604082019050919050565b600061447b601883614a3d565b91507f4e46543a3a4d696e74206973206e6f7420656e61626c656400000000000000006000830152602082019050919050565b6144b781614bd8565b82525050565b6144c681614bd8565b82525050565b60006144d88285613a9f565b91506144e48284613a9f565b91508190509392505050565b600060208201905061450560008301846139a2565b92915050565b600060808201905061452060008301876139a2565b61452d60208301866139a2565b61453a60408301856144bd565b818103606083015261454c8184613a1e565b905095945050505050565b6000602082019050818103600083015261457181846139b1565b905092915050565b600060208201905061458e6000830184613a0f565b92915050565b60006020820190506145a96000830184613a57565b92915050565b600060208201905081810360008301526145c98184613a66565b905092915050565b600060208201905081810360008301526145ea81613ad0565b9050919050565b6000602082019050818103600083015261460a81613b5c565b9050919050565b6000602082019050818103600083015261462a81613bc2565b9050919050565b6000602082019050818103600083015261464a81613c28565b9050919050565b6000602082019050818103600083015261466a81613c8e565b9050919050565b6000602082019050818103600083015261468a81613cce565b9050919050565b600060208201905081810360008301526146aa81613d34565b9050919050565b600060208201905081810360008301526146ca81613d9a565b9050919050565b600060208201905081810360008301526146ea81613e00565b9050919050565b6000602082019050818103600083015261470a81613e40565b9050919050565b6000602082019050818103600083015261472a81613ea6565b9050919050565b6000602082019050818103600083015261474a81613f0c565b9050919050565b6000602082019050818103600083015261476a81613f72565b9050919050565b6000602082019050818103600083015261478a81613fd8565b9050919050565b600060208201905081810360008301526147aa8161403e565b9050919050565b600060208201905081810360008301526147ca8161407e565b9050919050565b600060208201905081810360008301526147ea816140e4565b9050919050565b6000602082019050818103600083015261480a81614124565b9050919050565b6000602082019050818103600083015261482a8161418a565b9050919050565b6000602082019050818103600083015261484a816141f0565b9050919050565b6000602082019050818103600083015261486a81614256565b9050919050565b6000602082019050818103600083015261488a81614296565b9050919050565b600060208201905081810360008301526148aa816142d6565b9050919050565b600060208201905081810360008301526148ca8161433c565b9050919050565b600060208201905081810360008301526148ea816143a2565b9050919050565b6000602082019050818103600083015261490a81614408565b9050919050565b6000602082019050818103600083015261492a8161446e565b9050919050565b600060208201905061494660008301846144bd565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561497357614972614d81565b5b8060405250919050565b600067ffffffffffffffff82111561499857614997614d81565b5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff8211156149c8576149c7614d81565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000614a6482614bd8565b9150614a6f83614bd8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614aa457614aa3614cf4565b5b828201905092915050565b6000614aba82614bd8565b9150614ac583614bd8565b925082614ad557614ad4614d23565b5b828204905092915050565b6000614aeb82614bd8565b9150614af683614bd8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614b2f57614b2e614cf4565b5b828202905092915050565b6000614b4582614bd8565b9150614b5083614bd8565b925082821015614b6357614b62614cf4565b5b828203905092915050565b6000614b7982614bb8565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000614bed82614bf4565b9050919050565b6000614bff82614bb8565b9050919050565b82818337600083830152505050565b60005b83811015614c33578082015181840152602081019050614c18565b83811115614c42576000848401525b50505050565b60006002820490506001821680614c6057607f821691505b60208210811415614c7457614c73614d52565b5b50919050565b6000614c8582614bd8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614cb857614cb7614cf4565b5b600182019050919050565b6000614cce82614bd8565b9150614cd983614bd8565b925082614ce957614ce8614d23565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b614dca81614b6e565b8114614dd557600080fd5b50565b614de181614b80565b8114614dec57600080fd5b50565b614df881614b8c565b8114614e0357600080fd5b50565b614e0f81614bd8565b8114614e1a57600080fd5b5056fea2646970667358221220ba84bd7fe8b20dfa0726956daa9a79f2713677e597cbc0864a7853015ad281a864736f6c63430008000033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000c54656d70536f6c7574696f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c54656d70536f6c7574696f6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027979000000000000000000000000000000000000000000000000000000000000