6101006040523480156200001257600080fd5b506040516200618438038062006184833981810160405281019062000038919062000863565b6801000000000000000083600f0b126200005157600080fd5b6200005b62000578565b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660069081620000ad919062000b84565b508560079081620000bf919062000b84565b508460ff16608081815250504260038190555060035460a08181525050603c83620000eb919062000c9a565b60c08181525050620001126001620002a96401000000000262002e49176401000000009004565b600260006101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff1602179055506200016c84620002d06401000000000262002e6f176401000000009004565b600f0b60e081600f0b81525050620001a86000600260009054906101000a9004600f0b6000600162000324640100000000026401000000009004565b90506000819080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505062000ce5565b6000677fffffffffffffff821115620002c157600080fd5b6040829060020a029050919050565b60008082600f0b13620002e257600080fd5b60806fb17217f7d1cf79abc9e3b39803f2f6af6200030f84620003a8640100000000026401000000009004565b600f0b02908060020a82049150509050919050565b6200032e62000578565b6200033862000578565b82816000019063ffffffff16908163ffffffff168152505083816020019068ffffffffffffffffff16908168ffffffffffffffffff168152505067ffffffffffffffff8516816040019067ffffffffffffffff16908167ffffffffffffffff168152505080915050949350505050565b60008082600f0b13620003ba57600080fd5b60008083600f0b9050680100000000000000008112620003f6576040819060008212600003808260020a82851804189250505090506040820191505b640100000000811262000425576020819060008212600003808260020a82851804189250505090506020820191505b62010000811262000452576010819060008212600003808260020a82851804189250505090506010820191505b61010081126200047e576008819060008212600003808260020a82851804189250505090506008820191505b60108112620004a9576004819060008212600003808260020a82851804189250505090506004820191505b60048112620004d4576002819060008212600003808260020a82851804189250505090506002820191505b60028112620004e4576001820191505b600060408084039060020a029050600083607f0386600f0b9060020a029050600067800000000000000090505b60008113156200056b578182029150600060ff83908060020a8204915050905080607f0183908060020a8204915050925080820284019350506001819060008212600003808260020a828518041892505050905062000511565b5081945050505050919050565b6040518060600160405280600063ffffffff168152602001600068ffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200061d82620005d2565b810181811067ffffffffffffffff821117156200063f576200063e620005e3565b5b80604052505050565b600062000654620005b4565b905062000662828262000612565b919050565b600067ffffffffffffffff821115620006855762000684620005e3565b5b6200069082620005d2565b9050602081019050919050565b60005b83811015620006bd578082015181840152602081019050620006a0565b60008484015250505050565b6000620006e0620006da8462000667565b62000648565b905082815260208101848484011115620006ff57620006fe620005cd565b5b6200070c8482856200069d565b509392505050565b600082601f8301126200072c576200072b620005c8565b5b81516200073e848260208601620006c9565b91505092915050565b600060ff82169050919050565b6200075f8162000747565b81146200076b57600080fd5b50565b6000815190506200077f8162000754565b92915050565b600081600f0b9050919050565b6200079d8162000785565b8114620007a957600080fd5b50565b600081519050620007bd8162000792565b92915050565b6000819050919050565b620007d881620007c3565b8114620007e457600080fd5b50565b600081519050620007f881620007cd565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200082b82620007fe565b9050919050565b6200083d816200081e565b81146200084957600080fd5b50565b6000815190506200085d8162000832565b92915050565b60008060008060008060c08789031215620008835762000882620005be565b5b600087015167ffffffffffffffff811115620008a457620008a3620005c3565b5b620008b289828a0162000714565b965050602087015167ffffffffffffffff811115620008d657620008d5620005c3565b5b620008e489828a0162000714565b9550506040620008f789828a016200076e565b94505060606200090a89828a01620007ac565b93505060806200091d89828a01620007e7565b92505060a06200093089828a016200084c565b9150509295509295509295565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200099057607f821691505b602082108103620009a657620009a562000948565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b60008160020a8302905092915050565b60006008830262000a137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620009d1565b62000a1f8683620009d1565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000a6262000a5c62000a5684620007c3565b62000a37565b620007c3565b9050919050565b6000819050919050565b62000a7e8362000a41565b62000a9662000a8d8262000a69565b848454620009e1565b825550505050565b600090565b62000aad62000a9e565b62000aba81848462000a73565b505050565b5b8181101562000ae25762000ad660008262000aa3565b60018101905062000ac0565b5050565b601f82111562000b315762000afb81620009ac565b62000b0684620009c1565b8101602085101562000b16578190505b62000b2e62000b2585620009c1565b83018262000abf565b50505b505050565b60008160020a8304905092915050565b600062000b596000198460080262000b36565b1980831691505092915050565b600062000b74838362000b46565b9150826002028217905092915050565b62000b8f826200093d565b67ffffffffffffffff81111562000bab5762000baa620005e3565b5b62000bb7825462000977565b62000bc482828562000ae6565b600060209050601f83116001811462000bfc576000841562000be7578287015190505b62000bf3858262000b66565b86555062000c63565b601f19841662000c0c86620009ac565b60005b8281101562000c365784890151825560018201915060208501945060208101905062000c0f565b8683101562000c56578489015162000c52601f89168262000b46565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ca782620007c3565b915062000cb483620007c3565b925082820262000cc481620007c3565b9150828204841483151762000cde5762000cdd62000c6b565b5b5092915050565b60805160a05160c05160e05161541f62000d65600039600081816111d10152818161160f015281816123df0152612a5d015260008181611ba2015281816123a2015281816129b501528181612bf90152612d1f015260008181611bce01528181612c2501528181612d400152612d850152600061166d015261541f6000f3fe608060405234801561001057600080fd5b50600436106103b6576000357c0100000000000000000000000000000000000000000000000000000000900480636a2d094e11610206578063a457c2d71161012c578063d7a52fa9116100ca578063e69571af11610099578063e69571af14610c1f578063e809529514610c4f578063eda4e6d614610c6d578063f2fde38b14610c8b576103b6565b8063d7a52fa914610b85578063d89135cd14610ba1578063da2824a814610bbf578063e54063a614610bef576103b6565b8063b470aade11610106578063b470aade14610afb578063c0ab707714610b19578063d340ef8a14610b49578063d5abeb0114610b67576103b6565b8063a457c2d714610a7d578063a9059cbb14610aad578063b1cb0db314610add576103b6565b806379ba5097116101a45780638f0b2d5d116101735780638f0b2d5d146109f55780638f1df6bc14610a1157806395d89b4114610a2f578063983b2d5614610a4d576103b6565b806379ba50971461096b57806384dde4af1461098957806386fe212d146109a75780638da5cb5b146109d7576103b6565b8063731f237c116101e0578063731f237c146108e157806373f42561146108ff5780637445e33a1461091d57806374bedb951461094d576103b6565b80636a2d094e146108655780636f8b44b01461089557806370a08231146108b1576103b6565b80633092afd5116102eb578063449a52f81161028957806358b2833b1161025857806358b2833b146107c95780635ae06f7e146107e75780635f408c04146108175780636787a9be14610835576103b6565b8063449a52f81461070957806347a50517146107395780634abfbba21461076957806351b4541c14610799576103b6565b806331a5995d116102c557806331a5995d1461066d578063395093511461068b57806340452d91146106bb57806342966c68146106ed576103b6565b80633092afd5146105ef578063313334871461061f578063313ce5671461064f576103b6565b80631989c6a81161035857806323a859441161033257806323a859441461052f57806323b872dd1461055f5780632a7aec091461058f5780632c1758c1146105bf576103b6565b80631989c6a8146104c3578063213d1e1e146104e1578063229ba19714610511576103b6565b806309f28f3c1161039457806309f28f3c1461043957806311c566151461045757806318160ddd1461048757806318cbbcfc146104a5576103b6565b806301ffc9a7146103bb57806306fdde03146103eb578063095ea7b314610409575b600080fd5b6103d560048036038101906103d091906147d3565b610cbb565b6040516103e2919061481b565b60405180910390f35b6103f3610e61565b60405161040091906148c6565b60405180910390f35b610423600480360381019061041e919061497c565b610eef565b604051610430919061481b565b60405180910390f35b61044161112b565b60405161044e91906149d8565b60405180910390f35b610471600480360381019061046c9190614a1f565b61113e565b60405161047e9190614a6e565b60405180910390f35b61048f61118e565b60405161049c9190614a6e565b60405180910390f35b6104ad6111a5565b6040516104ba9190614a6e565b60405180910390f35b6104cb6111aa565b6040516104d89190614a6e565b60405180910390f35b6104fb60048036038101906104f69190614c2a565b6111b6565b6040516105089190614a6e565b60405180910390f35b6105196111cf565b60405161052691906149d8565b60405180910390f35b61054960048036038101906105449190614c2a565b6111f3565b604051610556919061481b565b60405180910390f35b61057960048036038101906105749190614c57565b61125b565b604051610586919061481b565b60405180910390f35b6105a960048036038101906105a49190614c2a565b611479565b6040516105b691906149d8565b60405180910390f35b6105d960048036038101906105d49190614caa565b6114b1565b6040516105e6919061481b565b60405180910390f35b61060960048036038101906106049190614cd7565b6114e4565b604051610616919061481b565b60405180910390f35b61063960048036038101906106349190614d04565b6115ee565b6040516106469190614a6e565b60405180910390f35b61065761166b565b6040516106649190614a6e565b60405180910390f35b61067561168f565b6040516106829190614a6e565b60405180910390f35b6106a560048036038101906106a0919061497c565b611695565b6040516106b2919061481b565b60405180910390f35b6106d560048036038101906106d09190614caa565b61182b565b6040516106e493929190614d71565b60405180910390f35b61070760048036038101906107029190614caa565b61189a565b005b610723600480360381019061071e919061497c565b6119d6565b604051610730919061481b565b60405180910390f35b610753600480360381019061074e9190614cd7565b611b55565b6040516107609190614a6e565b60405180910390f35b610783600480360381019061077e9190614caa565b611b9e565b6040516107909190614a6e565b60405180910390f35b6107b360048036038101906107ae9190614caa565b611bfe565b6040516107c09190614a6e565b60405180910390f35b6107d1611c1f565b6040516107de9190614a6e565b60405180910390f35b61080160048036038101906107fc9190614cd7565b611c25565b60405161080e919061481b565b60405180910390f35b61081f611c37565b60405161082c9190614dc4565b60405180910390f35b61084f600480360381019061084a9190614caa565b611d04565b60405161085c9190614a6e565b60405180910390f35b61087f600480360381019061087a9190614caa565b611d45565b60405161088c9190614a6e565b60405180910390f35b6108af60048036038101906108aa9190614caa565b611d66565b005b6108cb60048036038101906108c69190614cd7565b611e2e565b6040516108d89190614a6e565b60405180910390f35b6108e9611e98565b6040516108f69190614a6e565b60405180910390f35b610907611ea9565b6040516109149190614a6e565b60405180910390f35b61093760048036038101906109329190614c2a565b611eaf565b6040516109449190614a6e565b60405180910390f35b610955611edd565b6040516109629190614a6e565b60405180910390f35b610973611ee3565b604051610980919061481b565b60405180910390f35b61099161208a565b60405161099e9190614dee565b60405180910390f35b6109c160048036038101906109bc9190614caa565b6120b0565b6040516109ce9190614a6e565b60405180910390f35b6109df61218f565b6040516109ec9190614dee565b60405180910390f35b610a0f6004803603810190610a0a9190614cd7565b6121b5565b005b610a1961226a565b604051610a26919061481b565b60405180910390f35b610a3761252b565b604051610a4491906148c6565b60405180910390f35b610a676004803603810190610a629190614cd7565b6125b9565b604051610a74919061481b565b60405180910390f35b610a976004803603810190610a92919061497c565b61268d565b604051610aa4919061481b565b60405180910390f35b610ac76004803603810190610ac2919061497c565b6128ac565b604051610ad4919061481b565b60405180910390f35b610ae56129ad565b604051610af29190614a6e565b60405180910390f35b610b036129b3565b604051610b109190614a6e565b60405180910390f35b610b336004803603810190610b2e9190614caa565b6129d7565b604051610b409190614a6e565b60405180910390f35b610b51612b5e565b604051610b5e9190614a6e565b60405180910390f35b610b6f612b64565b604051610b7c9190614a6e565b60405180910390f35b610b9f6004803603810190610b9a9190614caa565b612b6a565b005b610ba9612c69565b604051610bb69190614a6e565b60405180910390f35b610bd96004803603810190610bd49190614cd7565b612c73565b604051610be6919061481b565b60405180910390f35b610c096004803603810190610c049190614c2a565b612c85565b604051610c169190614a6e565b60405180910390f35b610c396004803603810190610c349190614e09565b612c99565b604051610c469190614edf565b60405180910390f35b610c57612d19565b604051610c649190614f25565b60405180910390f35b610c75612d83565b604051610c829190614a6e565b60405180910390f35b610ca56004803603810190610ca09190614cd7565b612da7565b604051610cb2919061481b565b60405180910390f35b600063c6bb4b707c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610d0f5760019050610e5c565b63449a52f87c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610d615760019050610e5c565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610db35760019050610e5c565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610e055760019050610e5c565b6337a47be47c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610e575760019050610e5c565b600090505b919050565b60068054610e6e90614f6f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9a90614f6f565b8015610ee75780601f10610ebc57610100808354040283529160200191610ee7565b820191906000526020600020905b815481529060010190602001808311610eca57829003601f168201915b505050505081565b6000806000610efc611c37565b905060028160ff1603610f1457600092505050611125565b60008160ff161115610f5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5290614fec565b60405180910390fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156110245760008414611023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101a90615058565b60405180910390fd5b5b61102c61226a565b5061103684611d04565b915081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925866040516111169190614a6e565b60405180910390a36001925050505b92915050565b600260009054906101000a9004600f0b81565b60008061116561114d85612e49565b61116061115a6001612e49565b86612eb1565b612f18565b905061117081612f97565b67ffffffffffffffff168461118591906150a7565b91505092915050565b6000600b546008546111a091906150a7565b905090565b600f81565b60008080549050905090565b6000816020015168ffffffffffffffffff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080826000015163ffffffff1611156112105760009050611256565b6000826020015168ffffffffffffffffff1611156112315760009050611256565b6000826040015167ffffffffffffffff1611156112515760009050611256565b600190505b919050565b600080600080611269611c37565b905060028160ff16036112825760009350505050611472565b60008160ff1611156112c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c090614fec565b60405180910390fd5b6112d161226a565b506112db85611d04565b925082600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561136657600080fd5b82600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113f291906150a7565b92505081905550611404878785612fcc565b91508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516114639190614a6e565b60405180910390a38193505050505b9392505050565b60008067ffffffffffffffff836040015160070b169050600081600f0b036114a8576114a56001612e49565b90505b80915050919050565b6000600f82106114c057600080fd5b600082036114d557600f6012541490506114df565b8160125483161490505b919050565b60006114f3600160ff166114b1565b156114fd57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061158457503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61158d57600080fd5b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000806000806115fd86612e49565b925061160885612e49565b91506116347f000000000000000000000000000000000000000000000000000000000000000083612f18565b905061163f81612ff1565b905061164b8382612f18565b905061165681612f97565b67ffffffffffffffff16935050505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60125481565b6000806116a061226a565b506116aa83611d04565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461173891906150db565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516118189190614a6e565b60405180910390a3600191505092915050565b6000818154811061183b57600080fd5b906000526020600020016000915090508060000160009054906101000a900463ffffffff16908060000160049054906101000a900468ffffffffffffffffff169080600001600d9054906101000a900467ffffffffffffffff16905083565b60006118a4611c37565b60ff16146118b157600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661190757600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561195357600080fd5b600061195e82611d04565b905061196a338261307e565b5081600b600082825461197d91906150db565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516119ca9190614a6e565b60405180910390a25050565b60008060006119e3611c37565b60ff16146119f057600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a739061515b565b60405180910390fd5b611a8461226a565b5060006011541115611aad5760115483600854611aa191906150db565b1115611aac57600080fd5b5b8260086000828254611abf91906150db565b92505081905550611acf83611d04565b9050611adb8482613185565b508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f885604051611b399190614a6e565b60405180910390a3611b49613249565b50600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60007f000000000000000000000000000000000000000000000000000000000000000082611bcc919061517b565b7f0000000000000000000000000000000000000000000000000000000000000000611bf791906150db565b9050919050565b6000603c8242611c0e91906150a7565b611c1891906151ec565b9050919050565b60035481565b6000611c30826114e4565b9050919050565b6000601060009054906101000a900460ff1615611c575760019050611d01565b6000600f5403611c6a5760009050611d01565b600f544210611cfc57611c97603c600354611c8591906151ec565b600f54611c9291906150a7565b6129d7565b506001601060006101000a81548160ff0219169083151502179055507ff80dbaea4785589e52984ca36a31de106adc77759539a5c7d92883bf49692fe942604051611ce29190614a6e565b60405180910390a1611cf261226a565b5060029050611d01565b600090505b90565b600080611d28611d1384612e49565b600260009054906101000a9004600f0b61340d565b9050611d3381612f97565b67ffffffffffffffff16915050919050565b6000603c8242611d5591906150a7565b611d5f91906151ec565b9050919050565b611d73600860ff166114b1565b15611d7d57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dd757600080fd5b611ddf61118e565b8111611dea57600080fd5b6011547f9722adea12ab7ef86fc45b88f0e0b567639e8dddaae60261e08c03d747fbbfe682604051611e1c9190614a6e565b60405180910390a28060118190555050565b6000806000806000611e47611e4287611b55565b612e49565b9350611e54600354611bfe565b9150611e6f84600260009054906101000a9004600f0b612f18565b9250611e8d611e7d84612f97565b67ffffffffffffffff16836115ee565b945050505050919050565b6000611ea460006129d7565b905090565b600b5481565b6000806000611ebd846111b6565b9150611ec884611479565b9050611ed4828261113e565b92505050919050565b600a5481565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f4057600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601082106120f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ec90615269565b60405180910390fd5b600060125483161461213c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612133906152d5565b60405180910390fd5b816012600082825417925050819055507fdd5e7cad9599c1dcaa8d5adcd88f157fc5fada62511c0d3edb1bfd3b778acc4160125460405161217d9190614a6e565b60405180910390a16012549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6121c2600260ff166114b1565b156121cc57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461222657600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000612274614730565b61227c614730565b612284614730565b6000806000806000612294611e98565b5061229d613499565b97506122a8886111f3565b156122be57600098505050505050505050612528565b6000600954815481106122d4576122d36152f5565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050955061238188612c85565b945060018561239091906150db565b905061239b86611479565b9350603c857f00000000000000000000000000000000000000000000000000000000000000006123cb919061517b565b6123d591906151ec565b915061241161240c7f000000000000000000000000000000000000000000000000000000000000000061240785612e49565b612f18565b612ff1565b925061242760008461242161118e565b84612c99565b96506000879080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050506124e38761362f565b507f55d243082e019fce4009ccea5368b92e436c17586a1e793c7deda16df4e5d675816040516125139190614a6e565b60405180910390a16001985050505050505050505b90565b6007805461253890614f6f565b80601f016020809104026020016040519081016040528092919081815260200182805461256490614f6f565b80156125b15780601f10612586576101008083540402835291602001916125b1565b820191906000526020600020905b81548152906001019060200180831161259457829003601f168201915b505050505081565b60006125c8600160ff166114b1565b156125d257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461262c57600080fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60008061269983611d04565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561272457600080fd5b61272c61226a565b5080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127b991906150a7565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516128999190614a6e565b60405180910390a3600191505092915050565b6000806000806128ba611c37565b905060028160ff16036128d357600093505050506129a7565b60008160ff16111561291a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291190614fec565b60405180910390fd5b61292261226a565b5061292c85611d04565b9250612939338785612fcc565b91508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516129989190614a6e565b60405180910390a38193505050505b92915050565b600f5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000806000601060009054906101000a900460ff1615612a01576000945050505050612b59565b612a0c600354611bfe565b925060008303612a23576000945050505050612b59565b600260009054906101000a9004600f0b9050600086118015612a4457508286105b15612a4d578592505b612a5683612e49565b9150612a827f000000000000000000000000000000000000000000000000000000000000000083612f18565b9350612a8d84612ff1565b9350612aa8600260009054906101000a9004600f0b85612f18565b600260006101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff160217905550603c83612af0919061517b565b600354612afd91906150db565b60038190555080600f0b836003547f1c9c74563c32efd114cb36fb5e432d9386c8254d08456614804a33a3088ab736600260009054906101000a9004600f0b604051612b4991906149d8565b60405180910390a4829450505050505b919050565b60095481565b60115481565b6000612b79600460ff166114b1565b15612b8357600080fd5b601060009054906101000a900460ff1615612b9d57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612bf757600080fd5b7f000000000000000000000000000000000000000000000000000000000000000082612c23919061517b565b7f0000000000000000000000000000000000000000000000000000000000000000612c4e91906150db565b9050600f548111612c5e57600080fd5b80600f819055505050565b6000600b54905090565b6000612c7e826125b9565b9050919050565b6000816000015163ffffffff169050919050565b612ca1614730565b612ca9614730565b82816000019063ffffffff16908163ffffffff168152505083816020019068ffffffffffffffffff16908168ffffffffffffffffff168152505067ffffffffffffffff8516816040019067ffffffffffffffff16908167ffffffffffffffff168152505080915050949350505050565b600060017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000042612d6a91906150a7565b612d7491906151ec565b612d7e91906150db565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612e0357600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550919050565b6000677fffffffffffffff821115612e6057600080fd5b6040829060020a029050919050565b60008082600f0b13612e8057600080fd5b60806fb17217f7d1cf79abc9e3b39803f2f6af612e9c8461374e565b600f0b02908060020a82049150509050919050565b60008082600f0b84600f0b0390507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b8112158015612f0557506f7fffffffffffffffffffffffffffffff600f0b8113155b612f0e57600080fd5b8091505092915050565b600080604083600f0b85600f0b029060008212600003808260020a82851804189250505090507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b8112158015612f8457506f7fffffffffffffffffffffffffffffff600f0b8113155b612f8d57600080fd5b8091505092915050565b60008082600f0b1215612fa957600080fd5b604082600f0b9060008212600003808260020a8285180418925050509050919050565b600080612fd9858461307e565b50612fe48484613185565b5060019150509392505050565b60006840000000000000000082600f0b1261300b57600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000082600f0b121561303f5760009050613079565b6130766080700171547652b82fe1777d0ffda0d23a7d1284600f0b029060008212600003808260020a828518041892505050613914565b90505b919050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600085036130da576000935050505061317f565b6130e386611b55565b925084831015613128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161311f90615370565b60405180910390fd5b848361313491906150a7565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600085036131e15760009350505050613243565b6131ea86611b55565b925084836131f891906150db565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b6000613253614730565b600061325d61118e565b90506000600160008054905061327391906150a7565b81548110613284576132836152f5565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050915080826020019068ffffffffffffffffff16908168ffffffffffffffffff1681525050816000600160008054905061335f91906150a7565b815481106133705761336f6152f5565b5b9060005260206000200160008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555090505060019250505090565b60008082600f0b0361341e57600080fd5b600082600f0b604085600f0b9060020a028161343d5761343c6151bd565b5b0590507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b811215801561348657506f7fffffffffffffffffffffffffffffff600f0b8113155b61348f57600080fd5b8091505092915050565b6134a1614730565b6134a9614730565b6134b1614730565b600080600954815481106134c8576134c76152f5565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152505092503073ffffffffffffffffffffffffffffffffffffffff1663e80952956040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381865afa1580156135d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135f791906153bc565b6fffffffffffffffffffffffffffffffff16905061361483612c85565b81116136255781935050505061362c565b8293505050505b90565b600080600061363d84611eaf565b61364561118e565b61364f91906150a7565b9150600a5461365d83611d04565b61366791906150a7565b9050613695600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613185565b50836000015163ffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9a2a887706623ad3ff7fc85652deeceabe9fe1e00466c597972079ee91ea40d3846040516137099190614a6e565b60405180910390a360016009600082825461372491906150db565b9250508190555080600a600082825461373d91906150db565b925050819055508192505050919050565b60008082600f0b1361375f57600080fd5b60008083600f0b905068010000000000000000811261379a576040819060008212600003808260020a82851804189250505090506040820191505b64010000000081126137c8576020819060008212600003808260020a82851804189250505090506020820191505b6201000081126137f4576010819060008212600003808260020a82851804189250505090506010820191505b610100811261381f576008819060008212600003808260020a82851804189250505090506008820191505b60108112613849576004819060008212600003808260020a82851804189250505090506004820191505b60048112613873576002819060008212600003808260020a82851804189250505090506002820191505b60028112613882576001820191505b600060408084039060020a029050600083607f0386600f0b9060020a029050600067800000000000000090505b6000811315613907578182029150600060ff83908060020a8204915050905080607f0183908060020a8204915050925080820284019350506001819060008212600003808260020a82851804189250505090506138af565b5081945050505050919050565b60006840000000000000000082600f0b1261392e57600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000082600f0b1215613962576000905061472b565b60006f80000000000000000000000000000000905060006780000000000000008416600f0b13156139b057608070016a09e667f3bcc908b2fb1366ea957d3e8202908060020a820491505090505b60006740000000000000008416600f0b13156139e95760807001306fe0a31b7152de8d5a46305c85edec8202908060020a820491505090505b60006720000000000000008416600f0b1315613a225760807001172b83c7d517adcdf7c8c50eb14a791f8202908060020a820491505090505b60006710000000000000008416600f0b1315613a5b57608070010b5586cf9890f6298b92b71842a983638202908060020a820491505090505b60006708000000000000008416600f0b1315613a945760807001059b0d31585743ae7c548eb68ca417fd8202908060020a820491505090505b60006704000000000000008416600f0b1315613acd576080700102c9a3e778060ee6f7caca4f7a29bde88202908060020a820491505090505b60006702000000000000008416600f0b1315613b0657608070010163da9fb33356d84a66ae336dcdfa3f8202908060020a820491505090505b60006701000000000000008416600f0b1315613b3f576080700100b1afa5abcbed6129ab13ec11dc95438202908060020a820491505090505b600066800000000000008416600f0b1315613b7757608070010058c86da1c09ea1ff19d294cf2f679b8202908060020a820491505090505b600066400000000000008416600f0b1315613baf5760807001002c605e2e8cec506d21bfc89a23a00f8202908060020a820491505090505b600066200000000000008416600f0b1315613be7576080700100162f3904051fa128bca9c55c31e5df8202908060020a820491505090505b600066100000000000008416600f0b1315613c1f5760807001000b175effdc76ba38e31671ca9397258202908060020a820491505090505b600066080000000000008416600f0b1315613c57576080700100058ba01fb9f96d6cacd4b180917c3d8202908060020a820491505090505b600066040000000000008416600f0b1315613c8f57608070010002c5cc37da9491d0985c348c68e7b38202908060020a820491505090505b600066020000000000008416600f0b1315613cc75760807001000162e525ee054754457d59952920268202908060020a820491505090505b600066010000000000008416600f0b1315613cff57608070010000b17255775c040618bf4a4ade83fc8202908060020a820491505090505b6000658000000000008416600f0b1315613d365760807001000058b91b5bc9ae2eed81e9b7d4cfab8202908060020a820491505090505b6000654000000000008416600f0b1315613d6d576080700100002c5c89d5ec6ca4d7c8acc017b7c98202908060020a820491505090505b6000652000000000008416600f0b1315613da457608070010000162e43f4f831060e02d839a9d16d8202908060020a820491505090505b6000651000000000008416600f0b1315613ddb576080700100000b1721bcfc99d9f890ea069117638202908060020a820491505090505b6000650800000000008416600f0b1315613e1257608070010000058b90cf1e6d97f9ca14dbcc16288202908060020a820491505090505b6000650400000000008416600f0b1315613e495760807001000002c5c863b73f016468f6bac5ca2b8202908060020a820491505090505b6000650200000000008416600f0b1315613e80576080700100000162e430e5a18f6119e3c02282a58202908060020a820491505090505b6000650100000000008416600f0b1315613eb75760807001000000b1721835514b86e6d96efd1bfe8202908060020a820491505090505b60006480000000008416600f0b1315613eed576080700100000058b90c0b48c6be5df846c5b2ef8202908060020a820491505090505b60006440000000008416600f0b1315613f2357608070010000002c5c8601cc6b9e94213c72737a8202908060020a820491505090505b60006420000000008416600f0b1315613f595760807001000000162e42fff037df38aa2b219f068202908060020a820491505090505b60006410000000008416600f0b1315613f8f57608070010000000b17217fba9c739aa5819f44f98202908060020a820491505090505b60006408000000008416600f0b1315613fc55760807001000000058b90bfcdee5acd3c1cedc8238202908060020a820491505090505b60006404000000008416600f0b1315613ffb576080700100000002c5c85fe31f35a6a30da1be508202908060020a820491505090505b60006402000000008416600f0b131561403157608070010000000162e42ff0999ce3541b9fffcf8202908060020a820491505090505b60006401000000008416600f0b1315614067576080700100000000b17217f80f4ef5aadda455548202908060020a820491505090505b600063800000008416600f0b131561409c57608070010000000058b90bfbf8479bd5a81b51ad8202908060020a820491505090505b600063400000008416600f0b13156140d15760807001000000002c5c85fdf84bd62ae30a74cc8202908060020a820491505090505b600063200000008416600f0b1315614106576080700100000000162e42fefb2fed257559bdaa8202908060020a820491505090505b600063100000008416600f0b131561413b5760807001000000000b17217f7d5a7716bba4a9ae8202908060020a820491505090505b600063080000008416600f0b1315614170576080700100000000058b90bfbe9ddbac5e109cce8202908060020a820491505090505b600063040000008416600f0b13156141a557608070010000000002c5c85fdf4b15de6f17eb0d8202908060020a820491505090505b600063020000008416600f0b13156141da5760807001000000000162e42fefa494f1478fde058202908060020a820491505090505b600063010000008416600f0b131561420f57608070010000000000b17217f7d20cf927c8e94c8202908060020a820491505090505b6000628000008416600f0b13156142435760807001000000000058b90bfbe8f71cb4e4b33d8202908060020a820491505090505b6000624000008416600f0b1315614277576080700100000000002c5c85fdf477b662b269458202908060020a820491505090505b6000622000008416600f0b13156142ab57608070010000000000162e42fefa3ae53369388c8202908060020a820491505090505b6000621000008416600f0b13156142df576080700100000000000b17217f7d1d351a389d408202908060020a820491505090505b6000620800008416600f0b131561431357608070010000000000058b90bfbe8e8b2d3d4ede8202908060020a820491505090505b6000620400008416600f0b13156143475760807001000000000002c5c85fdf4741bea6e77e8202908060020a820491505090505b6000620200008416600f0b131561437b576080700100000000000162e42fefa39fe95583c28202908060020a820491505090505b6000620100008416600f0b13156143af5760807001000000000000b17217f7d1cfb72b45e18202908060020a820491505090505b60006180008416600f0b13156143e2576080700100000000000058b90bfbe8e7cc35c3f08202908060020a820491505090505b60006140008416600f0b131561441557608070010000000000002c5c85fdf473e242ea388202908060020a820491505090505b60006120008416600f0b13156144485760807001000000000000162e42fefa39f02b772c8202908060020a820491505090505b60006110008416600f0b131561447b57608070010000000000000b17217f7d1cf7d83c1a8202908060020a820491505090505b60006108008416600f0b13156144ae5760807001000000000000058b90bfbe8e7bdcbe2e8202908060020a820491505090505b60006104008416600f0b13156144e1576080700100000000000002c5c85fdf473dea871f8202908060020a820491505090505b60006102008416600f0b131561451457608070010000000000000162e42fefa39ef44d918202908060020a820491505090505b60006101008416600f0b1315614547576080700100000000000000b17217f7d1cf79e9498202908060020a820491505090505b600060808416600f0b131561457957608070010000000000000058b90bfbe8e7bce5448202908060020a820491505090505b600060408416600f0b13156145ab5760807001000000000000002c5c85fdf473de6eca8202908060020a820491505090505b600060208416600f0b13156145dd576080700100000000000000162e42fefa39ef366f8202908060020a820491505090505b600060108416600f0b131561460f5760807001000000000000000b17217f7d1cf79afa8202908060020a820491505090505b600060088416600f0b1315614641576080700100000000000000058b90bfbe8e7bcd6d8202908060020a820491505090505b600060048416600f0b131561467357608070010000000000000002c5c85fdf473de6b28202908060020a820491505090505b600060028416600f0b13156146a55760807001000000000000000162e42fefa39ef3588202908060020a820491505090505b600060018416600f0b13156146d757608070010000000000000000b17217f7d1cf79ab8202908060020a820491505090505b604083600f0b9060008212600003808260020a828518041892505050603f03600f0b81908060020a820491505090506f7fffffffffffffffffffffffffffffff600f0b81111561472657600080fd5b809150505b919050565b6040518060600160405280600063ffffffff168152602001600068ffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b6000604051905090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6147b08161477b565b81146147bb57600080fd5b50565b6000813590506147cd816147a7565b92915050565b6000602082840312156147e9576147e8614776565b5b60006147f7848285016147be565b91505092915050565b60008115159050919050565b61481581614800565b82525050565b6000602082019050614830600083018461480c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614870578082015181840152602081019050614855565b60008484015250505050565b6000601f19601f8301169050919050565b600061489882614836565b6148a28185614841565b93506148b2818560208601614852565b6148bb8161487c565b840191505092915050565b600060208201905081810360008301526148e0818461488d565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614913826148e8565b9050919050565b61492381614908565b811461492e57600080fd5b50565b6000813590506149408161491a565b92915050565b6000819050919050565b61495981614946565b811461496457600080fd5b50565b60008135905061497681614950565b92915050565b6000806040838503121561499357614992614776565b5b60006149a185828601614931565b92505060206149b285828601614967565b9150509250929050565b600081600f0b9050919050565b6149d2816149bc565b82525050565b60006020820190506149ed60008301846149c9565b92915050565b6149fc816149bc565b8114614a0757600080fd5b50565b600081359050614a19816149f3565b92915050565b60008060408385031215614a3657614a35614776565b5b6000614a4485828601614967565b9250506020614a5585828601614a0a565b9150509250929050565b614a6881614946565b82525050565b6000602082019050614a836000830184614a5f565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614ac68261487c565b810181811067ffffffffffffffff82111715614ae557614ae4614a8e565b5b80604052505050565b6000614af861476c565b9050614b048282614abd565b919050565b600063ffffffff82169050919050565b614b2281614b09565b8114614b2d57600080fd5b50565b600081359050614b3f81614b19565b92915050565b600068ffffffffffffffffff82169050919050565b614b6381614b45565b8114614b6e57600080fd5b50565b600081359050614b8081614b5a565b92915050565b600067ffffffffffffffff82169050919050565b614ba381614b86565b8114614bae57600080fd5b50565b600081359050614bc081614b9a565b92915050565b600060608284031215614bdc57614bdb614a89565b5b614be66060614aee565b90506000614bf684828501614b30565b6000830152506020614c0a84828501614b71565b6020830152506040614c1e84828501614bb1565b60408301525092915050565b600060608284031215614c4057614c3f614776565b5b6000614c4e84828501614bc6565b91505092915050565b600080600060608486031215614c7057614c6f614776565b5b6000614c7e86828701614931565b9350506020614c8f86828701614931565b9250506040614ca086828701614967565b9150509250925092565b600060208284031215614cc057614cbf614776565b5b6000614cce84828501614967565b91505092915050565b600060208284031215614ced57614cec614776565b5b6000614cfb84828501614931565b91505092915050565b60008060408385031215614d1b57614d1a614776565b5b6000614d2985828601614967565b9250506020614d3a85828601614967565b9150509250929050565b614d4d81614b09565b82525050565b614d5c81614b45565b82525050565b614d6b81614b86565b82525050565b6000606082019050614d866000830186614d44565b614d936020830185614d53565b614da06040830184614d62565b949350505050565b600060ff82169050919050565b614dbe81614da8565b82525050565b6000602082019050614dd96000830184614db5565b92915050565b614de881614908565b82525050565b6000602082019050614e036000830184614ddf565b92915050565b60008060008060808587031215614e2357614e22614776565b5b6000614e3187828801614967565b9450506020614e4287828801614a0a565b9350506040614e5387828801614967565b9250506060614e6487828801614967565b91505092959194509250565b614e7981614b09565b82525050565b614e8881614b45565b82525050565b614e9781614b86565b82525050565b606082016000820151614eb36000850182614e70565b506020820151614ec66020850182614e7f565b506040820151614ed96040850182614e8e565b50505050565b6000606082019050614ef46000830184614e9d565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b614f1f81614efa565b82525050565b6000602082019050614f3a6000830184614f16565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680614f8757607f821691505b602082108103614f9a57614f99614f40565b5b50919050565b7f4558504952454400000000000000000000000000000000000000000000000000600082015250565b6000614fd6600783614841565b9150614fe182614fa0565b602082019050919050565b6000602082019050818103600083015261500581614fc9565b9050919050565b7f5a45524f5f464952535400000000000000000000000000000000000000000000600082015250565b6000615042600a83614841565b915061504d8261500c565b602082019050919050565b6000602082019050818103600083015261507181615035565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006150b282614946565b91506150bd83614946565b92508282039050818111156150d5576150d4615078565b5b92915050565b60006150e682614946565b91506150f183614946565b925082820190508082111561510957615108615078565b5b92915050565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b6000615145600a83614841565b91506151508261510f565b602082019050919050565b6000602082019050818103600083015261517481615138565b9050919050565b600061518682614946565b915061519183614946565b925082820261519f81614946565b915082820484148315176151b6576151b5615078565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006151f782614946565b915061520283614946565b925082615212576152116151bd565b5b828204905092915050565b7f4552525f494e56414c49445f5354415445000000000000000000000000000000600082015250565b6000615253601183614841565b915061525e8261521d565b602082019050919050565b6000602082019050818103600083015261528281615246565b9050919050565b7f4552525f414c52454144595f4c4f434b45440000000000000000000000000000600082015250565b60006152bf601283614841565b91506152ca82615289565b602082019050919050565b600060208201905081810360008301526152ee816152b2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552525f4f5645525350454e4400000000000000000000000000000000000000600082015250565b600061535a600d83614841565b915061536582615324565b602082019050919050565b600060208201905081810360008301526153898161534d565b9050919050565b61539981614efa565b81146153a457600080fd5b50565b6000815190506153b681615390565b92915050565b6000602082840312156153d2576153d1614776565b5b60006153e0848285016153a7565b9150509291505056fea264697066735822122061d48fdedb03bbb6777540bb23e934a60aece815f70f2549550b05f804f37d7364736f6c63430008110033