0x6101606040523480156200001257600080fd5b506040518060400160405280600781526020017f53617472696d6100000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f53617472696d61000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f53544d000000000000000000000000000000000000000000000000000000000081525081600390805190602001906200010492919062000f1c565b5080600490805190602001906200011d92919062000f1c565b5050506000600560006101000a81548160ff0219169083151502179055506200015b6200014f6200025960201b60201c565b6200026160201b60201c565b620001766006836200032760201b6200170b1790919060201c565b6101208181525050620001996007826200032760201b6200170b1790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001d86200038b60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505050505062000253336200022b620003e860201b60201c565b600a62000239919062001166565b6032620002479190620011b7565b620003f160201b60201c565b620018e8565b600033905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006020835110156200034d5762000345836200040c60201b60201c565b905062000385565b8262000364836200047960201b620017561760201c565b60000190805190602001906200037c92919062000f1c565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620003cd95949392919062001289565b60405160208183030381529060405280519060200120905090565b60006012905090565b6200040882826200048360201b620017601760201c565b5050565b600080829050601f815111156200045c57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200045391906200138a565b60405180910390fd5b8051816200046a90620013ed565b60001c1760001b915050919050565b6000819050919050565b6200049a82826200054160201b620017ed1760201c565b620004aa620006af60201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620004d8620006d360201b60201c565b11156200051c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200051390620014d3565b60405180910390fd5b6200053b600c620006dd60201b620019441783620006f560201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620005b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005ab9062001545565b60405180910390fd5b620005c86000838362000a1a60201b60201c565b8060026000828254620005dc919062001567565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200068f9190620015c4565b60405180910390a3620006ab6000838362000a4760201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620006ed919062001567565b905092915050565b6000806000858054905090506000808214620007c55762000720876001840362000a6460201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505062000801565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200083484868860201c565b92506000821180156200086757506200085262000a7960201b60201c565b65ffffffffffff16816000015163ffffffff16145b15620008ef57620008838362000a9660201b6200195a1760201c565b62000898886001850362000a6460201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555062000a10565b866040518060400160405280620009286200090f62000a7960201b60201c565b65ffffffffffff1662000b0460201b620019c51760201c565b63ffffffff168152602001620009498662000a9660201b6200195a1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b62000a2a62000b5a60201b60201c565b62000a4283838362000baf60201b62001a181760201c565b505050565b62000a5f83838362000bb460201b62001a1d1760201c565b505050565b60008260005281602060002001905092915050565b600062000a914362000c0460201b62001a481760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000afc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000af39062001657565b60405180910390fd5b819050919050565b600063ffffffff801682111562000b52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b4990620016ef565b60405180910390fd5b819050919050565b62000b6a62000c5c60201b60201c565b1562000bad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ba49062001761565b60405180910390fd5b565b505050565b62000bcc83838362000c7360201b62001a9d1760201c565b62000bff62000be18462000c7860201b60201c565b62000bf28462000c7860201b60201c565b8362000ce160201b60201c565b505050565b600065ffffffffffff801682111562000c54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c4b90620017f9565b60405180910390fd5b819050919050565b6000600560009054906101000a900460ff16905090565b505050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000d1e5750600081115b1562000eff57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000e115760008062000db8600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000f0460201b62001aa21785620006f560201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000e069291906200181b565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000efe5760008062000ea5600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620006dd60201b620019441785620006f560201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000ef39291906200181b565b60405180910390a250505b5b505050565b6000818362000f14919062001848565b905092915050565b82805462000f2a90620018b2565b90600052602060002090601f01602090048101928262000f4e576000855562000f9a565b82601f1062000f6957805160ff191683800117855562000f9a565b8280016001018555821562000f9a579182015b8281111562000f9957825182559160200191906001019062000f7c565b5b50905062000fa9919062000fad565b5090565b5b8082111562000fc857600081600090555060010162000fae565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200105a5780860481111562001032576200103162000fcc565b5b6001851615620010425780820291505b8081029050620010528562000ffb565b945062001012565b94509492505050565b60008262001075576001905062001148565b8162001085576000905062001148565b81600181146200109e5760028114620010a957620010df565b600191505062001148565b60ff841115620010be57620010bd62000fcc565b5b8360020a915084821115620010d857620010d762000fcc565b5b5062001148565b5060208310610133831016604e8410600b8410161715620011195782820a90508381111562001113576200111262000fcc565b5b62001148565b62001128848484600162001008565b9250905081840481111562001142576200114162000fcc565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062001173826200114f565b9150620011808362001159565b9250620011af7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001063565b905092915050565b6000620011c4826200114f565b9150620011d1836200114f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200120d576200120c62000fcc565b5b828202905092915050565b6000819050919050565b6200122d8162001218565b82525050565b6200123e816200114f565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620012718262001244565b9050919050565b620012838162001264565b82525050565b600060a082019050620012a0600083018862001222565b620012af602083018762001222565b620012be604083018662001222565b620012cd606083018562001233565b620012dc608083018462001278565b9695505050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156200132257808201518184015260208101905062001305565b8381111562001332576000848401525b50505050565b6000601f19601f8301169050919050565b60006200135682620012e6565b620013628185620012f1565b93506200137481856020860162001302565b6200137f8162001338565b840191505092915050565b60006020820190508181036000830152620013a6818462001349565b905092915050565b600081519050919050565b6000819050602082019050919050565b6000620013d7825162001218565b80915050919050565b600082821b905092915050565b6000620013fa82620013ae565b826200140684620013b9565b90506200141381620013c9565b925060208210156200145657620014517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802620013e0565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000620014bb603083620012f1565b9150620014c8826200145d565b604082019050919050565b60006020820190508181036000830152620014ee81620014ac565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200152d601f83620012f1565b91506200153a82620014f5565b602082019050919050565b6000602082019050818103600083015262001560816200151e565b9050919050565b600062001574826200114f565b915062001581836200114f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620015b957620015b862000fcc565b5b828201905092915050565b6000602082019050620015db600083018462001233565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006200163f602783620012f1565b91506200164c82620015e1565b604082019050919050565b60006020820190508181036000830152620016728162001630565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000620016d7602683620012f1565b9150620016e48262001679565b604082019050919050565b600060208201905081810360008301526200170a81620016c8565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600062001749601083620012f1565b9150620017568262001711565b602082019050919050565b600060208201905081810360008301526200177c816200173a565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000620017e1602683620012f1565b9150620017ee8262001783565b604082019050919050565b600060208201905081810360008301526200181481620017d2565b9050919050565b600060408201905062001832600083018562001233565b62001841602083018462001233565b9392505050565b600062001855826200114f565b915062001862836200114f565b92508282101562001878576200187762000fcc565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620018cb57607f821691505b60208210811415620018e257620018e162001883565b5b50919050565b60805160a05160c05160e0516101005161012051610140516152ac620019436000396000610e9a01526000610e6601526000612c0a01526000612be901526000611f9301526000611fe90152600061201201526152ac6000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c806370a082311161013057806395d89b41116100b8578063d505accf1161007c578063d505accf146106a8578063d9d98ce4146106c4578063dd62ed3e146106f4578063f1127ed814610724578063f2fde38b1461075457610227565b806395d89b41146105de5780639ab24eb0146105fc578063a457c2d71461062c578063a9059cbb1461065c578063c3cda5201461068c57610227565b80638456cb59116100ff5780638456cb591461054457806384b0196e1461054e5780638da5cb5b146105725780638e539e8c1461059057806391ddadf4146105c057610227565b806370a08231146104be578063715018a6146104ee57806379cc6790146104f85780637ecebe001461051457610227565b806340c10f19116101b35780635c19a95c116101825780635c19a95c146103f45780635c975abb146104105780635cffe9de1461042e578063613255ab1461045e5780636fcfff451461048e57610227565b806340c10f191461036e57806342966c681461038a5780634bf5d7e9146103a6578063587cde1e146103c457610227565b8063313ce567116101fa578063313ce567146102c85780633644e515146102e657806339509351146103045780633a46b1a8146103345780633f4ba83a1461036457610227565b806306fdde031461022c578063095ea7b31461024a57806318160ddd1461027a57806323b872dd14610298575b600080fd5b610234610770565b60405161024191906135ee565b60405180910390f35b610264600480360381019061025f91906136ae565b610802565b6040516102719190613709565b60405180910390f35b610282610825565b60405161028f9190613733565b60405180910390f35b6102b260048036038101906102ad919061374e565b61082f565b6040516102bf9190613709565b60405180910390f35b6102d061085e565b6040516102dd91906137bd565b60405180910390f35b6102ee610867565b6040516102fb91906137f1565b60405180910390f35b61031e600480360381019061031991906136ae565b610876565b60405161032b9190613709565b60405180910390f35b61034e600480360381019061034991906136ae565b6108ad565b60405161035b9190613733565b60405180910390f35b61036c610950565b005b610388600480360381019061038391906136ae565b610962565b005b6103a4600480360381019061039f919061380c565b610978565b005b6103ae61098c565b6040516103bb91906135ee565b60405180910390f35b6103de60048036038101906103d99190613839565b610a1a565b6040516103eb9190613875565b60405180910390f35b61040e60048036038101906104099190613839565b610a83565b005b610418610a97565b6040516104259190613709565b60405180910390f35b61044860048036038101906104439190613933565b610aae565b6040516104559190613709565b60405180910390f35b61047860048036038101906104739190613839565b610caa565b6040516104859190613733565b60405180910390f35b6104a860048036038101906104a39190613839565b610d21565b6040516104b591906139da565b60405180910390f35b6104d860048036038101906104d39190613839565b610d75565b6040516104e59190613733565b60405180910390f35b6104f6610dbd565b005b610512600480360381019061050d91906136ae565b610dd1565b005b61052e60048036038101906105299190613839565b610df1565b60405161053b9190613733565b60405180910390f35b61054c610e41565b005b610556610e53565b6040516105699796959493929190613aee565b60405180910390f35b61057a610f55565b6040516105879190613875565b60405180910390f35b6105aa60048036038101906105a5919061380c565b610f7f565b6040516105b79190613733565b60405180910390f35b6105c8610fe4565b6040516105d59190613b93565b60405180910390f35b6105e6610ff4565b6040516105f391906135ee565b60405180910390f35b61061660048036038101906106119190613839565b611086565b6040516106239190613733565b60405180910390f35b610646600480360381019061064191906136ae565b61118e565b6040516106539190613709565b60405180910390f35b610676600480360381019061067191906136ae565b611205565b6040516106839190613709565b60405180910390f35b6106a660048036038101906106a19190613c06565b611228565b005b6106c260048036038101906106bd9190613c93565b61132c565b005b6106de60048036038101906106d991906136ae565b61146e565b6040516106eb9190613733565b60405180910390f35b61070e60048036038101906107099190613d35565b6114f0565b60405161071b9190613733565b60405180910390f35b61073e60048036038101906107399190613da1565b611577565b60405161074b9190613e56565b60405180910390f35b61076e60048036038101906107699190613839565b611687565b005b60606003805461077f90613ea0565b80601f01602080910402602001604051908101604052809291908181526020018280546107ab90613ea0565b80156107f85780601f106107cd576101008083540402835291602001916107f8565b820191906000526020600020905b8154815290600101906020018083116107db57829003601f168201915b5050505050905090565b60008061080d611ab8565b905061081a818585611ac0565b600191505092915050565b6000600254905090565b60008061083a611ab8565b9050610847858285611c8b565b610852858585611d17565b60019150509392505050565b60006012905090565b6000610871611f8f565b905090565b600080610881611ab8565b90506108a281858561089385896114f0565b61089d9190613f01565b611ac0565b600191505092915050565b60006108b7610fe4565b65ffffffffffff168210610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f790613fa3565b60405180910390fd5b610948600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083612046565b905092915050565b61095861218e565b61096061220c565b565b61096a61218e565b610974828261226f565b5050565b610989610983611ab8565b8261227d565b50565b606043610997610fe4565b65ffffffffffff16146109df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d69061400f565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610a94610a8e611ab8565b8261228b565b50565b6000600560009054906101000a900460ff16905090565b6000610ab985610caa565b841115610afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af2906140a1565b60405180910390fd5b6000610b07868661146e565b9050610b13878661226f565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b8152600401610b779695949392919061410e565b602060405180830381600087803b158015610b9157600080fd5b505af1158015610ba5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc9919061417f565b14610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c009061421e565b60405180910390fd5b6000610c136123a5565b9050610c2b88308489610c269190613f01565b611c8b565b6000821480610c665750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610c8557610c80888388610c7b9190613f01565b61227d565b610c9b565b610c8f888761227d565b610c9a888284611d17565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610ce6576000610d1a565b610cee610825565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d19919061423e565b5b9050919050565b6000610d6e600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506119c5565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dc561218e565b610dcf60006123aa565b565b610de382610ddd611ab8565b83611c8b565b610ded828261227d565b5050565b6000610e3a600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612470565b9050919050565b610e4961218e565b610e5161247e565b565b600060608060008060006060610e9360067f00000000000000000000000000000000000000000000000000000000000000006124e190919063ffffffff16565b610ec760077f00000000000000000000000000000000000000000000000000000000000000006124e190919063ffffffff16565b46306000801b600067ffffffffffffffff811115610ee857610ee7614272565b5b604051908082528060200260200182016040528015610f165781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610f89610fe4565b65ffffffffffff168210610fd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc990613fa3565b60405180910390fd5b610fdd600c83612046565b9050919050565b6000610fef43611a48565b905090565b60606004805461100390613ea0565b80601f016020809104026020016040519081016040528092919081815260200182805461102f90613ea0565b801561107c5780601f106110515761010080835404028352916020019161107c565b820191906000526020600020905b81548152906001019060200180831161105f57829003601f168201915b5050505050905090565b600080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000811461116557600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182038154811061112a576111296142a1565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611168565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080611199611ab8565b905060006111a782866114f0565b9050838110156111ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e390614342565b60405180910390fd5b6111f98286868403611ac0565b60019250505092915050565b600080611210611ab8565b905061121d818585611d17565b600191505092915050565b8342111561126b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611262906143ae565b60405180910390fd5b60006112cd6112c57fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016112aa94939291906143ce565b60405160208183030381529060405280519060200120612591565b8585856125ab565b90506112d8816125d6565b8614611319576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113109061445f565b60405180910390fd5b611323818861228b565b50505050505050565b8342111561136f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611366906144cb565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861139e8c6125d6565b896040516020016113b4969594939291906144eb565b60405160208183030381529060405280519060200120905060006113d782612591565b905060006113e7828787876125ab565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611457576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144e90614598565b60405180910390fd5b6114628a8a8a611ac0565b50505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146114de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d590614604565b60405180910390fd5b6114e88383612634565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61157f613474565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106115d6576115d56142a1565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61168f61218e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f690614696565b60405180910390fd5b611708816123aa565b50565b6000602083511015611727576117208361263c565b9050611750565b8261173183611756565b60000190805190602001906117479291906134b2565b5060ff60001b90505b92915050565b6000819050919050565b61176a82826117ed565b6117726126a4565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611798610825565b11156117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d090614728565b60405180910390fd5b6117e7600c611944836126c8565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561185d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185490614794565b60405180910390fd5b611869600083836129a3565b806002600082825461187b9190613f01565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161192c9190613733565b60405180910390a3611940600083836129bb565b5050565b600081836119529190613f01565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156119bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b490614826565b60405180910390fd5b819050919050565b600063ffffffff8016821115611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a07906148b8565b60405180910390fd5b819050919050565b505050565b611a28838383611a9d565b611a43611a3484610a1a565b611a3d84610a1a565b836129cb565b505050565b600065ffffffffffff8016821115611a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8c9061494a565b60405180910390fd5b819050919050565b505050565b60008183611ab0919061423e565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b27906149dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9790614a6e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c7e9190613733565b60405180910390a3505050565b6000611c9784846114f0565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611d115781811015611d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfa90614ada565b60405180910390fd5b611d108484848403611ac0565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7e90614b6c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dee90614bfe565b60405180910390fd5b611e028383836129a3565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7f90614c90565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f769190613733565b60405180910390a3611f898484846129bb565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561200b57507f000000000000000000000000000000000000000000000000000000000000000046145b15612038577f00000000000000000000000000000000000000000000000000000000000000009050612043565b612040612bc4565b90505b90565b6000808380549050905060008082905060058311156120bc57600061206a84612c5a565b84612075919061423e565b9050856120828883612d54565b60000160009054906101000a900463ffffffff1663ffffffff1611156120aa578091506120ba565b6001816120b79190613f01565b92505b505b5b8082101561211c5760006120d18383612d69565b9050856120de8883612d54565b60000160009054906101000a900463ffffffff1663ffffffff16111561210657809150612116565b6001816121139190613f01565b92505b506120bd565b60008114612162576121318660018303612d54565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16612165565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b612196611ab8565b73ffffffffffffffffffffffffffffffffffffffff166121b4610f55565b73ffffffffffffffffffffffffffffffffffffffff161461220a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220190614cfc565b60405180910390fd5b565b612214612d8f565b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612258611ab8565b6040516122659190613875565b60405180910390a1565b6122798282611760565b5050565b6122878282612dd8565b5050565b600061229683610a1a565b905060006122a384610d75565b905082600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461239f8284836129cb565b50505050565b600090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b612486612df6565b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586124ca611ab8565b6040516124d79190613875565b60405180910390a1565b606060ff60001b83146124fe576124f783612e40565b905061258b565b81805461250a90613ea0565b80601f016020809104026020016040519081016040528092919081815260200182805461253690613ea0565b80156125835780601f1061255857610100808354040283529160200191612583565b820191906000526020600020905b81548152906001019060200180831161256657829003601f168201915b505050505090505b92915050565b60006125a461259e611f8f565b83612eb4565b9050919050565b60008060006125bc87878787612ef5565b915091506125c981612fd8565b8192505050949350505050565b600080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061262381612470565b915061262e81613146565b50919050565b600092915050565b600080829050601f8151111561268957826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161268091906135ee565b60405180910390fd5b80518161269590614d59565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b600080600085805490509050600080821461278e576126ea8760018403612d54565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250506127ca565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506127ff84868863ffffffff16565b92506000821180156128295750612814610fe4565b65ffffffffffff16816000015163ffffffff16145b1561289a576128378361195a565b6128448860018503612d54565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612999565b8660405180604001604052806128be6128b1610fe4565b65ffffffffffff166119c5565b63ffffffff1681526020016128d28661195a565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b6129ab612df6565b6129b6838383611a18565b505050565b6129c6838383611a1d565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612a075750600081115b15612bbf57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612ae557600080612a8e600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611aa2856126c8565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612ada929190614dc0565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612bbe57600080612b67600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611944856126c8565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612bb3929190614dc0565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612c3f959493929190614de9565b60405160208183030381529060405280519060200120905090565b600080821415612c6d5760009050612d4f565b60006001612c7a8461315c565b901c6001901b90506001818481612c9457612c93614e3c565b5b048201901c90506001818481612cad57612cac614e3c565b5b048201901c90506001818481612cc657612cc5614e3c565b5b048201901c90506001818481612cdf57612cde614e3c565b5b048201901c90506001818481612cf857612cf7614e3c565b5b048201901c90506001818481612d1157612d10614e3c565b5b048201901c90506001818481612d2a57612d29614e3c565b5b048201901c9050612d4b81828581612d4557612d44614e3c565b5b0461323d565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612d7a9190614e6b565b828416612d879190613f01565b905092915050565b612d97610a97565b612dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dcd90614ee8565b60405180910390fd5b565b612de28282613256565b612df0600c611aa2836126c8565b50505050565b612dfe610a97565b15612e3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e3590614f54565b60405180910390fd5b565b60606000612e4d83613424565b90506000602067ffffffffffffffff811115612e6c57612e6b614272565b5b6040519080825280601f01601f191660200182016040528015612e9e5781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612f30576000600391509150612fcf565b600060018787878760405160008152602001604052604051612f559493929190614f74565b6020604051602081039080840390855afa158015612f77573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612fc657600060019250925050612fcf565b80600092509250505b94509492505050565b60006004811115612fec57612feb614fb9565b5b816004811115612fff57612ffe614fb9565b5b141561300a57613143565b6001600481111561301e5761301d614fb9565b5b81600481111561303157613030614fb9565b5b1415613072576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161306990615034565b60405180910390fd5b6002600481111561308657613085614fb9565b5b81600481111561309957613098614fb9565b5b14156130da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d1906150a0565b60405180910390fd5b600360048111156130ee576130ed614fb9565b5b81600481111561310157613100614fb9565b5b1415613142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161313990615132565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b600080600090506000608084901c111561317e57608083901c92506080810190505b6000604084901c111561319957604083901c92506040810190505b6000602084901c11156131b457602083901c92506020810190505b6000601084901c11156131cf57601083901c92506010810190505b6000600884901c11156131ea57600883901c92506008810190505b6000600484901c111561320557600483901c92506004810190505b6000600284901c111561322057600283901c92506002810190505b6000600184901c1115613234576001810190505b80915050919050565b600081831061324c578161324e565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132bd906151c4565b60405180910390fd5b6132d2826000836129a3565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161334f90615256565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161340b9190613733565b60405180910390a361341f836000846129bb565b505050565b60008060ff8360001c169050601f81111561346b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b8280546134be90613ea0565b90600052602060002090601f0160209004810192826134e05760008555613527565b82601f106134f957805160ff1916838001178555613527565b82800160010185558215613527579182015b8281111561352657825182559160200191906001019061350b565b5b5090506135349190613538565b5090565b5b80821115613551576000816000905550600101613539565b5090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561358f578082015181840152602081019050613574565b8381111561359e576000848401525b50505050565b6000601f19601f8301169050919050565b60006135c082613555565b6135ca8185613560565b93506135da818560208601613571565b6135e3816135a4565b840191505092915050565b6000602082019050818103600083015261360881846135b5565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006136458261361a565b9050919050565b6136558161363a565b811461366057600080fd5b50565b6000813590506136728161364c565b92915050565b6000819050919050565b61368b81613678565b811461369657600080fd5b50565b6000813590506136a881613682565b92915050565b600080604083850312156136c5576136c4613610565b5b60006136d385828601613663565b92505060206136e485828601613699565b9150509250929050565b60008115159050919050565b613703816136ee565b82525050565b600060208201905061371e60008301846136fa565b92915050565b61372d81613678565b82525050565b60006020820190506137486000830184613724565b92915050565b60008060006060848603121561376757613766613610565b5b600061377586828701613663565b935050602061378686828701613663565b925050604061379786828701613699565b9150509250925092565b600060ff82169050919050565b6137b7816137a1565b82525050565b60006020820190506137d260008301846137ae565b92915050565b6000819050919050565b6137eb816137d8565b82525050565b600060208201905061380660008301846137e2565b92915050565b60006020828403121561382257613821613610565b5b600061383084828501613699565b91505092915050565b60006020828403121561384f5761384e613610565b5b600061385d84828501613663565b91505092915050565b61386f8161363a565b82525050565b600060208201905061388a6000830184613866565b92915050565b600061389b8261363a565b9050919050565b6138ab81613890565b81146138b657600080fd5b50565b6000813590506138c8816138a2565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126138f3576138f26138ce565b5b8235905067ffffffffffffffff8111156139105761390f6138d3565b5b60208301915083600182028301111561392c5761392b6138d8565b5b9250929050565b60008060008060006080868803121561394f5761394e613610565b5b600061395d888289016138b9565b955050602061396e88828901613663565b945050604061397f88828901613699565b935050606086013567ffffffffffffffff8111156139a05761399f613615565b5b6139ac888289016138dd565b92509250509295509295909350565b600063ffffffff82169050919050565b6139d4816139bb565b82525050565b60006020820190506139ef60008301846139cb565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613a2a816139f5565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a6581613678565b82525050565b6000613a778383613a5c565b60208301905092915050565b6000602082019050919050565b6000613a9b82613a30565b613aa58185613a3b565b9350613ab083613a4c565b8060005b83811015613ae1578151613ac88882613a6b565b9750613ad383613a83565b925050600181019050613ab4565b5085935050505092915050565b600060e082019050613b03600083018a613a21565b8181036020830152613b1581896135b5565b90508181036040830152613b2981886135b5565b9050613b386060830187613724565b613b456080830186613866565b613b5260a08301856137e2565b81810360c0830152613b648184613a90565b905098975050505050505050565b600065ffffffffffff82169050919050565b613b8d81613b72565b82525050565b6000602082019050613ba86000830184613b84565b92915050565b613bb7816137a1565b8114613bc257600080fd5b50565b600081359050613bd481613bae565b92915050565b613be3816137d8565b8114613bee57600080fd5b50565b600081359050613c0081613bda565b92915050565b60008060008060008060c08789031215613c2357613c22613610565b5b6000613c3189828a01613663565b9650506020613c4289828a01613699565b9550506040613c5389828a01613699565b9450506060613c6489828a01613bc5565b9350506080613c7589828a01613bf1565b92505060a0613c8689828a01613bf1565b9150509295509295509295565b600080600080600080600060e0888a031215613cb257613cb1613610565b5b6000613cc08a828b01613663565b9750506020613cd18a828b01613663565b9650506040613ce28a828b01613699565b9550506060613cf38a828b01613699565b9450506080613d048a828b01613bc5565b93505060a0613d158a828b01613bf1565b92505060c0613d268a828b01613bf1565b91505092959891949750929550565b60008060408385031215613d4c57613d4b613610565b5b6000613d5a85828601613663565b9250506020613d6b85828601613663565b9150509250929050565b613d7e816139bb565b8114613d8957600080fd5b50565b600081359050613d9b81613d75565b92915050565b60008060408385031215613db857613db7613610565b5b6000613dc685828601613663565b9250506020613dd785828601613d8c565b9150509250929050565b613dea816139bb565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613e2181613df0565b82525050565b604082016000820151613e3d6000850182613de1565b506020820151613e506020850182613e18565b50505050565b6000604082019050613e6b6000830184613e27565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613eb857607f821691505b60208210811415613ecc57613ecb613e71565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f0c82613678565b9150613f1783613678565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f4c57613f4b613ed2565b5b828201905092915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b6000613f8d601983613560565b9150613f9882613f57565b602082019050919050565b60006020820190508181036000830152613fbc81613f80565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b6000613ff9601d83613560565b915061400482613fc3565b602082019050919050565b6000602082019050818103600083015261402881613fec565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b600061408b602b83613560565b91506140968261402f565b604082019050919050565b600060208201905081810360008301526140ba8161407e565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b60006140ed83856140c1565b93506140fa8385846140d2565b614103836135a4565b840190509392505050565b600060a0820190506141236000830189613866565b6141306020830188613866565b61413d6040830187613724565b61414a6060830186613724565b818103608083015261415d8184866140e1565b9050979650505050505050565b60008151905061417981613bda565b92915050565b60006020828403121561419557614194613610565b5b60006141a38482850161416a565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b6000614208602483613560565b9150614213826141ac565b604082019050919050565b60006020820190508181036000830152614237816141fb565b9050919050565b600061424982613678565b915061425483613678565b92508282101561426757614266613ed2565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061432c602583613560565b9150614337826142d0565b604082019050919050565b6000602082019050818103600083015261435b8161431f565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000614398601d83613560565b91506143a382614362565b602082019050919050565b600060208201905081810360008301526143c78161438b565b9050919050565b60006080820190506143e360008301876137e2565b6143f06020830186613866565b6143fd6040830185613724565b61440a6060830184613724565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000614449601983613560565b915061445482614413565b602082019050919050565b600060208201905081810360008301526144788161443c565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006144b5601d83613560565b91506144c08261447f565b602082019050919050565b600060208201905081810360008301526144e4816144a8565b9050919050565b600060c08201905061450060008301896137e2565b61450d6020830188613866565b61451a6040830187613866565b6145276060830186613724565b6145346080830185613724565b61454160a0830184613724565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000614582601e83613560565b915061458d8261454c565b602082019050919050565b600060208201905081810360008301526145b181614575565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b60006145ee601b83613560565b91506145f9826145b8565b602082019050919050565b6000602082019050818103600083015261461d816145e1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614680602683613560565b915061468b82614624565b604082019050919050565b600060208201905081810360008301526146af81614673565b9050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000614712603083613560565b915061471d826146b6565b604082019050919050565b6000602082019050818103600083015261474181614705565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061477e601f83613560565b915061478982614748565b602082019050919050565b600060208201905081810360008301526147ad81614771565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000614810602783613560565b915061481b826147b4565b604082019050919050565b6000602082019050818103600083015261483f81614803565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b60006148a2602683613560565b91506148ad82614846565b604082019050919050565b600060208201905081810360008301526148d181614895565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614934602683613560565b915061493f826148d8565b604082019050919050565b6000602082019050818103600083015261496381614927565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006149c6602483613560565b91506149d18261496a565b604082019050919050565b600060208201905081810360008301526149f5816149b9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614a58602283613560565b9150614a63826149fc565b604082019050919050565b60006020820190508181036000830152614a8781614a4b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614ac4601d83613560565b9150614acf82614a8e565b602082019050919050565b60006020820190508181036000830152614af381614ab7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614b56602583613560565b9150614b6182614afa565b604082019050919050565b60006020820190508181036000830152614b8581614b49565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614be8602383613560565b9150614bf382614b8c565b604082019050919050565b60006020820190508181036000830152614c1781614bdb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614c7a602683613560565b9150614c8582614c1e565b604082019050919050565b60006020820190508181036000830152614ca981614c6d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614ce6602083613560565b9150614cf182614cb0565b602082019050919050565b60006020820190508181036000830152614d1581614cd9565b9050919050565b600081519050919050565b6000819050602082019050919050565b6000614d4382516137d8565b80915050919050565b600082821b905092915050565b6000614d6482614d1c565b82614d6e84614d27565b9050614d7981614d37565b92506020821015614db957614db47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614d4c565b831692505b5050919050565b6000604082019050614dd56000830185613724565b614de26020830184613724565b9392505050565b600060a082019050614dfe60008301886137e2565b614e0b60208301876137e2565b614e1860408301866137e2565b614e256060830185613724565b614e326080830184613866565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614e7682613678565b9150614e8183613678565b925082614e9157614e90614e3c565b5b828204905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000614ed2601483613560565b9150614edd82614e9c565b602082019050919050565b60006020820190508181036000830152614f0181614ec5565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000614f3e601083613560565b9150614f4982614f08565b602082019050919050565b60006020820190508181036000830152614f6d81614f31565b9050919050565b6000608082019050614f8960008301876137e2565b614f9660208301866137ae565b614fa360408301856137e2565b614fb060608301846137e2565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061501e601883613560565b915061502982614fe8565b602082019050919050565b6000602082019050818103600083015261504d81615011565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061508a601f83613560565b915061509582615054565b602082019050919050565b600060208201905081810360008301526150b98161507d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061511c602283613560565b9150615127826150c0565b604082019050919050565b6000602082019050818103600083015261514b8161510f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006151ae602183613560565b91506151b982615152565b604082019050919050565b600060208201905081810360008301526151dd816151a1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000615240602283613560565b915061524b826151e4565b604082019050919050565b6000602082019050818103600083015261526f81615233565b905091905056fea26469706673582212205cf0e0814c54852159269f811cc35edc33f5e26c36cd0baf651d0c89149dc77a64736f6c63430008090033