6101006040526200005960646200004560026009600a62000021919062000828565b620f424062000031919062000879565b6200055160201b6200155b1790919060201c565b620005d460201b620015d51790919060201c565b600155620000b060646200009c60026009600a62000078919062000828565b620f424062000088919062000879565b6200055160201b6200155b1790919060201c565b620005d460201b620015d51790919060201c565b600255604051806040016040528060068152602001602d8152506008600082015181600001556020820151816001015550506000600a60006101000a81548160ff021916908315150217905550620001526103e86200013e60016009600a6200011a919062000828565b620f42406200012a919062000879565b6200055160201b6200155b1790919060201c565b620005d460201b620015d51790919060201c565b60e0908152506000600a60016101000a81548160ff0219169083151502179055506000600a60026101000a81548160ff0219169083151502179055503480156200019b57600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505060a05173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a91906200092e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2306040518363ffffffff1660e01b8152600401620002ea92919062000971565b6020604051808303816000875af11580156200030a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033091906200092e565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506009600a62000470919062000828565b620f424062000480919062000879565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000523919062000828565b620f424062000533919062000879565b604051620005429190620009af565b60405180910390a35062000b89565b6000808303620005655760009050620005ce565b6000828462000575919062000879565b9050828482620005869190620009fb565b14620005c9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005c09062000aba565b60405180910390fd5b809150505b92915050565b60006200061e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200062660201b60201c565b905092915050565b6000808311829062000670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000667919062000b65565b60405180910390fd5b5060008385620006819190620009fb565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200071c57808604811115620006f457620006f36200068e565b5b6001851615620007045780820291505b80810290506200071485620006bd565b9450620006d4565b94509492505050565b6000826200073757600190506200080a565b816200074757600090506200080a565b81600181146200076057600281146200076b57620007a1565b60019150506200080a565b60ff84111562000780576200077f6200068e565b5b8360020a9150848211156200079a57620007996200068e565b5b506200080a565b5060208310610133831016604e8410600b8410161715620007db5782820a905083811115620007d557620007d46200068e565b5b6200080a565b620007ea8484846001620006ca565b925090508184048111156200080457620008036200068e565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008358262000811565b915062000842836200081b565b9250620008717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000725565b905092915050565b6000620008868262000811565b9150620008938362000811565b9250828202620008a38162000811565b91508282048414831517620008bd57620008bc6200068e565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008f682620008c9565b9050919050565b6200090881620008e9565b81146200091457600080fd5b50565b6000815190506200092881620008fd565b92915050565b600060208284031215620009475762000946620008c4565b5b6000620009578482850162000917565b91505092915050565b6200096b81620008e9565b82525050565b600060408201905062000988600083018562000960565b62000997602083018462000960565b9392505050565b620009a98162000811565b82525050565b6000602082019050620009c660008301846200099e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a088262000811565b915062000a158362000811565b92508262000a285762000a27620009cc565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000aa260218362000a33565b915062000aaf8262000a44565b604082019050919050565b6000602082019050818103600083015262000ad58162000a93565b9050919050565b600081519050919050565b60005b8381101562000b0757808201518184015260208101905062000aea565b60008484015250505050565b6000601f19601f8301169050919050565b600062000b318262000adc565b62000b3d818562000a33565b935062000b4f81856020860162000ae7565b62000b5a8162000b13565b840191505092915050565b6000602082019050818103600083015262000b81818462000b24565b905092915050565b60805160a05160c05160e05161368462000c2560003960008181611d0a01526121f901526000818161131b01528181611467015281816117e40152818161196a015281816121a20152818161223401526123610152600081816112660152818161153901528181611d390152611e61015260008181610d4701528181610da901528181610f9b015281816117650152611ef701526136846000f3fe6080604052600436106101a05760003560e01c80636ddd1713116100ec57806395d89b411161008a578063a9059cbb11610064578063a9059cbb1461054f578063d212a69a1461058c578063dd62ed3e146105b8578063f887ea40146105f5576101a7565b806395d89b41146104d05780639c0db5f3146104fb578063a8aa1b3114610524576101a7565b806377b54bad116100c657806377b54bad146104285780637830b07214610451578063830d2bc21461047c578063893d20e8146104a5576101a7565b80636ddd1713146103a957806370a08231146103d4578063715018a614610411576101a7565b80632969144811610159578063313ce56711610133578063313ce5671461032557806351bc3c8514610350578063616eb638146103675780636c0a24eb1461037e576101a7565b806329691448146102ce5780632be0df8b146102e55780632c28f5791461030e576101a7565b806306fdde03146101ac578063095ea7b3146101d75780630b78f9c0146102145780630cefb76f1461023d57806318160ddd1461026657806323b872dd14610291576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610620565b6040516101ce91906125de565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061269e565b61065d565b60405161020b91906126f9565b60405180910390f35b34801561022057600080fd5b5061023b60048036038101906102369190612714565b61074f565b005b34801561024957600080fd5b50610264600480360381019061025f91906127e5565b610800565b005b34801561027257600080fd5b5061027b6108ed565b6040516102889190612854565b60405180910390f35b34801561029d57600080fd5b506102b860048036038101906102b3919061286f565b610910565b6040516102c591906126f9565b60405180910390f35b3480156102da57600080fd5b506102e3610b10565b005b3480156102f157600080fd5b5061030c60048036038101906103079190612714565b610b75565b005b34801561031a57600080fd5b50610323610cd7565b005b34801561033157600080fd5b5061033a610d3c565b60405161034791906128de565b60405180910390f35b34801561035c57600080fd5b50610365610d45565b005b34801561037357600080fd5b5061037c610da7565b005b34801561038a57600080fd5b50610393610e10565b6040516103a09190612854565b60405180910390f35b3480156103b557600080fd5b506103be610e16565b6040516103cb91906126f9565b60405180910390f35b3480156103e057600080fd5b506103fb60048036038101906103f691906128f9565b610e29565b6040516104089190612854565b60405180910390f35b34801561041d57600080fd5b50610426610e72565b005b34801561043457600080fd5b5061044f600480360381019061044a9190612964565b610f35565b005b34801561045d57600080fd5b50610466611020565b6040516104739190612854565b60405180910390f35b34801561048857600080fd5b506104a3600480360381019061049e91906129a4565b611026565b005b3480156104b157600080fd5b506104ba611113565b6040516104c79190612a00565b60405180910390f35b3480156104dc57600080fd5b506104e561113c565b6040516104f291906125de565b60405180910390f35b34801561050757600080fd5b50610522600480360381019061051d91906127e5565b611179565b005b34801561053057600080fd5b50610539611465565b6040516105469190612a00565b60405180910390f35b34801561055b57600080fd5b506105766004803603810190610571919061269e565b611489565b60405161058391906126f9565b60405180910390f35b34801561059857600080fd5b506105a161149e565b6040516105af929190612a1b565b60405180910390f35b3480156105c457600080fd5b506105df60048036038101906105da9190612a44565b6114b0565b6040516105ec9190612854565b60405180910390f35b34801561060157600080fd5b5061060a611537565b6040516106179190612ae3565b60405180910390f35b60606040518060400160405280600881526020017f53484942464c4958000000000000000000000000000000000000000000000000815250905090565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161073d9190612854565b60405180910390a36001905092915050565b6107583361161f565b610797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078e90612b4a565b60405180910390fd5b600a82111580156107a95750600a8111155b6107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90612bb6565b60405180910390fd5b81600860000181905550806008600101819055505050565b6108093361161f565b610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f90612b4a565b60405180910390fd5b60005b838390508110156108e757816007600086868581811061086e5761086d612bd6565b5b905060200201602081019061088391906128f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108df90612c34565b91505061084b565b50505050565b60006009600a6108fd9190612daf565b620f424061090b9190612dfa565b905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610afc57610a7b826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116789092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610b078484846116dc565b90509392505050565b610b193361161f565b610b58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4f90612b4a565b60405180910390fd5b6001600a60016101000a81548160ff021916908315150217905550565b610b7e3361161f565b610bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb490612b4a565b60405180910390fd5b6001821015610c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf890612eae565b60405180910390fd5b6001811015610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c90612f40565b60405180910390fd5b610c866064610c78846009600a610c5c9190612daf565b620f4240610c6a9190612dfa565b61155b90919063ffffffff16565b6115d590919063ffffffff16565b600181905550610ccd6064610cbf836009600a610ca39190612daf565b620f4240610cb19190612dfa565b61155b90919063ffffffff16565b6115d590919063ffffffff16565b6002819055505050565b610ce03361161f565b610d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1690612b4a565b60405180910390fd5b6001600a60006101000a81548160ff021916908315150217905550565b60006009905090565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d9d57600080fd5b610da5611cd9565b565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610e0d573d6000803e3d6000fd5b50565b60015481565b600a60019054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e7b3361161f565b610eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb190612b4a565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610f2b9190612a00565b60405180910390a1565b610f3e3361161f565b610f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7490612b4a565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b8152600401610fd8929190612f81565b6020604051808303816000875af1158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b9190612fbf565b505050565b60025481565b61102f3361161f565b61106e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106590612b4a565b60405180910390fd5b60005b8282905081101561110e5760016006600085858581811061109557611094612bd6565b5b90506020020160208101906110aa91906128f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061110690612c34565b915050611071565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5342464c58000000000000000000000000000000000000000000000000000000815250905090565b6111823361161f565b6111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b890612b4a565b60405180910390fd5b60005b8383905081101561145f573073ffffffffffffffffffffffffffffffffffffffff168484838181106111f9576111f8612bd6565b5b905060200201602081019061120e91906128f9565b73ffffffffffffffffffffffffffffffffffffffff1603611264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125b90613038565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168484838181106112ae576112ad612bd6565b5b90506020020160208101906112c391906128f9565b73ffffffffffffffffffffffffffffffffffffffff1603611319576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611310906130a4565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1684848381811061136357611362612bd6565b5b905060200201602081019061137891906128f9565b73ffffffffffffffffffffffffffffffffffffffff16036113ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c590613110565b60405180910390fd5b81600560008686858181106113e6576113e5612bd6565b5b90506020020160208101906113fb91906128f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061145790612c34565b9150506111c4565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006114963384846116dc565b905092915050565b60088060000154908060010154905082565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080830361156d57600090506115cf565b6000828461157b9190612dfa565b905082848261158a919061315f565b146115ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c190613202565b60405180910390fd5b809150505b92915050565b600061161783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f9f565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60008383111582906116c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b791906125de565b60405180910390fd5b50600083856116cf9190613222565b9050809150509392505050565b6000600a60009054906101000a900460ff1680611744575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16145b61174d57600080fd5b600a60029054906101000a900460ff16806117b357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16145b156117ca576117c3848484612002565b9050611cd2565b600a60019054906101000a900460ff1615801561183257507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118885750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118965760009050611cd2565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191a906132a2565b60405180910390fd5b600254821115611968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195f90613334565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119f2575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a875760015482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a459190613354565b1115611a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7d906133fa565b60405180910390fd5b5b611a908461219e565b15611a9e57611a9d611cd9565b5b6000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611af85782611b04565b611b0385858561222b565b5b9050611b8f836040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116789092919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c2481600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a690919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cc49190612854565b60405180910390a360019150505b9392505050565b6001600a60026101000a81548160ff0219169083151502179055506000600254611d0230610e29565b1015611d2e577f0000000000000000000000000000000000000000000000000000000000000000611d32565b6002545b9050611d5e7f00000000000000000000000000000000000000000000000000000000000000008261065d565b506000600267ffffffffffffffff811115611d7c57611d7b61341a565b5b604051908082528060200260200182016040528015611daa5781602001602082028036833780820191505090505b5090503081600081518110611dc257611dc1612bd6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611e2557611e24612bd6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ec1959493929190613542565b600060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b5050505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1647604051611f39906135cd565b60006040518083038185875af1925050503d8060008114611f76576040519150601f19603f3d011682016040523d82523d6000602084013e611f7b565b606091505b505090505050506000600a60026101000a81548160ff021916908315150217905550565b60008083118290611fe6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fdd91906125de565b60405180910390fd5b5060008385611ff5919061315f565b9050809150509392505050565b600061205682600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461250490919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120eb82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a690919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161218b9190612854565b60405180910390a3600190509392505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561222457507f000000000000000000000000000000000000000000000000000000000000000061222130610e29565b10155b9050919050565b600080600090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156122935750600060086000015414155b1561235f576122c360646122b56008600001548661155b90919063ffffffff16565b6115d590919063ffffffff16565b905061231781600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a690919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612489565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156123c05750600060086001015414155b15612488576123f060646123e26008600101548661155b90919063ffffffff16565b6115d590919063ffffffff16565b905061244481600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a690919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b61249c818461250490919063ffffffff16565b9150509392505050565b60008082846124b59190613354565b9050838110156124fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f19061362e565b60405180910390fd5b8091505092915050565b600061254683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611678565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561258857808201518184015260208101905061256d565b60008484015250505050565b6000601f19601f8301169050919050565b60006125b08261254e565b6125ba8185612559565b93506125ca81856020860161256a565b6125d381612594565b840191505092915050565b600060208201905081810360008301526125f881846125a5565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126358261260a565b9050919050565b6126458161262a565b811461265057600080fd5b50565b6000813590506126628161263c565b92915050565b6000819050919050565b61267b81612668565b811461268657600080fd5b50565b60008135905061269881612672565b92915050565b600080604083850312156126b5576126b4612600565b5b60006126c385828601612653565b92505060206126d485828601612689565b9150509250929050565b60008115159050919050565b6126f3816126de565b82525050565b600060208201905061270e60008301846126ea565b92915050565b6000806040838503121561272b5761272a612600565b5b600061273985828601612689565b925050602061274a85828601612689565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f84011261277957612778612754565b5b8235905067ffffffffffffffff81111561279657612795612759565b5b6020830191508360208202830111156127b2576127b161275e565b5b9250929050565b6127c2816126de565b81146127cd57600080fd5b50565b6000813590506127df816127b9565b92915050565b6000806000604084860312156127fe576127fd612600565b5b600084013567ffffffffffffffff81111561281c5761281b612605565b5b61282886828701612763565b9350935050602061283b868287016127d0565b9150509250925092565b61284e81612668565b82525050565b60006020820190506128696000830184612845565b92915050565b60008060006060848603121561288857612887612600565b5b600061289686828701612653565b93505060206128a786828701612653565b92505060406128b886828701612689565b9150509250925092565b600060ff82169050919050565b6128d8816128c2565b82525050565b60006020820190506128f360008301846128cf565b92915050565b60006020828403121561290f5761290e612600565b5b600061291d84828501612653565b91505092915050565b60006129318261262a565b9050919050565b61294181612926565b811461294c57600080fd5b50565b60008135905061295e81612938565b92915050565b6000806040838503121561297b5761297a612600565b5b60006129898582860161294f565b925050602061299a85828601612689565b9150509250929050565b600080602083850312156129bb576129ba612600565b5b600083013567ffffffffffffffff8111156129d9576129d8612605565b5b6129e585828601612763565b92509250509250929050565b6129fa8161262a565b82525050565b6000602082019050612a1560008301846129f1565b92915050565b6000604082019050612a306000830185612845565b612a3d6020830184612845565b9392505050565b60008060408385031215612a5b57612a5a612600565b5b6000612a6985828601612653565b9250506020612a7a85828601612653565b9150509250929050565b6000819050919050565b6000612aa9612aa4612a9f8461260a565b612a84565b61260a565b9050919050565b6000612abb82612a8e565b9050919050565b6000612acd82612ab0565b9050919050565b612add81612ac2565b82525050565b6000602082019050612af86000830184612ad4565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612b34600683612559565b9150612b3f82612afe565b602082019050919050565b60006020820190508181036000830152612b6381612b27565b9050919050565b7f4d61782066656520616c6c6f7765642069732031302500000000000000000000600082015250565b6000612ba0601683612559565b9150612bab82612b6a565b602082019050919050565b60006020820190508181036000830152612bcf81612b93565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c3f82612668565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c7157612c70612c05565b5b600182019050919050565b60008160011c9050919050565b6000808291508390505b6001851115612cd357808604811115612caf57612cae612c05565b5b6001851615612cbe5780820291505b8081029050612ccc85612c7c565b9450612c93565b94509492505050565b600082612cec5760019050612da8565b81612cfa5760009050612da8565b8160018114612d105760028114612d1a57612d49565b6001915050612da8565b60ff841115612d2c57612d2b612c05565b5b8360020a915084821115612d4357612d42612c05565b5b50612da8565b5060208310610133831016604e8410600b8410161715612d7e5782820a905083811115612d7957612d78612c05565b5b612da8565b612d8b8484846001612c89565b92509050818404811115612da257612da1612c05565b5b81810290505b9392505050565b6000612dba82612668565b9150612dc5836128c2565b9250612df27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612cdc565b905092915050565b6000612e0582612668565b9150612e1083612668565b9250828202612e1e81612668565b91508282048414831517612e3557612e34612c05565b5b5092915050565b7f77616c6c6574206c696d6974206d757368206265206e6f74206c65737320746860008201527f616e20312070657263656e740000000000000000000000000000000000000000602082015250565b6000612e98602c83612559565b9150612ea382612e3c565b604082019050919050565b60006020820190508181036000830152612ec781612e8b565b9050919050565b7f4d617820747820616d6f756e74206d757374206e6f74206265206c657373207460008201527f68616e20312070657263656e7400000000000000000000000000000000000000602082015250565b6000612f2a602d83612559565b9150612f3582612ece565b604082019050919050565b60006020820190508181036000830152612f5981612f1d565b9050919050565b6000612f6b82612ab0565b9050919050565b612f7b81612f60565b82525050565b6000604082019050612f966000830185612f72565b612fa36020830184612845565b9392505050565b600081519050612fb9816127b9565b92915050565b600060208284031215612fd557612fd4612600565b5b6000612fe384828501612faa565b91505092915050565b7f43616e206e6f7420626c6f636b20746f6b656e20636f6e747261637400000000600082015250565b6000613022601c83612559565b915061302d82612fec565b602082019050919050565b6000602082019050818103600083015261305181613015565b9050919050565b7f43616e206e6f7420626c6f636b20726f75746572000000000000000000000000600082015250565b600061308e601483612559565b915061309982613058565b602082019050919050565b600060208201905081810360008301526130bd81613081565b9050919050565b7f43616e206e6f7420626c6f636b20706169720000000000000000000000000000600082015250565b60006130fa601283612559565b9150613105826130c4565b602082019050919050565b60006020820190508181036000830152613129816130ed565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061316a82612668565b915061317583612668565b92508261318557613184613130565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006131ec602183612559565b91506131f782613190565b604082019050919050565b6000602082019050818103600083015261321b816131df565b9050919050565b600061322d82612668565b915061323883612668565b92508282039050818111156132505761324f612c05565b5b92915050565b7f426f7473206e6f7420616c6c6f776564207472616e7366657273000000000000600082015250565b600061328c601a83612559565b915061329782613256565b602082019050919050565b600060208201905081810360008301526132bb8161327f565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865207478206c60008201527f696d697400000000000000000000000000000000000000000000000000000000602082015250565b600061331e602483612559565b9150613329826132c2565b604082019050919050565b6000602082019050818103600083015261334d81613311565b9050919050565b600061335f82612668565b915061336a83612668565b925082820190508082111561338257613381612c05565b5b92915050565b7f5472616e7366657220616d6f756e742065786365656473207468652062616c6160008201527f6e6365206c696d69742e00000000000000000000000000000000000000000000602082015250565b60006133e4602a83612559565b91506133ef82613388565b604082019050919050565b60006020820190508181036000830152613413816133d7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b600061346e61346961346484613449565b612a84565b612668565b9050919050565b61347e81613453565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134b98161262a565b82525050565b60006134cb83836134b0565b60208301905092915050565b6000602082019050919050565b60006134ef82613484565b6134f9818561348f565b9350613504836134a0565b8060005b8381101561353557815161351c88826134bf565b9750613527836134d7565b925050600181019050613508565b5085935050505092915050565b600060a0820190506135576000830188612845565b6135646020830187613475565b818103604083015261357681866134e4565b905061358560608301856129f1565b6135926080830184612845565b9695505050505050565b600081905092915050565b50565b60006135b760008361359c565b91506135c2826135a7565b600082019050919050565b60006135d8826135aa565b9150819050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613618601b83612559565b9150613623826135e2565b602082019050919050565b600060208201905081810360008301526136478161360b565b905091905056fea2646970667358221220f8516299e96e424156167d0382836c86073828846f2bb678cabe44ac0928748664736f6c63430008110033