0x60806040526040518060600160405280600a60ff168152602001600360ff168152602001600260ff1681525060079060036200003d929190620004cf565b503480156200004b57600080fd5b506040518060400160405280600581526020017f5472616d730000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d444300000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000d092919062000570565b508060049080519060200190620000e992919062000570565b5050506000620000fe620001ea60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001c0620001b1620001ea60201b60201c565b61012c620001f260201b60201c565b620001e46000801b620001d8620001ea60201b60201c565b6200035760201b60201c565b620007cc565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000265576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200025c9062000658565b60405180910390fd5b62000279600083836200036d60201b60201c565b80600260008282546200028d9190620006a8565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002e49190620006a8565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200034b91906200067a565b60405180910390a35050565b6200036982826200037260201b60201c565b5050565b505050565b6200038482826200046460201b60201c565b620004605760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000405620001ea60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b826003601f016020900481019282156200055d5791602002820160005b838211156200052c57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302620004ec565b80156200055b5782816101000a81549060ff02191690556001016020816000010492830192600103026200052c565b505b5090506200056c919062000601565b5090565b8280546200057e906200070f565b90600052602060002090601f016020900481019282620005a25760008555620005ee565b82601f10620005bd57805160ff1916838001178555620005ee565b82800160010185558215620005ee579182015b82811115620005ed578251825591602001919060010190620005d0565b5b509050620005fd919062000601565b5090565b5b808211156200061c57600081600090555060010162000602565b5090565b60006200062f601f8362000697565b91506200063c82620007a3565b602082019050919050565b620006528162000705565b82525050565b60006020820190508181036000830152620006738162000620565b9050919050565b600060208201905062000691600083018462000647565b92915050565b600082825260208201905092915050565b6000620006b58262000705565b9150620006c28362000705565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620006fa57620006f962000745565b5b828201905092915050565b6000819050919050565b600060028204905060018216806200072857607f821691505b602082108114156200073f576200073e62000774565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6132f780620007dc6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80636f4c6443116100f9578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e1461050a578063e2ae93fb1461053a578063ee8f0b7a1461056a578063f2fde38b1461059a576101a9565b8063a457c2d71461048e578063a9059cbb146104be578063d547741f146104ee576101a9565b80638da5cb5b116100d35780638da5cb5b1461040457806391d148541461042257806395d89b4114610452578063a217fddf14610470576101a9565b80636f4c64431461039a57806370a08231146103ca578063715018a6146103fa576101a9565b80632f2ff15d1161016657806339509351116101405780633950935114610300578063404ccd071461033057806340c10f191461034e5780634f8d65f61461036a576101a9565b80632f2ff15d146102aa578063313ce567146102c657806336568abe146102e4576101a9565b806301ffc9a7146101ae57806306fdde03146101de578063095ea7b3146101fc57806318160ddd1461022c57806323b872dd1461024a578063248a9ca31461027a575b600080fd5b6101c860048036038101906101c39190612280565b6105b6565b6040516101d59190612736565b60405180910390f35b6101e6610630565b6040516101f3919061276c565b60405180910390f35b610216600480360381019061021191906121d3565b6106c2565b6040516102239190612736565b60405180910390f35b6102346106e0565b60405161024191906129ae565b60405180910390f35b610264600480360381019061025f9190612180565b6106ea565b6040516102719190612736565b60405180910390f35b610294600480360381019061028f9190612213565b6107eb565b6040516102a19190612751565b60405180910390f35b6102c460048036038101906102bf9190612240565b61080b565b005b6102ce610834565b6040516102db91906129e4565b60405180910390f35b6102fe60048036038101906102f99190612240565b610839565b005b61031a600480360381019061031591906121d3565b6108bc565b6040516103279190612736565b60405180910390f35b610338610968565b6040516103459190612751565b60405180910390f35b610368600480360381019061036391906121d3565b61098c565b005b610384600480360381019061037f9190612113565b610a17565b60405161039191906129c9565b60405180910390f35b6103b460048036038101906103af9190612140565b610a74565b6040516103c19190612736565b60405180910390f35b6103e460048036038101906103df9190612113565b610d38565b6040516103f191906129ae565b60405180910390f35b610402610d80565b005b61040c610ebd565b6040516104199190612700565b60405180910390f35b61043c60048036038101906104379190612240565b610ee7565b6040516104499190612736565b60405180910390f35b61045a610f52565b604051610467919061276c565b60405180910390f35b610478610fe4565b6040516104859190612751565b60405180910390f35b6104a860048036038101906104a391906121d3565b610feb565b6040516104b59190612736565b60405180910390f35b6104d860048036038101906104d391906121d3565b6110df565b6040516104e59190612736565b60405180910390f35b61050860048036038101906105039190612240565b6110fd565b005b610524600480360381019061051f9190612140565b611126565b60405161053191906129ae565b60405180910390f35b610554600480360381019061054f9190612113565b6111ad565b604051610561919061271b565b60405180910390f35b610584600480360381019061057f9190612113565b611399565b6040516105919190612700565b60405180910390f35b6105b460048036038101906105af9190612113565b611402565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106295750610628826115ae565b5b9050919050565b60606003805461063f90612c33565b80601f016020809104026020016040519081016040528092919081815260200182805461066b90612c33565b80156106b85780601f1061068d576101008083540402835291602001916106b8565b820191906000526020600020905b81548152906001019060200180831161069b57829003601f168201915b5050505050905090565b60006106d66106cf611618565b8484611620565b6001905092915050565b6000600254905090565b60006106f78484846117eb565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610742611618565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b99061282e565b60405180910390fd5b6107df856107ce611618565b85846107da9190612b03565b611620565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b610814826107eb565b61082581610820611618565b611a6a565b61082f8383611b07565b505050565b600090565b610841611618565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a59061296e565b60405180910390fd5b6108b88282611be8565b5050565b600061095e6108c9611618565b8484600160006108d7611618565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109599190612a53565b611620565b6001905092915050565b7f5d5c2d2522b7f6ec8d1c86f44956b9ecd4376b1842cd263d54a5368aa149486d81565b6109b67f5d5c2d2522b7f6ec8d1c86f44956b9ecd4376b1842cd263d54a5368aa149486d33610ee7565b806109ca57506109c96000801b33610ee7565b5b610a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a009061290e565b60405180910390fd5b610a138282611cca565b5050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff169050919050565b6000610aa07f5d5c2d2522b7f6ec8d1c86f44956b9ecd4376b1842cd263d54a5368aa149486d33610ee7565b80610ab45750610ab36000801b33610ee7565b5b610af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aea9061290e565b60405180910390fd5b61012c610aff83610d38565b1015610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b379061288e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16610b6184611399565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bae906128ce565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1d9061286e565b60405180910390fd5b81600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081819054906101000a900467ffffffffffffffff1680929190610d0790612c65565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550506001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d88611618565b73ffffffffffffffffffffffffffffffffffffffff16610da6610ebd565b73ffffffffffffffffffffffffffffffffffffffff1614610dfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df39061284e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610f6190612c33565b80601f0160208091040260200160405190810160405280929190818152602001828054610f8d90612c33565b8015610fda5780601f10610faf57610100808354040283529160200191610fda565b820191906000526020600020905b815481529060010190602001808311610fbd57829003601f168201915b5050505050905090565b6000801b81565b60008060016000610ffa611618565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156110b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ae9061294e565b60405180910390fd5b6110d46110c2611618565b8585846110cf9190612b03565b611620565b600191505092915050565b60006110f36110ec611618565b84846117eb565b6001905092915050565b611106826107eb565b61111781611112611618565b611a6a565b6111218383611be8565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111b561205f565b600073ffffffffffffffffffffffffffffffffffffffff166111d683611399565b73ffffffffffffffffffffffffffffffffffffffff16141561122d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112249061292e565b60405180910390fd5b61123561205f565b600061124084611399565b90506000805b600f8160ff16101561138c57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112935783945050505050611394565b61012c61129f84610d38565b1061135d5760078260ff16600381106112bb576112ba612d1e565b5b602091828204019190069054906101000a900460ff16848360ff16600381106112e7576112e6612d1e565b5b60200201516020019060ff16908160ff168152505082848360ff166003811061131357611312612d1e565b5b60200201516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818061135990612c96565b9250505b61136683611399565b925060028260ff1611156113795761138c565b808061138490612c96565b915050611246565b508293505050505b919050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61140a611618565b73ffffffffffffffffffffffffffffffffffffffff16611428610ebd565b73ffffffffffffffffffffffffffffffffffffffff161461147e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114759061284e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e5906127ce565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611690576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611687906128ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f7906127ee565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117de91906129ae565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561185b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611852906128ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c2906127ae565b60405180910390fd5b6118d6838383611e1e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561195c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119539061280e565b60405180910390fd5b81816119689190612b03565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119f89190612a53565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a5c91906129ae565b60405180910390a350505050565b611a748282610ee7565b611b0357611a998173ffffffffffffffffffffffffffffffffffffffff166014611e23565b611aa78360001c6020611e23565b604051602001611ab89291906126c6565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afa919061276c565b60405180910390fd5b5050565b611b118282610ee7565b611be45760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611b89611618565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611bf28282610ee7565b15611cc65760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611c6b611618565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d319061298e565b60405180910390fd5b611d4660008383611e1e565b8060026000828254611d589190612a53565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611dad9190612a53565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e1291906129ae565b60405180910390a35050565b505050565b606060006002836002611e369190612aa9565b611e409190612a53565b67ffffffffffffffff811115611e5957611e58612d4d565b5b6040519080825280601f01601f191660200182016040528015611e8b5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611ec357611ec2612d1e565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611f2757611f26612d1e565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611f679190612aa9565b611f719190612a53565b90505b6001811115612011577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611fb357611fb2612d1e565b5b1a60f81b828281518110611fca57611fc9612d1e565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061200a90612c09565b9050611f74565b5060008414612055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204c9061278e565b60405180910390fd5b8091505092915050565b60405180606001604052806003905b61207661208c565b81526020019060019003908161206e5790505090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff1681525090565b6000813590506120ce81613265565b92915050565b6000813590506120e38161327c565b92915050565b6000813590506120f881613293565b92915050565b60008135905061210d816132aa565b92915050565b60006020828403121561212957612128612d7c565b5b6000612137848285016120bf565b91505092915050565b6000806040838503121561215757612156612d7c565b5b6000612165858286016120bf565b9250506020612176858286016120bf565b9150509250929050565b60008060006060848603121561219957612198612d7c565b5b60006121a7868287016120bf565b93505060206121b8868287016120bf565b92505060406121c9868287016120fe565b9150509250925092565b600080604083850312156121ea576121e9612d7c565b5b60006121f8858286016120bf565b9250506020612209858286016120fe565b9150509250929050565b60006020828403121561222957612228612d7c565b5b6000612237848285016120d4565b91505092915050565b6000806040838503121561225757612256612d7c565b5b6000612265858286016120d4565b9250506020612276858286016120bf565b9150509250929050565b60006020828403121561229657612295612d7c565b5b60006122a4848285016120e9565b91505092915050565b60006122b9838361265b565b60408301905092915050565b6122ce81612b37565b82525050565b6122dd81612b37565b82525050565b6122ec81612a09565b6122f68184612a2c565b9250612301826129ff565b8060005b8381101561233257815161231987826122ad565b965061232483612a1f565b925050600181019050612305565b505050505050565b61234381612b49565b82525050565b61235281612b55565b82525050565b600061236382612a14565b61236d8185612a37565b935061237d818560208601612bd6565b61238681612d81565b840191505092915050565b600061239c82612a14565b6123a68185612a48565b93506123b6818560208601612bd6565b80840191505092915050565b60006123cf602083612a37565b91506123da82612d92565b602082019050919050565b60006123f2602383612a37565b91506123fd82612dbb565b604082019050919050565b6000612415602683612a37565b915061242082612e0a565b604082019050919050565b6000612438602283612a37565b915061244382612e59565b604082019050919050565b600061245b602683612a37565b915061246682612ea8565b604082019050919050565b600061247e602883612a37565b915061248982612ef7565b604082019050919050565b60006124a1602083612a37565b91506124ac82612f46565b602082019050919050565b60006124c4602a83612a37565b91506124cf82612f6f565b604082019050919050565b60006124e7603a83612a37565b91506124f282612fbe565b604082019050919050565b600061250a602583612a37565b91506125158261300d565b604082019050919050565b600061252d600f83612a37565b91506125388261305c565b602082019050919050565b6000612550602483612a37565b915061255b82613085565b604082019050919050565b6000612573602683612a37565b915061257e826130d4565b604082019050919050565b6000612596601783612a48565b91506125a182613123565b601782019050919050565b60006125b9600a83612a37565b91506125c48261314c565b602082019050919050565b60006125dc602583612a37565b91506125e782613175565b604082019050919050565b60006125ff601183612a48565b915061260a826131c4565b601182019050919050565b6000612622602f83612a37565b915061262d826131ed565b604082019050919050565b6000612645601f83612a37565b91506126508261323c565b602082019050919050565b60408201600082015161267160008501826122c5565b50602082015161268460208501826126a8565b50505050565b61269381612bab565b82525050565b6126a281612bb5565b82525050565b6126b181612bc9565b82525050565b6126c081612bc9565b82525050565b60006126d182612589565b91506126dd8285612391565b91506126e8826125f2565b91506126f48284612391565b91508190509392505050565b600060208201905061271560008301846122d4565b92915050565b600060c08201905061273060008301846122e3565b92915050565b600060208201905061274b600083018461233a565b92915050565b60006020820190506127666000830184612349565b92915050565b600060208201905081810360008301526127868184612358565b905092915050565b600060208201905081810360008301526127a7816123c2565b9050919050565b600060208201905081810360008301526127c7816123e5565b9050919050565b600060208201905081810360008301526127e781612408565b9050919050565b600060208201905081810360008301526128078161242b565b9050919050565b600060208201905081810360008301526128278161244e565b9050919050565b6000602082019050818103600083015261284781612471565b9050919050565b6000602082019050818103600083015261286781612494565b9050919050565b60006020820190508181036000830152612887816124b7565b9050919050565b600060208201905081810360008301526128a7816124da565b9050919050565b600060208201905081810360008301526128c7816124fd565b9050919050565b600060208201905081810360008301526128e781612520565b9050919050565b6000602082019050818103600083015261290781612543565b9050919050565b6000602082019050818103600083015261292781612566565b9050919050565b60006020820190508181036000830152612947816125ac565b9050919050565b60006020820190508181036000830152612967816125cf565b9050919050565b6000602082019050818103600083015261298781612615565b9050919050565b600060208201905081810360008301526129a781612638565b9050919050565b60006020820190506129c3600083018461268a565b92915050565b60006020820190506129de6000830184612699565b92915050565b60006020820190506129f960008301846126b7565b92915050565b6000819050919050565b600060039050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000612a5e82612bab565b9150612a6983612bab565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a9e57612a9d612cc0565b5b828201905092915050565b6000612ab482612bab565b9150612abf83612bab565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612af857612af7612cc0565b5b828202905092915050565b6000612b0e82612bab565b9150612b1983612bab565b925082821015612b2c57612b2b612cc0565b5b828203905092915050565b6000612b4282612b8b565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b60005b83811015612bf4578082015181840152602081019050612bd9565b83811115612c03576000848401525b50505050565b6000612c1482612bab565b91506000821415612c2857612c27612cc0565b5b600182039050919050565b60006002820490506001821680612c4b57607f821691505b60208210811415612c5f57612c5e612cef565b5b50919050565b6000612c7082612bb5565b915067ffffffffffffffff821415612c8b57612c8a612cc0565b5b600182019050919050565b6000612ca182612bc9565b915060ff821415612cb557612cb4612cc0565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5245463a20496e76697465722063616e2774206265207468652073616d65206160008201527f7320726566657272616c00000000000000000000000000000000000000000000602082015250565b7f42616c616e6365206f6620796f757220696e7669746572206973206c6573732060008201527f7468616e20646566696e6564206d696e696d616c2076616c7565000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f416c726561647920696e76697465640000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c792073656e6465727320776974682070726976696c656765732070657260008201527f6d69747465640000000000000000000000000000000000000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f4e6f20696e766974657200000000000000000000000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b61326e81612b37565b811461327957600080fd5b50565b61328581612b55565b811461329057600080fd5b50565b61329c81612b5f565b81146132a757600080fd5b50565b6132b381612bab565b81146132be57600080fd5b5056fea2646970667358221220c67f5492059badfe6d6193a4c310bbe1093c72fb6044ff804bcf8a309ae058d664736f6c63430008060033