0x6101606040523480156200001257600080fd5b506040518060400160405280600481526020017f434f5249000000000000000000000000000000000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f434f5249000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f43524900000000000000000000000000000000000000000000000000000000008152508160009081620000fc91906200066a565b5080600190816200010e91906200066a565b5050506200013162000125620001f160201b60201c565b620001f960201b60201c565b6200014c600883620002bf60201b620011e41790919060201c565b61012081815250506200016f600982620002bf60201b620011e41790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001ae6200031c60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505062000974565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000602083511015620002e557620002dd836200037960201b60201c565b905062000316565b82620002fc83620003e660201b620012281760201c565b60000190816200030d91906200066a565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200035e959493929190620007c2565b60405160208183030381529060405280519060200120905090565b600080829050601f81511115620003c957826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401620003c09190620008ae565b60405180910390fd5b805181620003d79062000904565b60001c1760001b915050919050565b6000819050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200047257607f821691505b6020821081036200048857620004876200042a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004b3565b620004fe8683620004b3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200054b620005456200053f8462000516565b62000520565b62000516565b9050919050565b6000819050919050565b62000567836200052a565b6200057f620005768262000552565b848454620004c0565b825550505050565b600090565b6200059662000587565b620005a38184846200055c565b505050565b5b81811015620005cb57620005bf6000826200058c565b600181019050620005a9565b5050565b601f8211156200061a57620005e4816200048e565b620005ef84620004a3565b81016020851015620005ff578190505b620006176200060e85620004a3565b830182620005a8565b50505b505050565b600082821c905092915050565b60006200063f600019846008026200061f565b1980831691505092915050565b60006200065a83836200062c565b9150826002028217905092915050565b6200067582620003f0565b67ffffffffffffffff811115620006915762000690620003fb565b5b6200069d825462000459565b620006aa828285620005cf565b600060209050601f831160018114620006e25760008415620006cd578287015190505b620006d985826200064c565b86555062000749565b601f198416620006f2866200048e565b60005b828110156200071c57848901518255600182019150602085019450602081019050620006f5565b868310156200073c578489015162000738601f8916826200062c565b8355505b6001600288020188555050505b505050505050565b6000819050919050565b620007668162000751565b82525050565b620007778162000516565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007aa826200077d565b9050919050565b620007bc816200079d565b82525050565b600060a082019050620007d960008301886200075b565b620007e860208301876200075b565b620007f760408301866200075b565b6200080660608301856200076c565b620008156080830184620007b1565b9695505050505050565b600082825260208201905092915050565b60005b838110156200085057808201518184015260208101905062000833565b60008484015250505050565b6000601f19601f8301169050919050565b60006200087a82620003f0565b6200088681856200081f565b93506200089881856020860162000830565b620008a3816200085c565b840191505092915050565b60006020820190508181036000830152620008ca81846200086d565b905092915050565b600081519050919050565b6000819050602082019050919050565b6000620008fb825162000751565b80915050919050565b60006200091182620008d2565b826200091d84620008dd565b90506200092a81620008ed565b925060208210156200096d57620009687fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802620004b3565b831692505b5050919050565b60805160a05160c05160e0516101005161012051610140516158f4620009cf6000396000610c9501526000610c6101526000612373015260006123520152600061173101526000611787015260006117b001526158f46000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a6116101045780639ab24eb0116100a2578063c87b56dd11610071578063c87b56dd14610546578063cd279c7c14610576578063e985e9c514610592578063f2fde38b146105c2576101cf565b80639ab24eb0146104c2578063a22cb465146104f2578063b88d4fde1461050e578063c3cda5201461052a576101cf565b80638da5cb5b116100de5780638da5cb5b146104385780638e539e8c1461045657806391ddadf41461048657806395d89b41146104a4576101cf565b8063715018a6146103da5780637ecebe00146103e457806384b0196e14610414576101cf565b806342842e0e11610171578063587cde1e1161014b578063587cde1e1461032e5780635c19a95c1461035e5780636352211e1461037a57806370a08231146103aa576101cf565b806342842e0e146102d857806342966c68146102f45780634bf5d7e914610310576101cf565b8063095ea7b3116101ad578063095ea7b31461025257806323b872dd1461026e5780633644e5151461028a5780633a46b1a8146102a8576101cf565b806301ffc9a7146101d457806306fdde0314610204578063081812fc14610222575b600080fd5b6101ee60048036038101906101e99190613b57565b6105de565b6040516101fb9190613b9f565b60405180910390f35b61020c6105f0565b6040516102199190613c4a565b60405180910390f35b61023c60048036038101906102379190613ca2565b610682565b6040516102499190613d10565b60405180910390f35b61026c60048036038101906102679190613d57565b6106c8565b005b61028860048036038101906102839190613d97565b6107df565b005b61029261083f565b60405161029f9190613e03565b60405180910390f35b6102c260048036038101906102bd9190613d57565b61084e565b6040516102cf9190613e2d565b60405180910390f35b6102f260048036038101906102ed9190613d97565b610920565b005b61030e60048036038101906103099190613ca2565b610940565b005b61031861099c565b6040516103259190613c4a565b60405180910390f35b61034860048036038101906103439190613e48565b610a2a565b6040516103559190613d10565b60405180910390f35b61037860048036038101906103739190613e48565b610a93565b005b610394600480360381019061038f9190613ca2565b610aad565b6040516103a19190613d10565b60405180910390f35b6103c460048036038101906103bf9190613e48565b610b33565b6040516103d19190613e2d565b60405180910390f35b6103e2610bea565b005b6103fe60048036038101906103f99190613e48565b610bfe565b60405161040b9190613e2d565b60405180910390f35b61041c610c4e565b60405161042f9796959493929190613f6e565b60405180910390f35b610440610d50565b60405161044d9190613d10565b60405180910390f35b610470600480360381019061046b9190613ca2565b610d7a565b60405161047d9190613e2d565b60405180910390f35b61048e610e0e565b60405161049b9190614013565b60405180910390f35b6104ac610e1e565b6040516104b99190613c4a565b60405180910390f35b6104dc60048036038101906104d79190613e48565b610eb0565b6040516104e99190613e2d565b60405180910390f35b61050c6004803603810190610507919061405a565b610f1e565b005b610528600480360381019061052391906141cf565b610f34565b005b610544600480360381019061053f91906142b7565b610f96565b005b610560600480360381019061055b9190613ca2565b61109a565b60405161056d9190613c4a565b60405180910390f35b610590600480360381019061058b91906143e5565b6110ac565b005b6105ac60048036038101906105a79190614454565b6110cd565b6040516105b99190613b9f565b60405180910390f35b6105dc60048036038101906105d79190613e48565b611161565b005b60006105e982611232565b9050919050565b6060600080546105ff906144c3565b80601f016020809104026020016040519081016040528092919081815260200182805461062b906144c3565b80156106785780601f1061064d57610100808354040283529160200191610678565b820191906000526020600020905b81548152906001019060200180831161065b57829003601f168201915b5050505050905090565b600061068d82611293565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006106d382610aad565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073a90614566565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107626112de565b73ffffffffffffffffffffffffffffffffffffffff16148061079157506107908161078b6112de565b6110cd565b5b6107d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c7906145f8565b60405180910390fd5b6107da83836112e6565b505050565b6107f06107ea6112de565b8261139f565b61082f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108269061468a565b60405180910390fd5b61083a838383611434565b505050565b600061084961172d565b905090565b6000610858610e0e565b65ffffffffffff1682106108a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610898906146f6565b60405180910390fd5b6108fa6108ad836117e4565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061183790919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905092915050565b61093b83838360405180602001604052806000815250610f34565b505050565b61095161094b6112de565b8261139f565b610990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109879061468a565b60405180910390fd5b6109998161192d565b50565b6060436109a7610e0e565b65ffffffffffff16146109ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e690614762565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a9d6112de565b9050610aa98183611939565b5050565b600080610ab983611a4d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b21906147ce565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9a90614860565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bf2611a8a565b610bfc6000611b08565b565b6000610c47600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611bce565b9050919050565b600060608060008060006060610c8e60087f0000000000000000000000000000000000000000000000000000000000000000611bdc90919063ffffffff16565b610cc260097f0000000000000000000000000000000000000000000000000000000000000000611bdc90919063ffffffff16565b46306000801b600067ffffffffffffffff811115610ce357610ce26140a4565b5b604051908082528060200260200182016040528015610d115781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610d84610e0e565b65ffffffffffff168210610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc4906146f6565b60405180910390fd5b610de9610dd9836117e4565b600c61183790919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b6000610e1943611c8c565b905090565b606060018054610e2d906144c3565b80601f0160208091040260200160405190810160405280929190818152602001828054610e59906144c3565b8015610ea65780601f10610e7b57610100808354040283529160200191610ea6565b820191906000526020600020905b815481529060010190602001808311610e8957829003601f168201915b5050505050905090565b6000610ef9600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611ce1565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b610f30610f296112de565b8383611d4b565b5050565b610f45610f3f6112de565b8361139f565b610f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7b9061468a565b60405180910390fd5b610f9084848484611eb7565b50505050565b83421115610fd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd0906148cc565b60405180910390fd5b600061103b6110337fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf89898960405160200161101894939291906148ec565b60405160208183030381529060405280519060200120611f13565b858585611f2d565b905061104681611f58565b8614611087576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107e9061497d565b60405180910390fd5b6110918188611939565b50505050505050565b60606110a582611fb6565b9050919050565b6110b4611a8a565b6110be83836120c8565b6110c882826120e6565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611169611a8a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cf90614a0f565b60405180910390fd5b6111e181611b08565b50565b6000602083511015611200576111f98361218a565b9050611222565b8261120a83611228565b60000190816112199190614bdb565b5060ff60001b90505b92915050565b6000819050919050565b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061128c575061128b826121f2565b5b9050919050565b61129c816122d4565b6112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906147ce565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661135983610aad565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806113ab83610aad565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806113ed57506113ec81856110cd565b5b8061142b57508373ffffffffffffffffffffffffffffffffffffffff1661141384610682565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661145482610aad565b73ffffffffffffffffffffffffffffffffffffffff16146114aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a190614d1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151090614db1565b60405180910390fd5b6115268383836001612315565b8273ffffffffffffffffffffffffffffffffffffffff1661154682610aad565b73ffffffffffffffffffffffffffffffffffffffff161461159c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159390614d1f565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611728838383600161231b565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161480156117a957507f000000000000000000000000000000000000000000000000000000000000000046145b156117d6577f000000000000000000000000000000000000000000000000000000000000000090506117e1565b6117de61232d565b90505b90565b600063ffffffff801682111561182f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182690614e43565b60405180910390fd5b819050919050565b6000808360000180549050905060008082905060058311156118b957600061185e846123c3565b846118699190614e92565b905061187887600001826124bc565b60000160009054906101000a900463ffffffff1663ffffffff168663ffffffff1610156118a7578091506118b7565b6001816118b49190614ec6565b92505b505b60006118ca876000018785856124d1565b90506000811461191e576118ed876000016001836118e89190614e92565b6124bc565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611921565b60005b94505050505092915050565b61193681612544565b50565b600061194483610a2a565b905081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611a488183611a4386612597565b6125a9565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b611a926112de565b73ffffffffffffffffffffffffffffffffffffffff16611ab0610d50565b73ffffffffffffffffffffffffffffffffffffffff1614611b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afd90614f46565b60405180910390fd5b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b606060ff60001b8314611bf957611bf28361282a565b9050611c86565b818054611c05906144c3565b80601f0160208091040260200160405190810160405280929190818152602001828054611c31906144c3565b8015611c7e5780601f10611c5357610100808354040283529160200191611c7e565b820191906000526020600020905b815481529060010190602001808311611c6157829003601f168201915b505050505090505b92915050565b600065ffffffffffff8016821115611cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd090614fd8565b60405180910390fd5b819050919050565b6000808260000180549050905060008114611d4057611d0f83600001600183611d0a9190614e92565b6124bc565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611d43565b60005b915050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db090615044565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611eaa9190613b9f565b60405180910390a3505050565b611ec2848484611434565b611ece8484848461289e565b611f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f04906150d6565b60405180910390fd5b50505050565b6000611f26611f2061172d565b83612a25565b9050919050565b6000806000611f3e87878787612a66565b91509150611f4b81612b48565b8192505050949350505050565b600080600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611fa581611bce565b9150611fb081612cae565b50919050565b6060611fc182611293565b6000600660008481526020019081526020016000208054611fe1906144c3565b80601f016020809104026020016040519081016040528092919081815260200182805461200d906144c3565b801561205a5780601f1061202f5761010080835404028352916020019161205a565b820191906000526020600020905b81548152906001019060200180831161203d57829003601f168201915b50505050509050600061206b612cc4565b905060008151036120805781925050506120c3565b6000825111156120b557808260405160200161209d929190615132565b604051602081830303815290604052925050506120c3565b6120be84612cdb565b925050505b919050565b6120e2828260405180602001604052806000815250612d43565b5050565b6120ef826122d4565b61212e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612125906151c8565b60405180910390fd5b8060066000848152602001908152602001600020908161214e9190614bdb565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce78260405161217e9190613e2d565b60405180910390a15050565b600080829050601f815111156121d757826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016121ce9190613c4a565b60405180910390fd5b8051816121e390615218565b60001c1760001b915050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806122bd57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806122cd57506122cc82612d9e565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166122f683611a4d565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b61232784848484612e08565b50505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000046306040516020016123a895949392919061527f565b60405160208183030381529060405280519060200120905090565b60008082036123d557600090506124b7565b600060016123e284612e25565b901c6001901b905060018184816123fc576123fb6152d2565b5b048201901c90506001818481612415576124146152d2565b5b048201901c9050600181848161242e5761242d6152d2565b5b048201901c90506001818481612447576124466152d2565b5b048201901c905060018184816124605761245f6152d2565b5b048201901c90506001818481612479576124786152d2565b5b048201901c90506001818481612492576124916152d2565b5b048201901c90506124b3818285816124ad576124ac6152d2565b5b04612f06565b9150505b919050565b60008260005281602060002001905092915050565b60005b818310156125395760006124e88484612f1f565b90508463ffffffff166124fb87836124bc565b60000160009054906101000a900463ffffffff1663ffffffff16111561252357809250612533565b6001816125309190614ec6565b93505b506124d4565b819050949350505050565b61254d81612f45565b600060066000838152602001908152602001600020805461256d906144c3565b905014612594576006600082815260200190815260200160002060006125939190613a8e565b5b50565b60006125a282610b33565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125e55750600081115b1561282557600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461270757600080612674600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061309361266f866130a9565b613114565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516126fc929190615301565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461282457600080612791600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061316461278c866130a9565b613114565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612819929190615301565b60405180910390a250505b5b505050565b606060006128378361317a565b90506000602067ffffffffffffffff811115612856576128556140a4565b5b6040519080825280601f01601f1916602001820160405280156128885781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006128bf8473ffffffffffffffffffffffffffffffffffffffff166131ca565b15612a18578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026128e86112de565b8786866040518563ffffffff1660e01b815260040161290a9493929190615374565b6020604051808303816000875af192505050801561294657506040513d601f19601f8201168201806040525081019061294391906153d5565b60015b6129c8573d8060008114612976576040519150601f19603f3d011682016040523d82523d6000602084013e61297b565b606091505b5060008151036129c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b7906150d6565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612a1d565b600190505b949350505050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612aa1576000600391509150612b3f565b600060018787878760405160008152602001604052604051612ac69493929190615411565b6020604051602081039080840390855afa158015612ae8573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612b3657600060019250925050612b3f565b80600092509250505b94509492505050565b60006004811115612b5c57612b5b615456565b5b816004811115612b6f57612b6e615456565b5b0315612cab5760016004811115612b8957612b88615456565b5b816004811115612b9c57612b9b615456565b5b03612bdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd3906154d1565b60405180910390fd5b60026004811115612bf057612bef615456565b5b816004811115612c0357612c02615456565b5b03612c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3a9061553d565b60405180910390fd5b60036004811115612c5757612c56615456565b5b816004811115612c6a57612c69615456565b5b03612caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca1906155cf565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b606060405180602001604052806000815250905090565b6060612ce682611293565b6000612cf0612cc4565b90506000815111612d105760405180602001604052806000815250612d3b565b80612d1a846131ed565b604051602001612d2b929190615132565b6040516020818303038152906040525b915050919050565b612d4d83836132bb565b612d5a600084848461289e565b612d99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d90906150d6565b60405180910390fd5b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612e138484836134d8565b612e1f84848484613592565b50505050565b600080600090506000608084901c1115612e4757608083901c92506080810190505b6000604084901c1115612e6257604083901c92506040810190505b6000602084901c1115612e7d57602083901c92506020810190505b6000601084901c1115612e9857601083901c92506010810190505b6000600884901c1115612eb357600883901c92506008810190505b6000600484901c1115612ece57600483901c92506004810190505b6000600284901c1115612ee957600283901c92506002810190505b6000600184901c1115612efd576001810190505b80915050919050565b6000818310612f155781612f17565b825b905092915050565b60006002828418612f3091906155ef565b828416612f3d9190614ec6565b905092915050565b6000612f5082610aad565b9050612f60816000846001612315565b612f6982610aad565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461308f81600084600161231b565b5050565b600081836130a19190615648565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111561310c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131039061570a565b60405180910390fd5b819050919050565b600080613158613132613125610e0e565b65ffffffffffff166117e4565b61314861313e88611ce1565b868863ffffffff16565b876135989092919063ffffffff16565b91509150935093915050565b60008183613172919061572a565b905092915050565b60008060ff8360001c169050601f8111156131c1576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060600060016131fc846135b5565b01905060008167ffffffffffffffff81111561321b5761321a6140a4565b5b6040519080825280601f01601f19166020018201604052801561324d5781602001600182028036833780820191505090505b509050600082602001820190505b6001156132b0578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816132a4576132a36152d2565b5b0494506000850361325b575b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361332a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613321906157c6565b60405180910390fd5b613333816122d4565b15613373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336a90615832565b60405180910390fd5b613381600083836001612315565b61338a816122d4565b156133ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133c190615832565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46134d460008383600161231b565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361352557613522600c61316461351d846130a9565b613114565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036135725761356f600c61309361356a846130a9565b613114565b50505b61358d61357e84610a2a565b61358784610a2a565b836125a9565b505050565b50505050565b6000806135a9856000018585613708565b91509150935093915050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613613577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381613609576136086152d2565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310613650576d04ee2d6d415b85acef81000000008381613646576136456152d2565b5b0492506020810190505b662386f26fc10000831061367f57662386f26fc100008381613675576136746152d2565b5b0492506010810190505b6305f5e10083106136a8576305f5e100838161369e5761369d6152d2565b5b0492506008810190505b61271083106136cd5761271083816136c3576136c26152d2565b5b0492506004810190505b606483106136f057606483816136e6576136e56152d2565b5b0492506002810190505b600a83106136ff576001810190505b80915050919050565b600080600085805490509050600081111561399e576000613735876001846137309190614e92565b6124bc565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508563ffffffff16816000015163ffffffff161115613829576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138209061589e565b60405180910390fd5b8563ffffffff16816000015163ffffffff16036138ad5784613857886001856138529190614e92565b6124bc565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555061398d565b8660405180604001604052808863ffffffff168152602001877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b806020015185935093505050613a86565b8560405180604001604052808763ffffffff168152602001867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b508054613a9a906144c3565b6000825580601f10613aac5750613acb565b601f016020900490600052602060002090810190613aca9190613ace565b5b50565b5b80821115613ae7576000816000905550600101613acf565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613b3481613aff565b8114613b3f57600080fd5b50565b600081359050613b5181613b2b565b92915050565b600060208284031215613b6d57613b6c613af5565b5b6000613b7b84828501613b42565b91505092915050565b60008115159050919050565b613b9981613b84565b82525050565b6000602082019050613bb46000830184613b90565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613bf4578082015181840152602081019050613bd9565b60008484015250505050565b6000601f19601f8301169050919050565b6000613c1c82613bba565b613c268185613bc5565b9350613c36818560208601613bd6565b613c3f81613c00565b840191505092915050565b60006020820190508181036000830152613c648184613c11565b905092915050565b6000819050919050565b613c7f81613c6c565b8114613c8a57600080fd5b50565b600081359050613c9c81613c76565b92915050565b600060208284031215613cb857613cb7613af5565b5b6000613cc684828501613c8d565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613cfa82613ccf565b9050919050565b613d0a81613cef565b82525050565b6000602082019050613d256000830184613d01565b92915050565b613d3481613cef565b8114613d3f57600080fd5b50565b600081359050613d5181613d2b565b92915050565b60008060408385031215613d6e57613d6d613af5565b5b6000613d7c85828601613d42565b9250506020613d8d85828601613c8d565b9150509250929050565b600080600060608486031215613db057613daf613af5565b5b6000613dbe86828701613d42565b9350506020613dcf86828701613d42565b9250506040613de086828701613c8d565b9150509250925092565b6000819050919050565b613dfd81613dea565b82525050565b6000602082019050613e186000830184613df4565b92915050565b613e2781613c6c565b82525050565b6000602082019050613e426000830184613e1e565b92915050565b600060208284031215613e5e57613e5d613af5565b5b6000613e6c84828501613d42565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613eaa81613e75565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613ee581613c6c565b82525050565b6000613ef78383613edc565b60208301905092915050565b6000602082019050919050565b6000613f1b82613eb0565b613f258185613ebb565b9350613f3083613ecc565b8060005b83811015613f61578151613f488882613eeb565b9750613f5383613f03565b925050600181019050613f34565b5085935050505092915050565b600060e082019050613f83600083018a613ea1565b8181036020830152613f958189613c11565b90508181036040830152613fa98188613c11565b9050613fb86060830187613e1e565b613fc56080830186613d01565b613fd260a0830185613df4565b81810360c0830152613fe48184613f10565b905098975050505050505050565b600065ffffffffffff82169050919050565b61400d81613ff2565b82525050565b60006020820190506140286000830184614004565b92915050565b61403781613b84565b811461404257600080fd5b50565b6000813590506140548161402e565b92915050565b6000806040838503121561407157614070613af5565b5b600061407f85828601613d42565b925050602061409085828601614045565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6140dc82613c00565b810181811067ffffffffffffffff821117156140fb576140fa6140a4565b5b80604052505050565b600061410e613aeb565b905061411a82826140d3565b919050565b600067ffffffffffffffff82111561413a576141396140a4565b5b61414382613c00565b9050602081019050919050565b82818337600083830152505050565b600061417261416d8461411f565b614104565b90508281526020810184848401111561418e5761418d61409f565b5b614199848285614150565b509392505050565b600082601f8301126141b6576141b561409a565b5b81356141c684826020860161415f565b91505092915050565b600080600080608085870312156141e9576141e8613af5565b5b60006141f787828801613d42565b945050602061420887828801613d42565b935050604061421987828801613c8d565b925050606085013567ffffffffffffffff81111561423a57614239613afa565b5b614246878288016141a1565b91505092959194509250565b600060ff82169050919050565b61426881614252565b811461427357600080fd5b50565b6000813590506142858161425f565b92915050565b61429481613dea565b811461429f57600080fd5b50565b6000813590506142b18161428b565b92915050565b60008060008060008060c087890312156142d4576142d3613af5565b5b60006142e289828a01613d42565b96505060206142f389828a01613c8d565b955050604061430489828a01613c8d565b945050606061431589828a01614276565b935050608061432689828a016142a2565b92505060a061433789828a016142a2565b9150509295509295509295565b600067ffffffffffffffff82111561435f5761435e6140a4565b5b61436882613c00565b9050602081019050919050565b600061438861438384614344565b614104565b9050828152602081018484840111156143a4576143a361409f565b5b6143af848285614150565b509392505050565b600082601f8301126143cc576143cb61409a565b5b81356143dc848260208601614375565b91505092915050565b6000806000606084860312156143fe576143fd613af5565b5b600061440c86828701613d42565b935050602061441d86828701613c8d565b925050604084013567ffffffffffffffff81111561443e5761443d613afa565b5b61444a868287016143b7565b9150509250925092565b6000806040838503121561446b5761446a613af5565b5b600061447985828601613d42565b925050602061448a85828601613d42565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806144db57607f821691505b6020821081036144ee576144ed614494565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614550602183613bc5565b915061455b826144f4565b604082019050919050565b6000602082019050818103600083015261457f81614543565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006145e2603d83613bc5565b91506145ed82614586565b604082019050919050565b60006020820190508181036000830152614611816145d5565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000614674602d83613bc5565b915061467f82614618565b604082019050919050565b600060208201905081810360008301526146a381614667565b9050919050565b7f566f7465733a20667574757265206c6f6f6b7570000000000000000000000000600082015250565b60006146e0601483613bc5565b91506146eb826146aa565b602082019050919050565b6000602082019050818103600083015261470f816146d3565b9050919050565b7f566f7465733a2062726f6b656e20636c6f636b206d6f64650000000000000000600082015250565b600061474c601883613bc5565b915061475782614716565b602082019050919050565b6000602082019050818103600083015261477b8161473f565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006147b8601883613bc5565b91506147c382614782565b602082019050919050565b600060208201905081810360008301526147e7816147ab565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b600061484a602983613bc5565b9150614855826147ee565b604082019050919050565b600060208201905081810360008301526148798161483d565b9050919050565b7f566f7465733a207369676e617475726520657870697265640000000000000000600082015250565b60006148b6601883613bc5565b91506148c182614880565b602082019050919050565b600060208201905081810360008301526148e5816148a9565b9050919050565b60006080820190506149016000830187613df4565b61490e6020830186613d01565b61491b6040830185613e1e565b6149286060830184613e1e565b95945050505050565b7f566f7465733a20696e76616c6964206e6f6e6365000000000000000000000000600082015250565b6000614967601483613bc5565b915061497282614931565b602082019050919050565b600060208201905081810360008301526149968161495a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006149f9602683613bc5565b9150614a048261499d565b604082019050919050565b60006020820190508181036000830152614a28816149ec565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614a917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614a54565b614a9b8683614a54565b95508019841693508086168417925050509392505050565b6000819050919050565b6000614ad8614ad3614ace84613c6c565b614ab3565b613c6c565b9050919050565b6000819050919050565b614af283614abd565b614b06614afe82614adf565b848454614a61565b825550505050565b600090565b614b1b614b0e565b614b26818484614ae9565b505050565b5b81811015614b4a57614b3f600082614b13565b600181019050614b2c565b5050565b601f821115614b8f57614b6081614a2f565b614b6984614a44565b81016020851015614b78578190505b614b8c614b8485614a44565b830182614b2b565b50505b505050565b600082821c905092915050565b6000614bb260001984600802614b94565b1980831691505092915050565b6000614bcb8383614ba1565b9150826002028217905092915050565b614be482613bba565b67ffffffffffffffff811115614bfd57614bfc6140a4565b5b614c0782546144c3565b614c12828285614b4e565b600060209050601f831160018114614c455760008415614c33578287015190505b614c3d8582614bbf565b865550614ca5565b601f198416614c5386614a2f565b60005b82811015614c7b57848901518255600182019150602085019450602081019050614c56565b86831015614c985784890151614c94601f891682614ba1565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614d09602583613bc5565b9150614d1482614cad565b604082019050919050565b60006020820190508181036000830152614d3881614cfc565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614d9b602483613bc5565b9150614da682614d3f565b604082019050919050565b60006020820190508181036000830152614dca81614d8e565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614e2d602683613bc5565b9150614e3882614dd1565b604082019050919050565b60006020820190508181036000830152614e5c81614e20565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614e9d82613c6c565b9150614ea883613c6c565b9250828203905081811115614ec057614ebf614e63565b5b92915050565b6000614ed182613c6c565b9150614edc83613c6c565b9250828201905080821115614ef457614ef3614e63565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614f30602083613bc5565b9150614f3b82614efa565b602082019050919050565b60006020820190508181036000830152614f5f81614f23565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614fc2602683613bc5565b9150614fcd82614f66565b604082019050919050565b60006020820190508181036000830152614ff181614fb5565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061502e601983613bc5565b915061503982614ff8565b602082019050919050565b6000602082019050818103600083015261505d81615021565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006150c0603283613bc5565b91506150cb82615064565b604082019050919050565b600060208201905081810360008301526150ef816150b3565b9050919050565b600081905092915050565b600061510c82613bba565b61511681856150f6565b9350615126818560208601613bd6565b80840191505092915050565b600061513e8285615101565b915061514a8284615101565b91508190509392505050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b60006151b2602e83613bc5565b91506151bd82615156565b604082019050919050565b600060208201905081810360008301526151e1816151a5565b9050919050565b600081519050919050565b6000819050602082019050919050565b600061520f8251613dea565b80915050919050565b6000615223826151e8565b8261522d846151f3565b905061523881615203565b92506020821015615278576152737fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614a54565b831692505b5050919050565b600060a0820190506152946000830188613df4565b6152a16020830187613df4565b6152ae6040830186613df4565b6152bb6060830185613e1e565b6152c86080830184613d01565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006040820190506153166000830185613e1e565b6153236020830184613e1e565b9392505050565b600082825260208201905092915050565b6000615346826151e8565b615350818561532a565b9350615360818560208601613bd6565b61536981613c00565b840191505092915050565b60006080820190506153896000830187613d01565b6153966020830186613d01565b6153a36040830185613e1e565b81810360608301526153b5818461533b565b905095945050505050565b6000815190506153cf81613b2b565b92915050565b6000602082840312156153eb576153ea613af5565b5b60006153f9848285016153c0565b91505092915050565b61540b81614252565b82525050565b60006080820190506154266000830187613df4565b6154336020830186615402565b6154406040830185613df4565b61544d6060830184613df4565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006154bb601883613bc5565b91506154c682615485565b602082019050919050565b600060208201905081810360008301526154ea816154ae565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000615527601f83613bc5565b9150615532826154f1565b602082019050919050565b600060208201905081810360008301526155568161551a565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006155b9602283613bc5565b91506155c48261555d565b604082019050919050565b600060208201905081810360008301526155e8816155ac565b9050919050565b60006155fa82613c6c565b915061560583613c6c565b925082615615576156146152d2565b5b828204905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b600061565382615620565b915061565e83615620565b925082820390507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff81111561569257615691614e63565b5b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006156f4602783613bc5565b91506156ff82615698565b604082019050919050565b60006020820190508181036000830152615723816156e7565b9050919050565b600061573582615620565b915061574083615620565b925082820190507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff81111561577457615773614e63565b5b92915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006157b0602083613bc5565b91506157bb8261577a565b602082019050919050565b600060208201905081810360008301526157df816157a3565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061581c601c83613bc5565b9150615827826157e6565b602082019050919050565b6000602082019050818103600083015261584b8161580f565b9050919050565b7f436865636b706f696e743a2064656372656173696e67206b6579730000000000600082015250565b6000615888601b83613bc5565b915061589382615852565b602082019050919050565b600060208201905081810360008301526158b78161587b565b905091905056fea26469706673582212207e43c301a4645be05604a3b84a6227c09840f646d81fe28691d1c0c94c2490fc64736f6c63430008120033