0x61016060405234801562000011575f80fd5b506040518060400160405280600d81526020017f466172746f76614d6f6e65746100000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600d81526020017f466172746f76614d6f6e657461000000000000000000000000000000000000008152506040518060400160405280600381526020017f46544d00000000000000000000000000000000000000000000000000000000008152508160039081620000fc919062001309565b5080600490816200010e919062001309565b50505062000131620001256200022560201b60201c565b6200022c60201b60201c565b62000147600a83620002ef60201b90919060201c565b610120818152505062000165600b82620002ef60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001a46200034460201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200021f33620001f7620003a060201b60201c565b600a62000205919062001576565b6028620002139190620015c6565b620003a860201b60201c565b62001bc8565b5f33905090565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60208351101562000314576200030c83620003be60201b60201c565b90506200033e565b8262000326836200042860201b60201c565b5f01908162000336919062001309565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620003859594939291906200167e565b60405160208183030381529060405280519060200120905090565b5f6012905090565b620003ba82826200043160201b60201c565b5050565b5f80829050601f815111156200040d57826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040162000404919062001763565b60405180910390fd5b8051816200041b90620017b4565b5f1c175f1b915050919050565b5f819050919050565b620004438282620004ea60201b60201c565b620004536200064f60201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620004816200067260201b60201c565b1115620004c5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004bc9062001897565b60405180910390fd5b620004e460106200067b60201b620016d417836200069260201b60201c565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200055b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005529062001905565b60405180910390fd5b6200056e5f83836200099660201b60201c565b8060025f82825462000581919062001925565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200063091906200195f565b60405180910390a36200064b5f8383620009ae60201b60201c565b5050565b5f7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b5f600254905090565b5f81836200068a919062001925565b905092915050565b5f805f858054905090505f8082146200075c57620006ba8760018403620009c660201b60201c565b6040518060400160405290815f82015f9054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020015f820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505062000796565b60405180604001604052805f63ffffffff1681526020015f7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169350620007c984868860201c565b92505f82118015620007fa5750620007e6620009d860201b60201c565b65ffffffffffff16815f015163ffffffff16145b156200087c576200081183620009ef60201b60201c565b620008268860018503620009c660201b60201c565b5f0160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506200098c565b866040518060400160405280620008b06200089c620009d860201b60201c565b65ffffffffffff1662000a5c60201b60201c565b63ffffffff168152602001620008cc86620009ef60201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548163ffffffff021916908363ffffffff1602179055506020820151815f0160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b620009a983838362000ab160201b60201c565b505050565b620009c183838362000ba360201b60201c565b505050565b5f825f528160205f2001905092915050565b5f620009ea4362000bee60201b60201c565b905090565b5f7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000a54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a4b90620019ee565b60405180910390fd5b819050919050565b5f63ffffffff801682111562000aa9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aa09062001a82565b60405180910390fd5b819050919050565b62000ac483838362000c4560201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000b1f5762000b098262000c4a60201b60201c565b62000b1962000cab60201b60201c565b62000b9e565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000b7a5762000b648362000c4a60201b60201c565b62000b7462000cab60201b60201c565b62000b9d565b62000b8b8362000c4a60201b60201c565b62000b9c8262000c4a60201b60201c565b5b5b505050565b62000bb683838362000ccf60201b60201c565b62000be962000bcb8462000cd460201b60201c565b62000bdc8462000cd460201b60201c565b8362000d3960201b60201c565b505050565b5f65ffffffffffff801682111562000c3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c349062001b16565b60405180910390fd5b819050919050565b505050565b62000ca860055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2062000c9c8362000f5360201b60201c565b62000f9860201b60201c565b50565b62000ccd600662000cc16200067260201b60201c565b62000f9860201b60201c565b565b505050565b5f600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000d7557505f81115b1562000f4e575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000e64575f8062000e0b600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206200101b60201b620016e917856200069260201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000e5992919062001b36565b60405180910390a250505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000f4d575f8062000ef4600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206200067b60201b620016d417856200069260201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000f4292919062001b36565b60405180910390a250505b5b505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f62000fa96200103260201b60201c565b90508062000fbf845f016200104a60201b60201c565b10156200101657825f0181908060018154018082558091505060019003905f5260205f20015f90919091909150558260010182908060018154018082558091505060019003905f5260205f20015f90919091909150555b505050565b5f81836200102a919062001b61565b905092915050565b5f6200104560086200109960201b60201c565b905090565b5f8082805490500362001060575f905062001094565b816001838054905062001074919062001b61565b8154811062001088576200108762001b9b565b5b905f5260205f20015490505b919050565b5f815f01549050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200112157607f821691505b602082108103620011375762001136620010dc565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200119b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200115e565b620011a786836200115e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620011f1620011eb620011e584620011bf565b620011c8565b620011bf565b9050919050565b5f819050919050565b6200120c83620011d1565b620012246200121b82620011f8565b8484546200116a565b825550505050565b5f90565b6200123a6200122c565b6200124781848462001201565b505050565b5b818110156200126e57620012625f8262001230565b6001810190506200124d565b5050565b601f821115620012bd5762001287816200113d565b62001292846200114f565b81016020851015620012a2578190505b620012ba620012b1856200114f565b8301826200124c565b50505b505050565b5f82821c905092915050565b5f620012df5f1984600802620012c2565b1980831691505092915050565b5f620012f98383620012ce565b9150826002028217905092915050565b6200131482620010a5565b67ffffffffffffffff81111562001330576200132f620010af565b5b6200133c825462001109565b6200134982828562001272565b5f60209050601f8311600181146200137f575f84156200136a578287015190505b620013768582620012ec565b865550620013e5565b601f1984166200138f866200113d565b5f5b82811015620013b85784890151825560018201915060208501945060208101905062001391565b86831015620013d85784890151620013d4601f891682620012ce565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562001477578086048111156200144f576200144e620013ed565b5b60018516156200145f5780820291505b80810290506200146f856200141a565b94506200142f565b94509492505050565b5f8262001491576001905062001563565b81620014a0575f905062001563565b8160018114620014b95760028114620014c457620014fa565b600191505062001563565b60ff841115620014d957620014d8620013ed565b5b8360020a915084821115620014f357620014f2620013ed565b5b5062001563565b5060208310610133831016604e8410600b8410161715620015345782820a9050838111156200152e576200152d620013ed565b5b62001563565b62001543848484600162001426565b925090508184048111156200155d576200155c620013ed565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200158282620011bf565b91506200158f836200156a565b9250620015be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001480565b905092915050565b5f620015d282620011bf565b9150620015df83620011bf565b9250828202620015ef81620011bf565b91508282048414831517620016095762001608620013ed565b5b5092915050565b5f819050919050565b620016248162001610565b82525050565b6200163581620011bf565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62001666826200163b565b9050919050565b62001678816200165a565b82525050565b5f60a082019050620016935f83018862001619565b620016a2602083018762001619565b620016b1604083018662001619565b620016c060608301856200162a565b620016cf60808301846200166d565b9695505050505050565b5f82825260208201905092915050565b5f5b8381101562001708578082015181840152602081019050620016eb565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6200172f82620010a5565b6200173b8185620016d9565b93506200174d818560208601620016e9565b620017588162001713565b840191505092915050565b5f6020820190508181035f8301526200177d818462001723565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f620017ab825162001610565b80915050919050565b5f620017c08262001785565b82620017cc846200178f565b9050620017d9816200179e565b925060208210156200181c57620018177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026200115e565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f5f8201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b5f6200187f603083620016d9565b91506200188c8262001823565b604082019050919050565b5f6020820190508181035f830152620018b08162001871565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f620018ed601f83620016d9565b9150620018fa82620018b7565b602082019050919050565b5f6020820190508181035f8301526200191e81620018df565b9050919050565b5f6200193182620011bf565b91506200193e83620011bf565b9250828201905080821115620019595762001958620013ed565b5b92915050565b5f602082019050620019745f8301846200162a565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20325f8201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b5f620019d6602783620016d9565b9150620019e3826200197a565b604082019050919050565b5f6020820190508181035f83015262001a0781620019c8565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20335f8201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b5f62001a6a602683620016d9565b915062001a778262001a0e565b604082019050919050565b5f6020820190508181035f83015262001a9b8162001a5c565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20345f8201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b5f62001afe602683620016d9565b915062001b0b8262001aa2565b604082019050919050565b5f6020820190508181035f83015262001b2f8162001af0565b9050919050565b5f60408201905062001b4b5f8301856200162a565b62001b5a60208301846200162a565b9392505050565b5f62001b6d82620011bf565b915062001b7a83620011bf565b925082820390508181111562001b955762001b94620013ed565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b60805160a05160c05160e05161010051610120516101405161515362001c1a5f395f610e4901525f610e1501525f6123d101525f6123b001525f611bc201525f611c1801525f611c4101526151535ff3fe608060405234801561000f575f80fd5b506004361061020f575f3560e01c8063715018a6116101235780639ab24eb0116100ab578063d505accf1161007a578063d505accf1461068f578063d9d98ce4146106ab578063dd62ed3e146106db578063f1127ed81461070b578063f2fde38b1461073b5761020f565b80639ab24eb0146105e3578063a457c2d714610613578063a9059cbb14610643578063c3cda520146106735761020f565b80638e539e8c116100f25780638e539e8c1461053d57806391ddadf41461056d57806395d89b411461058b5780639711715a146105a9578063981b24d0146105b35761020f565b8063715018a6146104c15780637ecebe00146104cb57806384b0196e146104fb5780638da5cb5b1461051f5761020f565b806340c10f19116101a65780635c19a95c116101755780635c19a95c146103e55780635cffe9de14610401578063613255ab146104315780636fcfff451461046157806370a08231146104915761020f565b806340c10f191461034b5780634bf5d7e9146103675780634ee2cd7e14610385578063587cde1e146103b55761020f565b8063313ce567116101e2578063313ce567146102af5780633644e515146102cd57806339509351146102eb5780633a46b1a81461031b5761020f565b806306fdde0314610213578063095ea7b31461023157806318160ddd1461026157806323b872dd1461027f575b5f80fd5b61021b610757565b604051610228919061364a565b60405180910390f35b61024b600480360381019061024691906136ff565b6107e7565b6040516102589190613757565b60405180910390f35b610269610809565b604051610276919061377f565b60405180910390f35b61029960048036038101906102949190613798565b610812565b6040516102a69190613757565b60405180910390f35b6102b7610840565b6040516102c49190613803565b60405180910390f35b6102d5610848565b6040516102e29190613834565b60405180910390f35b610305600480360381019061030091906136ff565b610856565b6040516103129190613757565b60405180910390f35b610335600480360381019061033091906136ff565b61088c565b604051610342919061377f565b60405180910390f35b610365600480360381019061036091906136ff565b61092c565b005b61036f610942565b60405161037c919061364a565b60405180910390f35b61039f600480360381019061039a91906136ff565b6109d0565b6040516103ac919061377f565b60405180910390f35b6103cf60048036038101906103ca919061384d565b610a3c565b6040516103dc9190613887565b60405180910390f35b6103ff60048036038101906103fa919061384d565b610aa1565b005b61041b6004803603810190610416919061393c565b610ab5565b6040516104289190613757565b60405180910390f35b61044b6004803603810190610446919061384d565b610c9a565b604051610458919061377f565b60405180910390f35b61047b6004803603810190610476919061384d565b610d0f565b60405161048891906139de565b60405180910390f35b6104ab60048036038101906104a6919061384d565b610d60565b6040516104b8919061377f565b60405180910390f35b6104c9610da5565b005b6104e560048036038101906104e0919061384d565b610db8565b6040516104f2919061377f565b60405180910390f35b610503610e05565b6040516105169796959493929190613ae8565b60405180910390f35b610527610f02565b6040516105349190613887565b60405180910390f35b61055760048036038101906105529190613b6a565b610f2a565b604051610564919061377f565b60405180910390f35b610575610f8e565b6040516105829190613bb5565b60405180910390f35b610593610f9d565b6040516105a0919061364a565b60405180910390f35b6105b161102d565b005b6105cd60048036038101906105c89190613b6a565b611040565b6040516105da919061377f565b60405180910390f35b6105fd60048036038101906105f8919061384d565b61106f565b60405161060a919061377f565b60405180910390f35b61062d600480360381019061062891906136ff565b61116d565b60405161063a9190613757565b60405180910390f35b61065d600480360381019061065891906136ff565b6111e2565b60405161066a9190613757565b60405180910390f35b61068d60048036038101906106889190613c22565b611204565b005b6106a960048036038101906106a49190613cab565b611307565b005b6106c560048036038101906106c091906136ff565b611446565b6040516106d2919061377f565b60405180910390f35b6106f560048036038101906106f09190613d48565b6114c7565b604051610702919061377f565b60405180910390f35b61072560048036038101906107209190613db0565b611549565b6040516107329190613e60565b60405180910390f35b6107556004803603810190610750919061384d565b611652565b005b60606003805461076690613ea6565b80601f016020809104026020016040519081016040528092919081815260200182805461079290613ea6565b80156107dd5780601f106107b4576101008083540402835291602001916107dd565b820191905f5260205f20905b8154815290600101906020018083116107c057829003601f168201915b5050505050905090565b5f806107f16116fe565b90506107fe818585611705565b600191505092915050565b5f600254905090565b5f8061081c6116fe565b90506108298582856118c8565b610834858585611953565b60019150509392505050565b5f6012905090565b5f610851611bbf565b905090565b5f806108606116fe565b905061088181858561087285896114c7565b61087c9190613f03565b611705565b600191505092915050565b5f610895610f8e565b65ffffffffffff1682106108de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d590613f80565b60405180910390fd5b610924600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2083611c75565b905092915050565b610934611db2565b61093e8282611e30565b5050565b60604361094d610f8e565b65ffffffffffff1614610995576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098c90613fe8565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b5f805f610a198460055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611e3e565b9150915081610a3057610a2b85610d60565b610a32565b805b9250505092915050565b5f600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610ab2610aac6116fe565b82611f2b565b50565b5f610abf85610c9a565b841115610b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af890614076565b60405180910390fd5b5f610b0c8686611446565b9050610b188786611e30565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b8152600401610b7c969594939291906140de565b6020604051808303815f875af1158015610b98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbc919061414c565b14610bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf3906141e7565b60405180910390fd5b5f610c05612040565b9050610c1d88308489610c189190613f03565b6118c8565b5f821480610c5657505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610c7557610c70888388610c6b9190613f03565b612044565b610c8b565b610c7f8887612044565b610c8a888284611953565b5b60019250505095945050505050565b5f3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610cd4575f610d08565b610cdc610809565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d079190614205565b5b9050919050565b5f610d59600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050612052565b9050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610dad611db2565b610db65f6120a4565b565b5f610dfe600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20612167565b9050919050565b5f6060805f805f6060610e42600a7f000000000000000000000000000000000000000000000000000000000000000061217390919063ffffffff16565b610e76600b7f000000000000000000000000000000000000000000000000000000000000000061217390919063ffffffff16565b46305f801b5f67ffffffffffffffff811115610e9557610e94614238565b5b604051908082528060200260200182016040528015610ec35781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f610f33610f8e565b65ffffffffffff168210610f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7390613f80565b60405180910390fd5b610f87601083611c75565b9050919050565b5f610f9843612220565b905090565b606060048054610fac90613ea6565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd890613ea6565b80156110235780601f10610ffa57610100808354040283529160200191611023565b820191905f5260205f20905b81548152906001019060200180831161100657829003601f168201915b5050505050905090565b611035611db2565b61103d612274565b50565b5f805f61104e846006611e3e565b91509150816110645761105f610809565b611066565b805b92505050919050565b5f80600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905090505f811461114557600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600182038154811061110d5761110c614265565b5b905f5260205f20015f0160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611147565b5f5b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b5f806111776116fe565b90505f61118482866114c7565b9050838110156111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c090614302565b60405180910390fd5b6111d68286868403611705565b60019250505092915050565b5f806111ec6116fe565b90506111f9818585611953565b600191505092915050565b83421115611247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123e9061436a565b60405180910390fd5b5f6112a86112a07fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016112859493929190614388565b604051602081830303815290604052805190602001206122c8565b8585856122e1565b90506112b38161230a565b86146112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112eb90614415565b60405180910390fd5b6112fe8188611f2b565b50505050505050565b8342111561134a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113419061447d565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886113788c61230a565b8960405160200161138e9695949392919061449b565b6040516020818303038152906040528051906020012090505f6113b0826122c8565b90505f6113bf828787876122e1565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461142f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142690614544565b60405180910390fd5b61143a8a8a8a611705565b50505050505050505050565b5f3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac906145ac565b60405180910390fd5b6114bf8383612365565b905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611551613584565b600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208263ffffffff16815481106115a6576115a5614265565b5b905f5260205f20016040518060400160405290815f82015f9054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020015f820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61165a611db2565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bf9061463a565b60405180910390fd5b6116d1816120a4565b50565b5f81836116e19190613f03565b905092915050565b5f81836116f69190614205565b905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176a906146c8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d890614756565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118bb919061377f565b60405180910390a3505050565b5f6118d384846114c7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461194d578181101561193f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611936906147be565b60405180910390fd5b61194c8484848403611705565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b89061484c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a26906148da565b60405180910390fd5b611a3a83838361236c565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab490614968565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ba6919061377f565b60405180910390a3611bb984848461237c565b50505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611c3a57507f000000000000000000000000000000000000000000000000000000000000000046145b15611c67577f00000000000000000000000000000000000000000000000000000000000000009050611c72565b611c6f61238c565b90505b90565b5f80838054905090505f808290506005831115611ce6575f611c9684612421565b84611ca19190614205565b905085611cae8883612517565b5f015f9054906101000a900463ffffffff1663ffffffff161115611cd457809150611ce4565b600181611ce19190613f03565b92505b505b5b80821015611d43575f611cfa8383612529565b905085611d078883612517565b5f015f9054906101000a900463ffffffff1663ffffffff161115611d2d57809150611d3d565b600181611d3a9190613f03565b92505b50611ce7565b5f8114611d8757611d578660018303612517565b5f0160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611d89565b5f5b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611dba6116fe565b73ffffffffffffffffffffffffffffffffffffffff16611dd8610f02565b73ffffffffffffffffffffffffffffffffffffffff1614611e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e25906149d0565b60405180910390fd5b565b611e3a828261254e565b5050565b5f805f8411611e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7990614a38565b60405180910390fd5b611e8a6125db565b841115611ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec390614aa0565b60405180910390fd5b5f611ee285855f016125eb90919063ffffffff16565b9050835f01805490508103611efd575f809250925050611f24565b6001846001018281548110611f1557611f14614265565b5b905f5260205f20015492509250505b9250929050565b5f611f3583610a3c565b90505f611f4184610d60565b905082600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461203a82848361269d565b50505050565b5f90565b61204e828261288d565b5050565b5f63ffffffff801682111561209c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209390614b2e565b60405180910390fd5b819050919050565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f815f01549050919050565b606060ff5f1b831461218f57612188836128ab565b905061221a565b81805461219b90613ea6565b80601f01602080910402602001604051908101604052809291908181526020018280546121c790613ea6565b80156122125780601f106121e957610100808354040283529160200191612212565b820191905f5260205f20905b8154815290600101906020018083116121f557829003601f168201915b505050505090505b92915050565b5f65ffffffffffff801682111561226c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226390614bbc565b60405180910390fd5b819050919050565b5f61227f600861291d565b5f6122886125db565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040516122b9919061377f565b60405180910390a18091505090565b5f6122da6122d4611bbf565b83612931565b9050919050565b5f805f6122f087878787612971565b915091506122fd81612a49565b8192505050949350505050565b5f80600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20905061235481612167565b915061235f8161291d565b50919050565b5f92915050565b612377838383612bae565b505050565b612387838383612c64565b505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612406959493929190614bda565b60405160208183030381529060405280519060200120905090565b5f808203612431575f9050612512565b5f600161243d84612c8f565b901c6001901b9050600181848161245757612456614c2b565b5b048201901c905060018184816124705761246f614c2b565b5b048201901c9050600181848161248957612488614c2b565b5b048201901c905060018184816124a2576124a1614c2b565b5b048201901c905060018184816124bb576124ba614c2b565b5b048201901c905060018184816124d4576124d3614c2b565b5b048201901c905060018184816124ed576124ec614c2b565b5b048201901c905061250e8182858161250857612507614c2b565b5b04612d66565b9150505b919050565b5f825f528160205f2001905092915050565b5f60028284186125399190614c58565b8284166125469190613f03565b905092915050565b6125588282612d7e565b612560612ecc565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16612586610809565b11156125c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125be90614cf8565b60405180910390fd5b6125d560106116d483612eef565b50505050565b5f6125e66008612167565b905090565b5f808380549050036125ff575f9050612697565b5f80848054905090505b80821015612650575f61261c8383612529565b90508461262987836131b8565b5f0154111561263a5780915061264a565b6001816126479190613f03565b92505b50612609565b5f821180156126765750836126718660018561266c9190614205565b6131b8565b5f0154145b15612691576001826126889190614205565b92505050612697565b81925050505b92915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156126d857505f81115b15612888575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146127b2575f8061275b600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206116e985612eef565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516127a7929190614d16565b60405180910390a250505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612887575f80612830600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206116d485612eef565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161287c929190614d16565b60405180910390a250505b5b505050565b61289782826131d7565b6128a560106116e983612eef565b50505050565b60605f6128b78361339a565b90505f602067ffffffffffffffff8111156128d5576128d4614238565b5b6040519080825280601f01601f1916602001820160405280156129075781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001815f015f828254019250508190555050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0835f1c11156129a9575f600391509150612a40565b5f6001878787876040515f81526020016040526040516129cc9493929190614d3d565b6020604051602081039080840390855afa1580156129ec573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612a38575f60019250925050612a40565b805f92509250505b94509492505050565b5f6004811115612a5c57612a5b614d80565b5b816004811115612a6f57612a6e614d80565b5b0315612bab5760016004811115612a8957612a88614d80565b5b816004811115612a9c57612a9b614d80565b5b03612adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ad390614df7565b60405180910390fd5b60026004811115612af057612aef614d80565b5b816004811115612b0357612b02614d80565b5b03612b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3a90614e5f565b60405180910390fd5b60036004811115612b5757612b56614d80565b5b816004811115612b6a57612b69614d80565b5b03612baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba190614eed565b60405180910390fd5b5b50565b612bb98383836133e8565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c0257612bf5826133ed565b612bfd61343e565b612c5f565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c4b57612c3e836133ed565b612c4661343e565b612c5e565b612c54836133ed565b612c5d826133ed565b5b5b505050565b612c6f838383613452565b612c8a612c7b84610a3c565b612c8484610a3c565b8361269d565b505050565b5f805f90505f608084901c1115612cae57608083901c92506080810190505b5f604084901c1115612cc857604083901c92506040810190505b5f602084901c1115612ce257602083901c92506020810190505b5f601084901c1115612cfc57601083901c92506010810190505b5f600884901c1115612d1657600883901c92506008810190505b5f600484901c1115612d3057600483901c92506004810190505b5f600284901c1115612d4a57600283901c92506002810190505b5f600184901c1115612d5d576001810190505b80915050919050565b5f818310612d745781612d76565b825b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612dec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612de390614f55565b60405180910390fd5b612df75f838361236c565b8060025f828254612e089190613f03565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612eb5919061377f565b60405180910390a3612ec85f838361237c565b5050565b5f7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b5f805f858054905090505f808214612faf57612f0e8760018403612517565b6040518060400160405290815f82015f9054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020015f820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612fe9565b60405180604001604052805f63ffffffff1681526020015f7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061301e84868863ffffffff16565b92505f821180156130465750613032610f8e565b65ffffffffffff16815f015163ffffffff16145b156130b65761305483613457565b6130618860018503612517565b5f0160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506131ae565b8660405180604001604052806130da6130cd610f8e565b65ffffffffffff16612052565b63ffffffff1681526020016130ee86613457565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548163ffffffff021916908363ffffffff1602179055506020820151815f0160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b5f80835f528260205f200190506131ce816134c1565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161323c90614fe3565b60405180910390fd5b613250825f8361236c565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156132d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132ca90615071565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613382919061377f565b60405180910390a3613395835f8461237c565b505050565b5f8060ff835f1c169050601f8111156133df576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b505050565b61343b60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061343683610d60565b6134ca565b50565b613450600661344b610809565b6134ca565b565b505050565b5f7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156134b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134b0906150ff565b60405180910390fd5b819050919050565b5f819050919050565b5f6134d36125db565b9050806134e1845f0161353c565b101561353757825f0181908060018154018082558091505060019003905f5260205f20015f90919091909150558260010182908060018154018082558091505060019003905f5260205f20015f90919091909150555b505050565b5f80828054905003613550575f905061357f565b81600183805490506135629190614205565b8154811061357357613572614265565b5b905f5260205f20015490505b919050565b60405180604001604052805f63ffffffff1681526020015f7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156135f75780820151818401526020810190506135dc565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61361c826135c0565b61362681856135ca565b93506136368185602086016135da565b61363f81613602565b840191505092915050565b5f6020820190508181035f8301526136628184613612565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61369b82613672565b9050919050565b6136ab81613691565b81146136b5575f80fd5b50565b5f813590506136c6816136a2565b92915050565b5f819050919050565b6136de816136cc565b81146136e8575f80fd5b50565b5f813590506136f9816136d5565b92915050565b5f80604083850312156137155761371461366a565b5b5f613722858286016136b8565b9250506020613733858286016136eb565b9150509250929050565b5f8115159050919050565b6137518161373d565b82525050565b5f60208201905061376a5f830184613748565b92915050565b613779816136cc565b82525050565b5f6020820190506137925f830184613770565b92915050565b5f805f606084860312156137af576137ae61366a565b5b5f6137bc868287016136b8565b93505060206137cd868287016136b8565b92505060406137de868287016136eb565b9150509250925092565b5f60ff82169050919050565b6137fd816137e8565b82525050565b5f6020820190506138165f8301846137f4565b92915050565b5f819050919050565b61382e8161381c565b82525050565b5f6020820190506138475f830184613825565b92915050565b5f602082840312156138625761386161366a565b5b5f61386f848285016136b8565b91505092915050565b61388181613691565b82525050565b5f60208201905061389a5f830184613878565b92915050565b5f6138aa82613691565b9050919050565b6138ba816138a0565b81146138c4575f80fd5b50565b5f813590506138d5816138b1565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126138fc576138fb6138db565b5b8235905067ffffffffffffffff811115613919576139186138df565b5b602083019150836001820283011115613935576139346138e3565b5b9250929050565b5f805f805f608086880312156139555761395461366a565b5b5f613962888289016138c7565b9550506020613973888289016136b8565b9450506040613984888289016136eb565b935050606086013567ffffffffffffffff8111156139a5576139a461366e565b5b6139b1888289016138e7565b92509250509295509295909350565b5f63ffffffff82169050919050565b6139d8816139c0565b82525050565b5f6020820190506139f15f8301846139cf565b92915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613a2b816139f7565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613a63816136cc565b82525050565b5f613a748383613a5a565b60208301905092915050565b5f602082019050919050565b5f613a9682613a31565b613aa08185613a3b565b9350613aab83613a4b565b805f5b83811015613adb578151613ac28882613a69565b9750613acd83613a80565b925050600181019050613aae565b5085935050505092915050565b5f60e082019050613afb5f83018a613a22565b8181036020830152613b0d8189613612565b90508181036040830152613b218188613612565b9050613b306060830187613770565b613b3d6080830186613878565b613b4a60a0830185613825565b81810360c0830152613b5c8184613a8c565b905098975050505050505050565b5f60208284031215613b7f57613b7e61366a565b5b5f613b8c848285016136eb565b91505092915050565b5f65ffffffffffff82169050919050565b613baf81613b95565b82525050565b5f602082019050613bc85f830184613ba6565b92915050565b613bd7816137e8565b8114613be1575f80fd5b50565b5f81359050613bf281613bce565b92915050565b613c018161381c565b8114613c0b575f80fd5b50565b5f81359050613c1c81613bf8565b92915050565b5f805f805f8060c08789031215613c3c57613c3b61366a565b5b5f613c4989828a016136b8565b9650506020613c5a89828a016136eb565b9550506040613c6b89828a016136eb565b9450506060613c7c89828a01613be4565b9350506080613c8d89828a01613c0e565b92505060a0613c9e89828a01613c0e565b9150509295509295509295565b5f805f805f805f60e0888a031215613cc657613cc561366a565b5b5f613cd38a828b016136b8565b9750506020613ce48a828b016136b8565b9650506040613cf58a828b016136eb565b9550506060613d068a828b016136eb565b9450506080613d178a828b01613be4565b93505060a0613d288a828b01613c0e565b92505060c0613d398a828b01613c0e565b91505092959891949750929550565b5f8060408385031215613d5e57613d5d61366a565b5b5f613d6b858286016136b8565b9250506020613d7c858286016136b8565b9150509250929050565b613d8f816139c0565b8114613d99575f80fd5b50565b5f81359050613daa81613d86565b92915050565b5f8060408385031215613dc657613dc561366a565b5b5f613dd3858286016136b8565b9250506020613de485828601613d9c565b9150509250929050565b613df7816139c0565b82525050565b5f7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613e2d81613dfd565b82525050565b604082015f820151613e475f850182613dee565b506020820151613e5a6020850182613e24565b50505050565b5f604082019050613e735f830184613e33565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613ebd57607f821691505b602082108103613ed057613ecf613e79565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613f0d826136cc565b9150613f18836136cc565b9250828201905080821115613f3057613f2f613ed6565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b7570000000000000005f82015250565b5f613f6a6019836135ca565b9150613f7582613f36565b602082019050919050565b5f6020820190508181035f830152613f9781613f5e565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f64650000005f82015250565b5f613fd2601d836135ca565b9150613fdd82613f9e565b602082019050919050565b5f6020820190508181035f830152613fff81613fc6565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d5f8201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b5f614060602b836135ca565b915061406b82614006565b604082019050919050565b5f6020820190508181035f83015261408d81614054565b9050919050565b5f82825260208201905092915050565b828183375f83830152505050565b5f6140bd8385614094565b93506140ca8385846140a4565b6140d383613602565b840190509392505050565b5f60a0820190506140f15f830189613878565b6140fe6020830188613878565b61410b6040830187613770565b6141186060830186613770565b818103608083015261412b8184866140b2565b9050979650505050505050565b5f8151905061414681613bf8565b92915050565b5f602082840312156141615761416061366a565b5b5f61416e84828501614138565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e20765f8201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b5f6141d16024836135ca565b91506141dc82614177565b604082019050919050565b5f6020820190508181035f8301526141fe816141c5565b9050919050565b5f61420f826136cc565b915061421a836136cc565b925082820390508181111561423257614231613ed6565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6142ec6025836135ca565b91506142f782614292565b604082019050919050565b5f6020820190508181035f830152614319816142e0565b9050919050565b7f4552433230566f7465733a207369676e617475726520657870697265640000005f82015250565b5f614354601d836135ca565b915061435f82614320565b602082019050919050565b5f6020820190508181035f83015261438181614348565b9050919050565b5f60808201905061439b5f830187613825565b6143a86020830186613878565b6143b56040830185613770565b6143c26060830184613770565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e6365000000000000005f82015250565b5f6143ff6019836135ca565b915061440a826143cb565b602082019050919050565b5f6020820190508181035f83015261442c816143f3565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e650000005f82015250565b5f614467601d836135ca565b915061447282614433565b602082019050919050565b5f6020820190508181035f8301526144948161445b565b9050919050565b5f60c0820190506144ae5f830189613825565b6144bb6020830188613878565b6144c86040830187613878565b6144d56060830186613770565b6144e26080830185613770565b6144ef60a0830184613770565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e617475726500005f82015250565b5f61452e601e836135ca565b9150614539826144fa565b602082019050919050565b5f6020820190508181035f83015261455b81614522565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e00000000005f82015250565b5f614596601b836135ca565b91506145a182614562565b602082019050919050565b5f6020820190508181035f8301526145c38161458a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6146246026836135ca565b915061462f826145ca565b604082019050919050565b5f6020820190508181035f83015261465181614618565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6146b26024836135ca565b91506146bd82614658565b604082019050919050565b5f6020820190508181035f8301526146df816146a6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6147406022836135ca565b915061474b826146e6565b604082019050919050565b5f6020820190508181035f83015261476d81614734565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6147a8601d836135ca565b91506147b382614774565b602082019050919050565b5f6020820190508181035f8301526147d58161479c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6148366025836135ca565b9150614841826147dc565b604082019050919050565b5f6020820190508181035f8301526148638161482a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6148c46023836135ca565b91506148cf8261486a565b604082019050919050565b5f6020820190508181035f8301526148f1816148b8565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6149526026836135ca565b915061495d826148f8565b604082019050919050565b5f6020820190508181035f83015261497f81614946565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6149ba6020836135ca565b91506149c582614986565b602082019050919050565b5f6020820190508181035f8301526149e7816149ae565b9050919050565b7f4552433230536e617073686f743a2069642069732030000000000000000000005f82015250565b5f614a226016836135ca565b9150614a2d826149ee565b602082019050919050565b5f6020820190508181035f830152614a4f81614a16565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e742069640000005f82015250565b5f614a8a601d836135ca565b9150614a9582614a56565b602082019050919050565b5f6020820190508181035f830152614ab781614a7e565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20335f8201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b5f614b186026836135ca565b9150614b2382614abe565b604082019050919050565b5f6020820190508181035f830152614b4581614b0c565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20345f8201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b5f614ba66026836135ca565b9150614bb182614b4c565b604082019050919050565b5f6020820190508181035f830152614bd381614b9a565b9050919050565b5f60a082019050614bed5f830188613825565b614bfa6020830187613825565b614c076040830186613825565b614c146060830185613770565b614c216080830184613878565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614c62826136cc565b9150614c6d836136cc565b925082614c7d57614c7c614c2b565b5b828204905092915050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f5f8201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b5f614ce26030836135ca565b9150614ced82614c88565b604082019050919050565b5f6020820190508181035f830152614d0f81614cd6565b9050919050565b5f604082019050614d295f830185613770565b614d366020830184613770565b9392505050565b5f608082019050614d505f830187613825565b614d5d60208301866137f4565b614d6a6040830185613825565b614d776060830184613825565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f45434453413a20696e76616c6964207369676e617475726500000000000000005f82015250565b5f614de16018836135ca565b9150614dec82614dad565b602082019050919050565b5f6020820190508181035f830152614e0e81614dd5565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e677468005f82015250565b5f614e49601f836135ca565b9150614e5482614e15565b602082019050919050565b5f6020820190508181035f830152614e7681614e3d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f614ed76022836135ca565b9150614ee282614e7d565b604082019050919050565b5f6020820190508181035f830152614f0481614ecb565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f614f3f601f836135ca565b9150614f4a82614f0b565b602082019050919050565b5f6020820190508181035f830152614f6c81614f33565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f614fcd6021836135ca565b9150614fd882614f73565b604082019050919050565b5f6020820190508181035f830152614ffa81614fc1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f61505b6022836135ca565b915061506682615001565b604082019050919050565b5f6020820190508181035f8301526150888161504f565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20325f8201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b5f6150e96027836135ca565b91506150f48261508f565b604082019050919050565b5f6020820190508181035f830152615116816150dd565b905091905056fea2646970667358221220f2f4243836ca31c3525ed25b677d6d1a4fb59121ed506a9af03fa66ecafc562364736f6c63430008140033