0x60806040525f60065f6101000a81548160ff021916908315150217905550600f600755601960085560016009556001600a555f600b556014600c555f600d55737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000c56012600a620000a6919062000791565b633b9aca00620000b79190620007e1565b60026200059860201b60201c565b600f55620000fb6012600a620000dc919062000791565b633b9aca00620000ed9190620007e1565b60026200059860201b60201c565b6010556012600a6200010e919062000791565b624c4b406200011e9190620007e1565b601155620001546012600a62000135919062000791565b633b9aca00620001469190620007e1565b60026200059860201b60201c565b6012556200018a6012600a6200016b919062000791565b633b9aca006200017c9190620007e1565b60056200059860201b60201c565b6013555f6015806101000a81548160ff0219169083151502179055505f601560166101000a81548160ff0219169083151502179055506001601560176101000a81548160ff021916908360ff1602179055506003601560186101000a81548160ff021916908360ff1602179055505f62000209620005d160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620002b5620005d160201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135460015f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506013546012600a6200036e919062000791565b633b9aca006200037f9190620007e1565b6200038b91906200082b565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620003e1620005d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200050c620005d160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200056a919062000791565b633b9aca006200057b9190620007e1565b6040516200058a919062000876565b60405180910390a3620008f5565b5f80606483620005a99190620007e1565b90506127108185620005bc9190620007e1565b620005c89190620008be565b91505092915050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200068957808604811115620006615762000660620005ff565b5b6001851615620006715780820291505b808102905062000681856200062c565b945062000641565b94509492505050565b5f82620006a3576001905062000775565b81620006b2575f905062000775565b8160018114620006cb5760028114620006d6576200070c565b600191505062000775565b60ff841115620006eb57620006ea620005ff565b5b8360020a915084821115620007055762000704620005ff565b5b5062000775565b5060208310610133831016604e8410600b8410161715620007465782820a90508381111562000740576200073f620005ff565b5b62000775565b62000755848484600162000638565b925090508184048111156200076f576200076e620005ff565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200079d826200077c565b9150620007aa8362000785565b9250620007d97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000692565b905092915050565b5f620007ed826200077c565b9150620007fa836200077c565b92508282026200080a816200077c565b91508282048414831517620008245762000823620005ff565b5b5092915050565b5f62000837826200077c565b915062000844836200077c565b92508282039050818111156200085f576200085e620005ff565b5b92915050565b62000870816200077c565b82525050565b5f6020820190506200088b5f83018462000865565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620008ca826200077c565b9150620008d7836200077c565b925082620008ea57620008e962000891565b5b828204905092915050565b61348780620009035f395ff3fe60806040526004361061014e575f3560e01c8063751039fc116100b5578063a9059cbb1161006e578063a9059cbb14610441578063b1a4e0dc1461047d578063bf474bed146104b9578063c876d0b9146104e3578063c9567bf91461050d578063dd62ed3e1461051757610155565b8063751039fc146103475780637d1db4a51461035d5780638da5cb5b146103875780638dfa4363146103b15780638f9a55c0146103ed57806395d89b411461041757610155565b806341fb0d211161010757806341fb0d2114610279578063507bde661461028f57806351bc3c85146102b757806368dc3ff5146102cd57806370a08231146102f5578063715018a61461033157610155565b806306fdde0314610159578063095ea7b3146101835780630faee56f146101bf57806318160ddd146101e957806323b872dd14610213578063313ce5671461024f57610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610553565b60405161017a91906124ba565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a4919061256b565b610590565b6040516101b691906125c3565b60405180910390f35b3480156101ca575f80fd5b506101d36105ad565b6040516101e091906125eb565b60405180910390f35b3480156101f4575f80fd5b506101fd6105b3565b60405161020a91906125eb565b60405180910390f35b34801561021e575f80fd5b5061023960048036038101906102349190612604565b6105d6565b60405161024691906125c3565b60405180910390f35b34801561025a575f80fd5b506102636106aa565b604051610270919061266f565b60405180910390f35b348015610284575f80fd5b5061028d6106b2565b005b34801561029a575f80fd5b506102b560048036038101906102b091906126b2565b610726565b005b3480156102c2575f80fd5b506102cb6107d8565b005b3480156102d8575f80fd5b506102f360048036038101906102ee9190612707565b610870565b005b348015610300575f80fd5b5061031b60048036038101906103169190612745565b61095c565b60405161032891906125eb565b60405180910390f35b34801561033c575f80fd5b506103456109a2565b005b348015610352575f80fd5b5061035b610af0565b005b348015610368575f80fd5b50610371610c38565b60405161037e91906125eb565b60405180910390f35b348015610392575f80fd5b5061039b610c3e565b6040516103a8919061277f565b60405180910390f35b3480156103bc575f80fd5b506103d760048036038101906103d29190612798565b610c65565b6040516103e491906125eb565b60405180910390f35b3480156103f8575f80fd5b50610401610c98565b60405161040e91906125eb565b60405180910390f35b348015610422575f80fd5b5061042b610c9e565b60405161043891906124ba565b60405180910390f35b34801561044c575f80fd5b506104676004803603810190610462919061256b565b610cdb565b60405161047491906125c3565b60405180910390f35b348015610488575f80fd5b506104a3600480360381019061049e9190612745565b610cf8565b6040516104b091906125c3565b60405180910390f35b3480156104c4575f80fd5b506104cd610d4a565b6040516104da91906125eb565b60405180910390f35b3480156104ee575f80fd5b506104f7610d50565b60405161050491906125c3565b60405180910390f35b610515610d62565b005b348015610522575f80fd5b5061053d600480360381019061053891906127d6565b61129f565b60405161054a91906125eb565b60405180910390f35b60606040518060400160405280600781526020017f5327416c6c657900000000000000000000000000000000000000000000000000815250905090565b5f6105a361059c611321565b8484611328565b6001905092915050565b60125481565b5f6012600a6105c29190612970565b633b9aca006105d191906129ba565b905090565b5f6105e28484846114eb565b61069f846105ee611321565b61069a8560405180606001604052806028815260200161342a6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610651611321565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611eee9092919063ffffffff16565b611328565b600190509392505050565b5f6012905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106f3611321565b73ffffffffffffffffffffffffffffffffffffffff1614610712575f80fd5b600954600781905550600a54600881905550565b61072e611321565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b190612a45565b60405180910390fd5b80601560176101000a81548160ff021916908360ff16021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610819611321565b73ffffffffffffffffffffffffffffffffffffffff1614610838575f80fd5b5f6108423061095c565b90505f8111156108565761085581611f50565b5b5f4790505f81111561086c5761086b816121d7565b5b5050565b610878611321565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fb90612a45565b60405180910390fd5b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109aa611321565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2d90612a45565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610af8611321565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b90612a45565b60405180910390fd5b6012600a610b929190612970565b633b9aca00610ba191906129ba565b600f819055506012600a610bb59190612970565b633b9aca00610bc491906129ba565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610c129190612970565b633b9aca00610c2191906129ba565b604051610c2e91906125eb565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f80606483610c7491906129ba565b90506127108185610c8591906129ba565b610c8f9190612a90565b91505092915050565b60105481565b60606040518060400160405280600681526020017f53414c4c45590000000000000000000000000000000000000000000000000000815250905090565b5f610cee610ce7611321565b84846114eb565b6001905092915050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60115481565b60065f9054906101000a900460ff1681565b610d6a611321565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90612a45565b60405180910390fd5b601560149054906101000a900460ff1615610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d90612b0a565b60405180910390fd5b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610eef3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610edb9190612970565b633b9aca00610eea91906129ba565b611328565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7d9190612b3c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110279190612b3c565b6040518363ffffffff1660e01b8152600401611044929190612b67565b6020604051808303815f875af1158015611060573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110849190612b3c565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7195f341161110d574761110f565b345b306111193061095c565b5f80611123610c3e565b426040518863ffffffff1660e01b815260040161114596959493929190612bd0565b60606040518083038185885af1158015611161573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111869190612c43565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611226929190612c93565b6020604051808303815f875af1158015611242573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112669190612cce565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138d90612d69565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fb90612df7565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114de91906125eb565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155090612e85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90612f13565b60405180910390fd5b5f8111611609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160090612fa1565b60405180910390fd5b5f611612610c3e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116805750611650610c3e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c3e5760065f9054906101000a900460ff161561180b5760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611743575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561180a574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106117c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117be9061302f565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118b4575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611907575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119e057600f54821115611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194890613097565b60405180910390fd5b6010548261195e8561095c565b61196891906130b5565b11156119a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a090613132565b60405180910390fd5b600c54600d5410156119c8576119be83612240565b156119c7575f80fd5b5b600d5f8154809291906119da90613150565b91905055505b611a0860646119fa6007548561225190919063ffffffff16565b6122c890919063ffffffff16565b905060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a9257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b0757600f54821115611adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad390613097565b60405180910390fd5b611b046064611af66008548561225190919063ffffffff16565b6122c890919063ffffffff16565b90505b5f611b113061095c565b905060158054906101000a900460ff16158015611b7a575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b925750601560169054906101000a900460ff165b8015611b9f575060115481115b8015611bae5750600c54600d54115b8015611bdc5750601560189054906101000a900460ff1660ff1660165f4381526020019081526020015f2054105b15611c3c57611bfe611bf984611bf484601254612311565b612311565b611f50565b5f4790505f811115611c1457611c13476121d7565b5b60165f4381526020019081526020015f205f815480929190611c3590613150565b9190505550505b505b5f811115611d3d57611c968160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461232990919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d3491906125eb565b60405180910390a35b611d8d8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461238690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e30611de4828461238690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461232990919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ed3848661238690919063ffffffff16565b604051611ee091906125eb565b60405180910390a350505050565b5f838311158290611f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2c91906124ba565b60405180910390fd5b505f8385611f439190613197565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f8103156121bb57601560149054906101000a900460ff16156121bb575f600267ffffffffffffffff811115611fa357611fa26131ca565b5b604051908082528060200260200182016040528015611fd15781602001602082028036833780820191505090505b50905030815f81518110611fe857611fe76131f7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b09190612b3c565b816001815181106120c4576120c36131f7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061212a3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611328565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161218c9594939291906132db565b5f604051808303815f87803b1580156121a3575f80fd5b505af11580156121b5573d5f803e3d5ffd5b50505050505b5f6015806101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561223c573d5f803e3d5ffd5b5050565b5f80823b90505f8111915050919050565b5f808303612261575f90506122c2565b5f828461226e91906129ba565b905082848261227d9190612a90565b146122bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b4906133a3565b60405180910390fd5b809150505b92915050565b5f61230983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123cf565b905092915050565b5f81831161231f5782612321565b815b905092915050565b5f80828461233791906130b5565b90508381101561237c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123739061340b565b60405180910390fd5b8091505092915050565b5f6123c783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611eee565b905092915050565b5f8083118290612415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240c91906124ba565b60405180910390fd5b505f83856124239190612a90565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561246757808201518184015260208101905061244c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61248c82612430565b612496818561243a565b93506124a681856020860161244a565b6124af81612472565b840191505092915050565b5f6020820190508181035f8301526124d28184612482565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612507826124de565b9050919050565b612517816124fd565b8114612521575f80fd5b50565b5f813590506125328161250e565b92915050565b5f819050919050565b61254a81612538565b8114612554575f80fd5b50565b5f8135905061256581612541565b92915050565b5f8060408385031215612581576125806124da565b5b5f61258e85828601612524565b925050602061259f85828601612557565b9150509250929050565b5f8115159050919050565b6125bd816125a9565b82525050565b5f6020820190506125d65f8301846125b4565b92915050565b6125e581612538565b82525050565b5f6020820190506125fe5f8301846125dc565b92915050565b5f805f6060848603121561261b5761261a6124da565b5b5f61262886828701612524565b935050602061263986828701612524565b925050604061264a86828701612557565b9150509250925092565b5f60ff82169050919050565b61266981612654565b82525050565b5f6020820190506126825f830184612660565b92915050565b61269181612654565b811461269b575f80fd5b50565b5f813590506126ac81612688565b92915050565b5f602082840312156126c7576126c66124da565b5b5f6126d48482850161269e565b91505092915050565b6126e6816125a9565b81146126f0575f80fd5b50565b5f81359050612701816126dd565b92915050565b5f806040838503121561271d5761271c6124da565b5b5f61272a85828601612524565b925050602061273b858286016126f3565b9150509250929050565b5f6020828403121561275a576127596124da565b5b5f61276784828501612524565b91505092915050565b612779816124fd565b82525050565b5f6020820190506127925f830184612770565b92915050565b5f80604083850312156127ae576127ad6124da565b5b5f6127bb85828601612557565b92505060206127cc85828601612557565b9150509250929050565b5f80604083850312156127ec576127eb6124da565b5b5f6127f985828601612524565b925050602061280a85828601612524565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156128965780860481111561287257612871612814565b5b60018516156128815780820291505b808102905061288f85612841565b9450612856565b94509492505050565b5f826128ae5760019050612969565b816128bb575f9050612969565b81600181146128d157600281146128db5761290a565b6001915050612969565b60ff8411156128ed576128ec612814565b5b8360020a91508482111561290457612903612814565b5b50612969565b5060208310610133831016604e8410600b841016171561293f5782820a90508381111561293a57612939612814565b5b612969565b61294c848484600161284d565b9250905081840481111561296357612962612814565b5b81810290505b9392505050565b5f61297a82612538565b915061298583612654565b92506129b27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461289f565b905092915050565b5f6129c482612538565b91506129cf83612538565b92508282026129dd81612538565b915082820484148315176129f4576129f3612814565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612a2f60208361243a565b9150612a3a826129fb565b602082019050919050565b5f6020820190508181035f830152612a5c81612a23565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612a9a82612538565b9150612aa583612538565b925082612ab557612ab4612a63565b5b828204905092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612af460178361243a565b9150612aff82612ac0565b602082019050919050565b5f6020820190508181035f830152612b2181612ae8565b9050919050565b5f81519050612b368161250e565b92915050565b5f60208284031215612b5157612b506124da565b5b5f612b5e84828501612b28565b91505092915050565b5f604082019050612b7a5f830185612770565b612b876020830184612770565b9392505050565b5f819050919050565b5f819050919050565b5f612bba612bb5612bb084612b8e565b612b97565b612538565b9050919050565b612bca81612ba0565b82525050565b5f60c082019050612be35f830189612770565b612bf060208301886125dc565b612bfd6040830187612bc1565b612c0a6060830186612bc1565b612c176080830185612770565b612c2460a08301846125dc565b979650505050505050565b5f81519050612c3d81612541565b92915050565b5f805f60608486031215612c5a57612c596124da565b5b5f612c6786828701612c2f565b9350506020612c7886828701612c2f565b9250506040612c8986828701612c2f565b9150509250925092565b5f604082019050612ca65f830185612770565b612cb360208301846125dc565b9392505050565b5f81519050612cc8816126dd565b92915050565b5f60208284031215612ce357612ce26124da565b5b5f612cf084828501612cba565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612d5360248361243a565b9150612d5e82612cf9565b604082019050919050565b5f6020820190508181035f830152612d8081612d47565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612de160228361243a565b9150612dec82612d87565b604082019050919050565b5f6020820190508181035f830152612e0e81612dd5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612e6f60258361243a565b9150612e7a82612e15565b604082019050919050565b5f6020820190508181035f830152612e9c81612e63565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612efd60238361243a565b9150612f0882612ea3565b604082019050919050565b5f6020820190508181035f830152612f2a81612ef1565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612f8b60298361243a565b9150612f9682612f31565b604082019050919050565b5f6020820190508181035f830152612fb881612f7f565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f61301960248361243a565b915061302482612fbf565b604082019050919050565b5f6020820190508181035f8301526130468161300d565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61308160198361243a565b915061308c8261304d565b602082019050919050565b5f6020820190508181035f8301526130ae81613075565b9050919050565b5f6130bf82612538565b91506130ca83612538565b92508282019050808211156130e2576130e1612814565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61311c601a8361243a565b9150613127826130e8565b602082019050919050565b5f6020820190508181035f83015261314981613110565b9050919050565b5f61315a82612538565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361318c5761318b612814565b5b600182019050919050565b5f6131a182612538565b91506131ac83612538565b92508282039050818111156131c4576131c3612814565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613256816124fd565b82525050565b5f613267838361324d565b60208301905092915050565b5f602082019050919050565b5f61328982613224565b613293818561322e565b935061329e8361323e565b805f5b838110156132ce5781516132b5888261325c565b97506132c083613273565b9250506001810190506132a1565b5085935050505092915050565b5f60a0820190506132ee5f8301886125dc565b6132fb6020830187612bc1565b818103604083015261330d818661327f565b905061331c6060830185612770565b61332960808301846125dc565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61338d60218361243a565b915061339882613333565b604082019050919050565b5f6020820190508181035f8301526133ba81613381565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6133f5601b8361243a565b9150613400826133c1565b602082019050919050565b5f6020820190508181035f830152613422816133e9565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201c24b02ef54fab63765b1317851fc962a03038947e5b0c29e9d0eb5fa61402a164736f6c63430008140033