6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760146101000a81548160ff021916908315150217905550600060085560076012556007601355600f601455601e60155560376016556b06765c793fa10079d000000060175569021e19e0c9bab2400000601e55348015620000bd57600080fd5b50604051620066b2380380620066b28339818101604052810190620000e3919062000cfa565b6040518060400160405280600b81526020017f536f6369616c2042756c6c0000000000000000000000000000000000000000008152506040518060400160405280600681526020017f534f4349414c000000000000000000000000000000000000000000000000000081525081600390805190602001906200016792919062000be0565b5080600490805190602001906200018092919062000be0565b50505033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a381601a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061271060056c0c9f2c9cd04674edea40000000620002e2919062000d7a565b620002ee919062000e0a565b60118190555061271060056c0c9f2c9cd04674edea4000000062000313919062000d7a565b6200031f919062000e0a565b6010819055506001600b60006200033b62000a3360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000601a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000620004ee62000a3360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000601a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60006200071b62000a3360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000601a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060196000600181526020019081526020016000206000018190555060c7601960006001815260200190815260200160002060010181905550600060196000600181526020019081526020016000206002018190555060c8601960006002815260200190815260200160002060000181905550611388601960006002815260200190815260200160002060010181905550600d6019600060028152602001908152602001600020600201819055506002601a60006101000a81548160ff021916908360ff16021790555062000a2b62000a1162000a3360201b60201c565b6c0c9f2c9cd04674edea4000000062000a5d60201b60201c565b505062000fb5565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000ad0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ac79062000ea3565b60405180910390fd5b62000ae46000838362000bd660201b60201c565b806002600082825462000af8919062000ec5565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000b4f919062000ec5565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000bb6919062000f33565b60405180910390a362000bd26000838362000bdb60201b60201c565b5050565b505050565b505050565b82805462000bee9062000f7f565b90600052602060002090601f01602090048101928262000c12576000855562000c5e565b82601f1062000c2d57805160ff191683800117855562000c5e565b8280016001018555821562000c5e579182015b8281111562000c5d57825182559160200191906001019062000c40565b5b50905062000c6d919062000c71565b5090565b5b8082111562000c8c57600081600090555060010162000c72565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000cc28262000c95565b9050919050565b62000cd48162000cb5565b811462000ce057600080fd5b50565b60008151905062000cf48162000cc9565b92915050565b6000806040838503121562000d145762000d1362000c90565b5b600062000d248582860162000ce3565b925050602062000d378582860162000ce3565b9150509250929050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000d878262000d41565b915062000d948362000d41565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000dd05762000dcf62000d4b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e178262000d41565b915062000e248362000d41565b92508262000e375762000e3662000ddb565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000e8b601f8362000e42565b915062000e988262000e53565b602082019050919050565b6000602082019050818103600083015262000ebe8162000e7c565b9050919050565b600062000ed28262000d41565b915062000edf8362000d41565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000f175762000f1662000d4b565b5b828201905092915050565b62000f2d8162000d41565b82525050565b600060208201905062000f4a600083018462000f22565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f9857607f821691505b6020821081141562000faf5762000fae62000f50565b5b50919050565b6156ed8062000fc56000396000f3fe6080604052600436106102e85760003560e01c80638c0b5e2211610190578063ba762ddd116100dc578063e3402c6711610095578063ec28438a1161006f578063ec28438a14610ba5578063f2fde38b14610bce578063f429389014610bf7578063f5648a4f14610c0e576102ef565b8063e3402c6714610b28578063ea084eef14610b53578063eb50d71f14610b7c576102ef565b8063ba762ddd14610a16578063c2b1b19914610a41578063c9567bf914610a6c578063c9e8714c14610a83578063d297105914610ac0578063dd62ed3e14610aeb576102ef565b8063a457c2d711610149578063ac1a386a11610123578063ac1a386a1461095c578063af9549e014610985578063b515566a146109ae578063b80425c2146109d7576102ef565b8063a457c2d7146108b7578063a9059cbb146108f4578063aa4bde2814610931576102ef565b80638c0b5e22146107935780638c8f8c04146107be5780638da5cb5b146107e75780638e5916b214610812578063906778331461084f57806395d89b411461088c576102ef565b80633bbac5791161024f5780635d0dc8e41161020857806370a08231116101e257806370a08231146106e9578063715018a6146107265780637c4b492e1461073d57806389a5c69114610768576102ef565b80635d0dc8e41461066c5780635fcefa421461069557806368bfe623146106be576102ef565b80633bbac5791461054a5780633dc1edb71461058757806351bc3c85146105c45780635b6612ad146105db5780635b683e66146106185780635d0044ca14610643576102ef565b806323b872dd116102a157806323b872dd146104025780632731087b1461043f5780632c7401b314610468578063313ce567146104a5578063333e99db146104d0578063395093511461050d576102ef565b806306fdde03146102f4578063095ea7b31461031f57806312dfbd331461035c578063153b0d1e1461038557806318160ddd146103ae5780631c08bc5d146103d9576102ef565b366102ef57005b600080fd5b34801561030057600080fd5b50610309610c25565b604051610316919061434c565b60405180910390f35b34801561032b57600080fd5b506103466004803603810190610341919061440c565b610cb7565b6040516103539190614467565b60405180910390f35b34801561036857600080fd5b50610383600480360381019061037e9190614482565b610cda565b005b34801561039157600080fd5b506103ac60048036038101906103a791906144db565b610d74565b005b3480156103ba57600080fd5b506103c3610e5f565b6040516103d0919061452a565b60405180910390f35b3480156103e557600080fd5b5061040060048036038101906103fb9190614482565b610e69565b005b34801561040e57600080fd5b5061042960048036038101906104249190614545565b610f03565b6040516104369190614467565b60405180910390f35b34801561044b57600080fd5b50610466600480360381019061046191906144db565b610f32565b005b34801561047457600080fd5b5061048f600480360381019061048a919061440c565b61101d565b60405161049c919061452a565b60405180910390f35b3480156104b157600080fd5b506104ba611178565b6040516104c791906145b4565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f291906145cf565b611181565b6040516105049190614467565b60405180910390f35b34801561051957600080fd5b50610534600480360381019061052f919061440c565b6111a1565b6040516105419190614467565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c91906145cf565b61124b565b60405161057e9190614467565b60405180910390f35b34801561059357600080fd5b506105ae60048036038101906105a991906145cf565b61126b565b6040516105bb9190614467565b60405180910390f35b3480156105d057600080fd5b506105d961128b565b005b3480156105e757600080fd5b5061060260048036038101906105fd91906145cf565b611349565b60405161060f919061452a565b60405180910390f35b34801561062457600080fd5b5061062d611361565b60405161063a919061452a565b60405180910390f35b34801561064f57600080fd5b5061066a60048036038101906106659190614482565b611367565b005b34801561067857600080fd5b50610693600480360381019061068e9190614628565b61148a565b005b3480156106a157600080fd5b506106bc60048036038101906106b79190614655565b611538565b005b3480156106ca57600080fd5b506106d361161a565b6040516106e091906145b4565b60405180910390f35b3480156106f557600080fd5b50610710600480360381019061070b91906145cf565b61162d565b60405161071d919061452a565b60405180910390f35b34801561073257600080fd5b5061073b611675565b005b34801561074957600080fd5b506107526117c6565b60405161075f919061452a565b60405180910390f35b34801561077457600080fd5b5061077d6117cc565b60405161078a919061452a565b60405180910390f35b34801561079f57600080fd5b506107a86117d2565b6040516107b5919061452a565b60405180910390f35b3480156107ca57600080fd5b506107e560048036038101906107e09190614545565b6117d8565b005b3480156107f357600080fd5b506107fc6118ec565b60405161080991906146df565b60405180910390f35b34801561081e57600080fd5b50610839600480360381019061083491906145cf565b611916565b6040516108469190614467565b60405180910390f35b34801561085b57600080fd5b50610876600480360381019061087191906145cf565b611936565b604051610883919061452a565b60405180910390f35b34801561089857600080fd5b506108a161194e565b6040516108ae919061434c565b60405180910390f35b3480156108c357600080fd5b506108de60048036038101906108d9919061440c565b6119e0565b6040516108eb9190614467565b60405180910390f35b34801561090057600080fd5b5061091b6004803603810190610916919061440c565b611aca565b6040516109289190614467565b60405180910390f35b34801561093d57600080fd5b50610946611aed565b604051610953919061452a565b60405180910390f35b34801561096857600080fd5b50610983600480360381019061097e91906145cf565b611af3565b005b34801561099157600080fd5b506109ac60048036038101906109a791906144db565b611bc7565b005b3480156109ba57600080fd5b506109d560048036038101906109d0919061475f565b611cb2565b005b3480156109e357600080fd5b506109fe60048036038101906109f99190614482565b611ee7565b604051610a0d939291906147ac565b60405180910390f35b348015610a2257600080fd5b50610a2b611f11565b604051610a38919061452a565b60405180910390f35b348015610a4d57600080fd5b50610a56611f35565b604051610a63919061452a565b60405180910390f35b348015610a7857600080fd5b50610a81611f3b565b005b348015610a8f57600080fd5b50610aaa6004803603810190610aa591906145cf565b612486565b604051610ab79190614467565b60405180910390f35b348015610acc57600080fd5b50610ad56124a6565b604051610ae2919061452a565b60405180910390f35b348015610af757600080fd5b50610b126004803603810190610b0d91906147e3565b6124ac565b604051610b1f919061452a565b60405180910390f35b348015610b3457600080fd5b50610b3d612533565b604051610b4a919061452a565b60405180910390f35b348015610b5f57600080fd5b50610b7a6004803603810190610b7591906144db565b612539565b005b348015610b8857600080fd5b50610ba36004803603810190610b9e9190614823565b612624565b005b348015610bb157600080fd5b50610bcc6004803603810190610bc79190614482565b612714565b005b348015610bda57600080fd5b50610bf56004803603810190610bf091906145cf565b612837565b005b348015610c0357600080fd5b50610c0c6129f7565b005b348015610c1a57600080fd5b50610c23612b6e565b005b606060038054610c34906148b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610c60906148b9565b8015610cad5780601f10610c8257610100808354040283529160200191610cad565b820191906000526020600020905b815481529060010190602001808311610c9057829003601f168201915b5050505050905090565b600080610cc2612c6f565b9050610ccf818585612c77565b600191505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6190614937565b60405180910390fd5b8060178190555050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb90614937565b60405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600254905090565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef090614937565b60405180910390fd5b80601e8190555050565b600080610f0e612c6f565b9050610f1b858285612e42565b610f26858585612ece565b60019150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb990614937565b60405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000806013549050600073723004300852b7047093a5e4e7a43ec854418cdd632f99934f86600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518463ffffffff1660e01b815260040161108493929190614975565b602060405180830381865af41580156110a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c591906149c1565b90506000600190505b601a60009054906101000a900460ff1660ff168160ff161161116b57601960008260ff16815260200190815260200160002060000154821015801561112c5750601960008260ff168152602001908152602001600020600101548211155b1561115857601960008260ff168152602001908152602001600020600201549250829350505050611172565b808061116390614a1d565b9150506110ce565b5081925050505b92915050565b60006012905090565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000806111ac612c6f565b9050611240818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123b9190614a47565b612c77565b600191505092915050565b600d6020528060005260406000206000915054906101000a900460ff1681565b600f6020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461131b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131290614937565b60405180910390fd5b600061133a601d5461132c3061162d565b61343490919063ffffffff16565b90506113458161344a565b5050565b601c6020528060005260406000206000915090505481565b60135481565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ee90614937565b60405180910390fd5b670de0b6b3a76400006103e8600161140d610e5f565b6114179190614a9d565b6114219190614b26565b61142b9190614b26565b81101561146d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146490614bc9565b60405180910390fd5b670de0b6b3a7640000816114819190614a9d565b60108190555050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190614937565b60405180910390fd5b80601a60006101000a81548160ff021916908360ff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bf90614937565b60405180910390fd5b600a85111580156115da5750600a8411155b80156115e75750600f8210155b6115f057600080fd5b84601281905550836013819055508260148190555081601581905550806016819055505050505050565b601a60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611705576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fc90614937565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601d5481565b60175481565b60115481565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185f90614937565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b81526004016118a3929190614be9565b6020604051808303816000875af11580156118c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e69190614c27565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b6020528060005260406000206000915054906101000a900460ff1681565b60186020528060005260406000206000915090505481565b60606004805461195d906148b9565b80601f0160208091040260200160405190810160405280929190818152602001828054611989906148b9565b80156119d65780601f106119ab576101008083540402835291602001916119d6565b820191906000526020600020905b8154815290600101906020018083116119b957829003601f168201915b5050505050905090565b6000806119eb612c6f565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015611ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa890614cc6565b60405180910390fd5b611abe8286868403612c77565b60019250505092915050565b600080611ad5612c6f565b9050611ae2818585612ece565b600191505092915050565b60105481565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7a90614937565b60405180910390fd5b80601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e90614937565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3990614937565b60405180910390fd5b60005b82829050811015611ee257600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110611d9c57611d9b614ce6565b5b9050602002016020810190611db191906145cf565b73ffffffffffffffffffffffffffffffffffffffff1614158015611e4a5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110611e1c57611e1b614ce6565b5b9050602002016020810190611e3191906145cf565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611ecf576001600d6000858585818110611e6857611e67614ce6565b5b9050602002016020810190611e7d91906145cf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8080611eda90614d15565b915050611d45565b505050565b60196020528060005260406000206000915090508060000154908060010154908060020154905083565b6000611f30601d54611f223061162d565b61343490919063ffffffff16565b905090565b60125481565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc290614937565b60405180910390fd5b600760149054906101000a900460ff161561201b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201290614daa565b60405180910390fd5b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ae9190614ddf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612137573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215b9190614ddf565b6040518363ffffffff1660e01b8152600401612178929190614e0c565b6020604051808303816000875af1158015612197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bb9190614ddf565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061237b6123753061162d565b476136ea565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161241a929190614be9565b6020604051808303816000875af1158015612439573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061245d9190614c27565b506001600760146101000a81548160ff0219169083151502179055504290504360088190555050565b600e6020528060005260406000206000915054906101000a900460ff1681565b601f5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601e5481565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c090614937565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ab90614937565b60405180910390fd5b82601960008660ff1681526020019081526020016000206000018190555081601960008660ff1681526020019081526020016000206001018190555080601960008660ff1681526020019081526020016000206002018190555050505050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146127a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279b90614937565b60405180910390fd5b670de0b6b3a76400006103e860016127ba610e5f565b6127c49190614a9d565b6127ce9190614b26565b6127d89190614b26565b81101561281a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281190614bc9565b60405180910390fd5b670de0b6b3a76400008161282e9190614a9d565b60118190555050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146128c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128be90614937565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292e90614ea7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7e90614937565b60405180910390fd5b6000612a9e601f544761343490919063ffffffff16565b90506000612ade612abb601454606461343490919063ffffffff16565b612ad06015548561380890919063ffffffff16565b61381e90919063ffffffff16565b90506000612b1e612afb601454606461343490919063ffffffff16565b612b106016548661380890919063ffffffff16565b61381e90919063ffffffff16565b90506000612b4782612b39858761343490919063ffffffff16565b61343490919063ffffffff16565b9050612b5c818461383490919063ffffffff16565b9250612b68838361384a565b50505050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf590614937565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051612c2490614ef8565b60006040518083038185875af1925050503d8060008114612c61576040519150601f19603f3d011682016040523d82523d6000602084013e612c66565b606091505b50508091505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cde90614f7f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d4e90615011565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612e35919061452a565b60405180910390a3505050565b6000612e4e84846124ac565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612ec85781811015612eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb19061507d565b60405180910390fd5b612ec78484848403612c77565b5b50505050565b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612f725750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612f7b57600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561301f5750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61302857600080fd5b6000819050600760149054906101000a900460ff1680156130e65750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806130e55750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b5b801561313c5750600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156131925750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561329457600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561323b5750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561328657601154821115613285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161327c9061510f565b60405180910390fd5b5b61329184848461396d565b90505b6000601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156133215742601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156133c55750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561342357601054816133d78561162d565b6133e19190614a47565b1115613422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613419906151a1565b60405180910390fd5b5b61342e848483613d84565b50505050565b6000818361344291906151c1565b905092915050565b6000804790506000600267ffffffffffffffff81111561346d5761346c6151f5565b5b60405190808252806020026020018201604052801561349b5781602001602082028036833780820191505090505b50905030816000815181106134b3576134b2614ce6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561355a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061357e9190614ddf565b8160018151811061359257613591614ce6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506135f930600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686612c77565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b815260040161365d959493929190615327565b600060405180830381600087803b15801561367757600080fd5b505af115801561368b573d6000803e3d6000fd5b5050505060006136a4834761343490919063ffffffff16565b90507f4a6c12eb4e479a4ea28c8acad8efde466ef9bf69cf473501dd7686523449627385826040516136d7929190615381565b60405180910390a1809350505050919050565b61371730600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612c77565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806137636118ec565b426040518863ffffffff1660e01b8152600401613785969594939291906153aa565b60606040518083038185885af11580156137a3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906137c8919061540b565b5050507fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb482826040516137fc929190615381565b60405180910390a15050565b600081836138169190614a9d565b905092915050565b6000818361382c9190614b26565b905092915050565b600081836138429190614a47565b905092915050565b60008211156138bd57601a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156138bb573d6000803e3d6000fd5b505b600081111561393057601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561392e573d6000803e3d6000fd5b505b7f916ad8171ef8c567c7790377a142f0200f9565940680c06e30dd105cfd9249688282604051613961929190615381565b60405180910390a15050565b6000806000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680613a135750600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b613a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a49906154aa565b60405180910390fd5b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613ba8576000600854431415613ab957605a9050613b1f565b6001600854613ac89190614a47565b431415613ad85760469050613b1e565b6002600854613ae79190614a47565b431415613af75760289050613b1d565b6003600854613b069190614a47565b431415613b165760239050613b1c565b60125490505b5b5b5b613b456064613b37838861380890919063ffffffff16565b61381e90919063ffffffff16565b9250613b5a838661343490919063ffffffff16565b9150613b67873085613d84565b7f6b0b46d0273ce53f1de696d2100b35dd3a405dcecbcbeede66215d858d5c401d873085604051613b9a939291906154ca565b60405180910390a150613d78565b6000600854431415613bbd57605a9050613c4b565b6001600854613bcc9190614a47565b431415613bdc5760239050613c4a565b6002600854613beb9190614a47565b431415613bfb5760239050613c49565b6003600854613c0a9190614a47565b431415613c1a57601e9050613c48565b6000613c26308761101d565b905080601354613c369190614a47565b9150601e821115613c4657601e91505b505b5b5b5b613c716064613c63838861380890919063ffffffff16565b61381e90919063ffffffff16565b92506000613caf6064613ca1613c926013548661343490919063ffffffff16565b8961380890919063ffffffff16565b61381e90919063ffffffff16565b9050613cc681601d5461383490919063ffffffff16565b601d81905550613cdf848761343490919063ffffffff16565b9250613cec883086613d84565b6000613d0b601d54613cfd3061162d565b61343490919063ffffffff16565b9050601754811115613d2157613d2081614005565b5b601e54601d541115613d3957613d38601d54614176565b5b7f4ab5e0df8ff1605133dbdd1b8e3f52edb9539abe64595f6f70b30d2fea7f204a893087604051613d6c939291906154ca565b60405180910390a15050505b80925050509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613deb90615573565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613e64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e5b90615605565b60405180910390fd5b613e6f8383836142a9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613eec90615697565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613f889190614a47565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613fec919061452a565b60405180910390a3613fff8484846142ae565b50505050565b600061402f60646140216014548561380890919063ffffffff16565b61381e90919063ffffffff16565b9050600061404760028361381e90919063ffffffff16565b9050600061405e828561343490919063ffffffff16565b9050600061406b8261344a565b9050600061409760646140896014548561380890919063ffffffff16565b61381e90919063ffffffff16565b905060006140c360646140b56015548661380890919063ffffffff16565b61381e90919063ffffffff16565b905060006140ef60646140e16016548761380890919063ffffffff16565b61381e90919063ffffffff16565b9050600061412a8261411c8561410e888a61343490919063ffffffff16565b61343490919063ffffffff16565b61343490919063ffffffff16565b905061413f818461383490919063ffffffff16565b925061414b838361384a565b60008711801561415b5750600084115b1561416b5761416a87856136ea565b5b505050505050505050565b60006141818261344a565b905061419882601d5461343490919063ffffffff16565b601d8190555060006141b5601f548361383490919063ffffffff16565b90506000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516141ff90614ef8565b60006040518083038185875af1925050503d806000811461423c576040519150601f19603f3d011682016040523d82523d6000602084013e614241565b606091505b505090508015614287577ff425a3b64c5006c1353057b67f3f7bab6e695f3ae4903683617d0764163a12788360405161427a919061452a565b60405180910390a16142a3565b61429c83601f5461383490919063ffffffff16565b601f819055505b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156142ed5780820151818401526020810190506142d2565b838111156142fc576000848401525b50505050565b6000601f19601f8301169050919050565b600061431e826142b3565b61432881856142be565b93506143388185602086016142cf565b61434181614302565b840191505092915050565b600060208201905081810360008301526143668184614313565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006143a382614378565b9050919050565b6143b381614398565b81146143be57600080fd5b50565b6000813590506143d0816143aa565b92915050565b6000819050919050565b6143e9816143d6565b81146143f457600080fd5b50565b600081359050614406816143e0565b92915050565b600080604083850312156144235761442261436e565b5b6000614431858286016143c1565b9250506020614442858286016143f7565b9150509250929050565b60008115159050919050565b6144618161444c565b82525050565b600060208201905061447c6000830184614458565b92915050565b6000602082840312156144985761449761436e565b5b60006144a6848285016143f7565b91505092915050565b6144b88161444c565b81146144c357600080fd5b50565b6000813590506144d5816144af565b92915050565b600080604083850312156144f2576144f161436e565b5b6000614500858286016143c1565b9250506020614511858286016144c6565b9150509250929050565b614524816143d6565b82525050565b600060208201905061453f600083018461451b565b92915050565b60008060006060848603121561455e5761455d61436e565b5b600061456c868287016143c1565b935050602061457d868287016143c1565b925050604061458e868287016143f7565b9150509250925092565b600060ff82169050919050565b6145ae81614598565b82525050565b60006020820190506145c960008301846145a5565b92915050565b6000602082840312156145e5576145e461436e565b5b60006145f3848285016143c1565b91505092915050565b61460581614598565b811461461057600080fd5b50565b600081359050614622816145fc565b92915050565b60006020828403121561463e5761463d61436e565b5b600061464c84828501614613565b91505092915050565b600080600080600060a086880312156146715761467061436e565b5b600061467f888289016143f7565b9550506020614690888289016143f7565b94505060406146a1888289016143f7565b93505060606146b2888289016143f7565b92505060806146c3888289016143f7565b9150509295509295909350565b6146d981614398565b82525050565b60006020820190506146f460008301846146d0565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261471f5761471e6146fa565b5b8235905067ffffffffffffffff81111561473c5761473b6146ff565b5b60208301915083602082028301111561475857614757614704565b5b9250929050565b600080602083850312156147765761477561436e565b5b600083013567ffffffffffffffff81111561479457614793614373565b5b6147a085828601614709565b92509250509250929050565b60006060820190506147c1600083018661451b565b6147ce602083018561451b565b6147db604083018461451b565b949350505050565b600080604083850312156147fa576147f961436e565b5b6000614808858286016143c1565b9250506020614819858286016143c1565b9150509250929050565b6000806000806080858703121561483d5761483c61436e565b5b600061484b87828801614613565b945050602061485c878288016143f7565b935050604061486d878288016143f7565b925050606061487e878288016143f7565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806148d157607f821691505b602082108114156148e5576148e461488a565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006149216020836142be565b915061492c826148eb565b602082019050919050565b6000602082019050818103600083015261495081614914565b9050919050565b61496081614398565b82525050565b61496f816143d6565b82525050565b600060608201905061498a6000830186614957565b6149976020830185614957565b6149a46040830184614966565b949350505050565b6000815190506149bb816143e0565b92915050565b6000602082840312156149d7576149d661436e565b5b60006149e5848285016149ac565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614a2882614598565b915060ff821415614a3c57614a3b6149ee565b5b600182019050919050565b6000614a52826143d6565b9150614a5d836143d6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614a9257614a916149ee565b5b828201905092915050565b6000614aa8826143d6565b9150614ab3836143d6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614aec57614aeb6149ee565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614b31826143d6565b9150614b3c836143d6565b925082614b4c57614b4b614af7565b5b828204905092915050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e312500000000000000000000000000000000000000000000000000000000602082015250565b6000614bb36024836142be565b9150614bbe82614b57565b604082019050919050565b60006020820190508181036000830152614be281614ba6565b9050919050565b6000604082019050614bfe60008301856146d0565b614c0b602083018461451b565b9392505050565b600081519050614c21816144af565b92915050565b600060208284031215614c3d57614c3c61436e565b5b6000614c4b84828501614c12565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000614cb06025836142be565b9150614cbb82614c54565b604082019050919050565b60006020820190508181036000830152614cdf81614ca3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000614d20826143d6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614d5357614d526149ee565b5b600182019050919050565b7f534f4349414c3a2054726164696e6720697320616c7265616479206f70656e00600082015250565b6000614d94601f836142be565b9150614d9f82614d5e565b602082019050919050565b60006020820190508181036000830152614dc381614d87565b9050919050565b600081519050614dd9816143aa565b92915050565b600060208284031215614df557614df461436e565b5b6000614e0384828501614dca565b91505092915050565b6000604082019050614e2160008301856146d0565b614e2e60208301846146d0565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614e916026836142be565b9150614e9c82614e35565b604082019050919050565b60006020820190508181036000830152614ec081614e84565b9050919050565b600081905092915050565b50565b6000614ee2600083614ec7565b9150614eed82614ed2565b600082019050919050565b6000614f0382614ed5565b9150819050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614f696024836142be565b9150614f7482614f0d565b604082019050919050565b60006020820190508181036000830152614f9881614f5c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614ffb6022836142be565b915061500682614f9f565b604082019050919050565b6000602082019050818103600083015261502a81614fee565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000615067601d836142be565b915061507282615031565b602082019050919050565b600060208201905081810360008301526150968161505a565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61782060008201527f7472616e73616374696f6e20616d6f756e740000000000000000000000000000602082015250565b60006150f96032836142be565b91506151048261509d565b604082019050919050565b60006020820190508181036000830152615128816150ec565b9050919050565b7f534f4349414c3a2057616c6c65742062616c616e6365206c696d69742072656160008201527f6368656400000000000000000000000000000000000000000000000000000000602082015250565b600061518b6024836142be565b91506151968261512f565b604082019050919050565b600060208201905081810360008301526151ba8161517e565b9050919050565b60006151cc826143d6565b91506151d7836143d6565b9250828210156151ea576151e96149ee565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000819050919050565b600061525361524e61524984615224565b61522e565b6143d6565b9050919050565b61526381615238565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61529e81614398565b82525050565b60006152b08383615295565b60208301905092915050565b6000602082019050919050565b60006152d482615269565b6152de8185615274565b93506152e983615285565b8060005b8381101561531a57815161530188826152a4565b975061530c836152bc565b9250506001810190506152ed565b5085935050505092915050565b600060a08201905061533c600083018861451b565b615349602083018761525a565b818103604083015261535b81866152c9565b905061536a60608301856146d0565b615377608083018461451b565b9695505050505050565b6000604082019050615396600083018561451b565b6153a3602083018461451b565b9392505050565b600060c0820190506153bf60008301896146d0565b6153cc602083018861451b565b6153d9604083018761525a565b6153e6606083018661525a565b6153f360808301856146d0565b61540060a083018461451b565b979650505050505050565b6000806000606084860312156154245761542361436e565b5b6000615432868287016149ac565b9350506020615443868287016149ac565b9250506040615454868287016149ac565b9150509250925092565b7f534f4349414c3a204e6f206d61726b6574206d616b65727320666f756e640000600082015250565b6000615494601e836142be565b915061549f8261545e565b602082019050919050565b600060208201905081810360008301526154c381615487565b9050919050565b60006060820190506154df60008301866146d0565b6154ec60208301856146d0565b6154f9604083018461451b565b949350505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061555d6025836142be565b915061556882615501565b604082019050919050565b6000602082019050818103600083015261558c81615550565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006155ef6023836142be565b91506155fa82615593565b604082019050919050565b6000602082019050818103600083015261561e816155e2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006156816026836142be565b915061568c82615625565b604082019050919050565b600060208201905081810360008301526156b081615674565b905091905056fea2646970667358221220e080e8218ef86770f43121d226e72b969e557f21524ce1f2f7241057b139838f64736f6c634300080b003300000000000000000000000018e474ee31ed4ece9466eada38282e1c75b88dc2000000000000000000000000196ea38f190b21f113dd2528decd593e4b67d1de