60806040525f600c55348015610013575f80fd5b506040518060400160405280600d81526020017f436972636c656f66426c697373000000000000000000000000000000000000008152506040518060400160405280600d81526020017f434952434c454f46424c49535300000000000000000000000000000000000000815250815f908161008e91906103ce565b50806001908161009e91906103ce565b5050506001600a819055506100c56100ba6100ca60201b60201c565b6100d160201b60201c565b61049d565b5f33905090565b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061020f57607f821691505b602082108103610222576102216101cb565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026102847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610249565b61028e8683610249565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6102d26102cd6102c8846102a6565b6102af565b6102a6565b9050919050565b5f819050919050565b6102eb836102b8565b6102ff6102f7826102d9565b848454610255565b825550505050565b5f90565b610313610307565b61031e8184846102e2565b505050565b5b81811015610341576103365f8261030b565b600181019050610324565b5050565b601f8211156103865761035781610228565b6103608461023a565b8101602085101561036f578190505b61038361037b8561023a565b830182610323565b50505b505050565b5f82821c905092915050565b5f6103a65f198460080261038b565b1980831691505092915050565b5f6103be8383610397565b9150826002028217905092915050565b6103d782610194565b67ffffffffffffffff8111156103f0576103ef61019e565b5b6103fa82546101f8565b610405828285610345565b5f60209050601f831160018114610436575f8415610424578287015190505b61042e85826103b3565b865550610495565b601f19841661044486610228565b5f5b8281101561046b57848901518255600182019150602085019450602081019050610446565b868310156104885784890151610484601f891682610397565b8355505b6001600288020188555050505b505050505050565b613809806104aa5f395ff3fe608060405234801561000f575f80fd5b5060043610610135575f3560e01c80634f6ccce7116100b657806395d89b411161007a57806395d89b4114610337578063a22cb46514610355578063b88d4fde14610371578063c87b56dd1461038d578063e985e9c5146103bd578063f2fde38b146103ed57610135565b80634f6ccce71461027f5780636352211e146102af57806370a08231146102df578063715018a61461030f5780638da5cb5b1461031957610135565b806323b872dd116100fd57806323b872dd146101f15780632f745c591461020d57806342842e0e1461023d578063434f48c4146102595780634e71d92d1461027557610135565b806301ffc9a71461013957806306fdde0314610169578063081812fc14610187578063095ea7b3146101b757806318160ddd146101d3575b5f80fd5b610153600480360381019061014e9190612242565b610409565b6040516101609190612287565b60405180910390f35b610171610482565b60405161017e9190612310565b60405180910390f35b6101a1600480360381019061019c9190612363565b610511565b6040516101ae91906123cd565b60405180910390f35b6101d160048036038101906101cc9190612410565b610592565b005b6101db6106a8565b6040516101e8919061245d565b60405180910390f35b61020b60048036038101906102069190612476565b6106b4565b005b61022760048036038101906102229190612410565b610714565b604051610234919061245d565b60405180910390f35b61025760048036038101906102529190612476565b6107b4565b005b610273600480360381019061026e9190612363565b6107d3565b005b61027d610909565b005b61029960048036038101906102949190612363565b61098c565b6040516102a6919061245d565b60405180910390f35b6102c960048036038101906102c49190612363565b6109fa565b6040516102d691906123cd565b60405180910390f35b6102f960048036038101906102f491906124c6565b610aa6565b604051610306919061245d565b60405180910390f35b610317610b5a565b005b610321610be1565b60405161032e91906123cd565b60405180910390f35b61033f610c09565b60405161034c9190612310565b60405180910390f35b61036f600480360381019061036a919061251b565b610c99565b005b61038b60048036038101906103869190612685565b610e14565b005b6103a760048036038101906103a29190612363565b610e76565b6040516103b49190612310565b60405180910390f35b6103d760048036038101906103d29190612705565b610f00565b6040516103e49190612287565b60405180910390f35b610407600480360381019061040291906124c6565b610f8e565b005b5f7f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061047b575061047a82611084565b5b9050919050565b60605f805461049090612770565b80601f01602080910402602001604051908101604052809291908181526020018280546104bc90612770565b80156105075780601f106104de57610100808354040283529160200191610507565b820191905f5260205f20905b8154815290600101906020018083116104ea57829003601f168201915b5050505050905090565b5f61051b82611165565b61055a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055190612810565b60405180910390fd5b60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f61059c826109fa565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361060c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106039061289e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661062b6111cd565b73ffffffffffffffffffffffffffffffffffffffff16148061065a5750610659816106546111cd565b610f00565b5b610699576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106909061292c565b60405180910390fd5b6106a383836111d4565b505050565b5f600880549050905090565b6106c56106bf6111cd565b8261128a565b610704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fb906129ba565b60405180910390fd5b61070f838383611366565b505050565b5f61071e83610aa6565b821061075f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075690612a48565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b6107ce83838360405180602001604052805f815250610e14565b505050565b6002600a5403610818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080f90612ab0565b60405180910390fd5b6002600a819055506108286111cd565b73ffffffffffffffffffffffffffffffffffffffff16610846610be1565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089390612b18565b60405180910390fd5b611e61811180156108ae5750611f4181105b6108ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e490612b80565b60405180910390fd5b6108fe6108f8610be1565b826115b6565b6001600a8190555050565b6002600a540361094e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094590612ab0565b60405180910390fd5b6002600a819055506001600c5f8282546109689190612bcb565b9250508190555061098261097a6111cd565b600c546115b6565b6001600a81905550565b5f6109956106a8565b82106109d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cd90612c6e565b60405180910390fd5b600882815481106109ea576109e9612c8c565b5b905f5260205f2001549050919050565b5f8060025f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9490612d29565b60405180910390fd5b80915050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0c90612db7565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b626111cd565b73ffffffffffffffffffffffffffffffffffffffff16610b80610be1565b73ffffffffffffffffffffffffffffffffffffffff1614610bd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcd90612b18565b60405180910390fd5b610bdf5f6115d3565b565b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610c1890612770565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4490612770565b8015610c8f5780601f10610c6657610100808354040283529160200191610c8f565b820191905f5260205f20905b815481529060010190602001808311610c7257829003601f168201915b5050505050905090565b610ca16111cd565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0590612e1f565b60405180910390fd5b8060055f610d1a6111cd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610dc36111cd565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610e089190612287565b60405180910390a35050565b610e25610e1f6111cd565b8361128a565b610e64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5b906129ba565b60405180910390fd5b610e7084848484611696565b50505050565b60605f60405180610180016040528061015d815260200161367761015d913990505f610ed2610ea4856116f2565b610ead8461184b565b604051602001610ebe929190612fa1565b60405160208183030381529060405261184b565b905080604051602001610ee5919061302f565b60405160208183030381529060405291508192505050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b610f966111cd565b73ffffffffffffffffffffffffffffffffffffffff16610fb4610be1565b73ffffffffffffffffffffffffffffffffffffffff161461100a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100190612b18565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106f906130c0565b60405180910390fd5b611081816115d3565b50565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061114e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061115e575061115d826119db565b5b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff1660025f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b5f33905090565b8160045f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611244836109fa565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f61129482611165565b6112d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ca9061314e565b60405180910390fd5b5f6112dd836109fa565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061134c57508373ffffffffffffffffffffffffffffffffffffffff1661133484610511565b73ffffffffffffffffffffffffffffffffffffffff16145b8061135d575061135c8185610f00565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611386826109fa565b73ffffffffffffffffffffffffffffffffffffffff16146113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d3906131dc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361144a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114419061326a565b60405180910390fd5b611455838383611a44565b61145f5f826111d4565b600160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546114ac9190613288565b92505081905550600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546115009190612bcb565b925050819055508160025f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6115cf828260405180602001604052805f815250611b54565b5050565b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6116a1848484611366565b6116ad84848484611bae565b6116ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e39061332b565b60405180910390fd5b50505050565b60605f8203611738576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611846565b5f8290505f5b5f821461176757808061175090613349565b915050600a8261176091906133bd565b915061173e565b5f8167ffffffffffffffff81111561178257611781612561565b5b6040519080825280601f01601f1916602001820160405280156117b45781602001600182028036833780820191505090505b5090505b5f851461183f576001826117cc9190613288565b9150600a856117db91906133ed565b60306117e79190612bcb565b60f81b8183815181106117fd576117fc612c8c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600a8561183891906133bd565b94506117b8565b8093505050505b919050565b60605f825190505f81036118705760405180602001604052805f8152509150506119d6565b5f60036002836118809190612bcb565b61188a91906133bd565b6004611896919061341d565b90505f6020826118a69190612bcb565b67ffffffffffffffff8111156118bf576118be612561565b5b6040519080825280601f01601f1916602001820160405280156118f15781602001600182028036833780820191505090505b5090505f60405180606001604052806040815260200161363760409139905060018101602083015f5b868110156119935760038101905062ffffff818a015116603f8160121c168401518060081b905060ff603f83600c1c1686015116810190508060081b905060ff603f8360061c1686015116810190508060081b905060ff603f831686015116810190508060e01b9050808452600484019350505061191a565b5060038606600181146119ad57600281146119bd576119c8565b613d3d60f01b60028303526119c8565b603d60f81b60018303525b508484525050819450505050505b919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611a4f838383611d30565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a9057611a8b81611d35565b611acf565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611ace57611acd8382611d79565b5b5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b1057611b0b81611ecf565b611b4f565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b4e57611b4d8282611f8f565b5b5b505050565b611b5e8383612007565b611b6a5f848484611bae565b611ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba09061332b565b60405180910390fd5b505050565b5f611bce8473ffffffffffffffffffffffffffffffffffffffff166121cb565b15611d23578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611bf76111cd565b8786866040518563ffffffff1660e01b8152600401611c1994939291906134b0565b6020604051808303815f875af1925050508015611c5457506040513d601f19601f82011682018060405250810190611c51919061350e565b60015b611cd3573d805f8114611c82576040519150601f19603f3d011682016040523d82523d5f602084013e611c87565b606091505b505f815103611ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc29061332b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611d28565b600190505b949350505050565b505050565b60088054905060095f8381526020019081526020015f2081905550600881908060018154018082558091505060019003905f5260205f20015f909190919091505550565b5f6001611d8584610aa6565b611d8f9190613288565b90505f60075f8481526020019081526020015f20549050818114611e66575f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205490508060065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f20819055508160075f8381526020019081526020015f2081905550505b60075f8481526020019081526020015f205f905560065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205f905550505050565b5f6001600880549050611ee29190613288565b90505f60095f8481526020019081526020015f205490505f60088381548110611f0e57611f0d612c8c565b5b905f5260205f20015490508060088381548110611f2e57611f2d612c8c565b5b905f5260205f2001819055508160095f8381526020019081526020015f208190555060095f8581526020019081526020015f205f90556008805480611f7657611f75613539565b5b600190038181905f5260205f20015f9055905550505050565b5f611f9983610aa6565b90508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20819055508060075f8481526020019081526020015f2081905550505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206c906135b0565b60405180910390fd5b61207e81611165565b156120be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b590613618565b60405180910390fd5b6120c95f8383611a44565b600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546121169190612bcb565b925050819055508160025f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b5f80823b90505f8111915050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612221816121ed565b811461222b575f80fd5b50565b5f8135905061223c81612218565b92915050565b5f60208284031215612257576122566121e5565b5b5f6122648482850161222e565b91505092915050565b5f8115159050919050565b6122818161226d565b82525050565b5f60208201905061229a5f830184612278565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6122e2826122a0565b6122ec81856122aa565b93506122fc8185602086016122ba565b612305816122c8565b840191505092915050565b5f6020820190508181035f83015261232881846122d8565b905092915050565b5f819050919050565b61234281612330565b811461234c575f80fd5b50565b5f8135905061235d81612339565b92915050565b5f60208284031215612378576123776121e5565b5b5f6123858482850161234f565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123b78261238e565b9050919050565b6123c7816123ad565b82525050565b5f6020820190506123e05f8301846123be565b92915050565b6123ef816123ad565b81146123f9575f80fd5b50565b5f8135905061240a816123e6565b92915050565b5f8060408385031215612426576124256121e5565b5b5f612433858286016123fc565b92505060206124448582860161234f565b9150509250929050565b61245781612330565b82525050565b5f6020820190506124705f83018461244e565b92915050565b5f805f6060848603121561248d5761248c6121e5565b5b5f61249a868287016123fc565b93505060206124ab868287016123fc565b92505060406124bc8682870161234f565b9150509250925092565b5f602082840312156124db576124da6121e5565b5b5f6124e8848285016123fc565b91505092915050565b6124fa8161226d565b8114612504575f80fd5b50565b5f81359050612515816124f1565b92915050565b5f8060408385031215612531576125306121e5565b5b5f61253e858286016123fc565b925050602061254f85828601612507565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612597826122c8565b810181811067ffffffffffffffff821117156125b6576125b5612561565b5b80604052505050565b5f6125c86121dc565b90506125d4828261258e565b919050565b5f67ffffffffffffffff8211156125f3576125f2612561565b5b6125fc826122c8565b9050602081019050919050565b828183375f83830152505050565b5f612629612624846125d9565b6125bf565b9050828152602081018484840111156126455761264461255d565b5b612650848285612609565b509392505050565b5f82601f83011261266c5761266b612559565b5b813561267c848260208601612617565b91505092915050565b5f805f806080858703121561269d5761269c6121e5565b5b5f6126aa878288016123fc565b94505060206126bb878288016123fc565b93505060406126cc8782880161234f565b925050606085013567ffffffffffffffff8111156126ed576126ec6121e9565b5b6126f987828801612658565b91505092959194509250565b5f806040838503121561271b5761271a6121e5565b5b5f612728858286016123fc565b9250506020612739858286016123fc565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061278757607f821691505b60208210810361279a57612799612743565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e65785f8201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b5f6127fa602c836122aa565b9150612805826127a0565b604082019050919050565b5f6020820190508181035f830152612827816127ee565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e655f8201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128886021836122aa565b91506128938261282e565b604082019050919050565b5f6020820190508181035f8301526128b58161287c565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f775f8201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b5f6129166038836122aa565b9150612921826128bc565b604082019050919050565b5f6020820190508181035f8301526129438161290a565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f5f8201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b5f6129a46031836122aa565b91506129af8261294a565b604082019050919050565b5f6020820190508181035f8301526129d181612998565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f755f8201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b5f612a32602b836122aa565b9150612a3d826129d8565b604082019050919050565b5f6020820190508181035f830152612a5f81612a26565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f612a9a601f836122aa565b9150612aa582612a66565b602082019050919050565b5f6020820190508181035f830152612ac781612a8e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b026020836122aa565b9150612b0d82612ace565b602082019050919050565b5f6020820190508181035f830152612b2f81612af6565b9050919050565b7f546f6b656e20494420696e76616c6964000000000000000000000000000000005f82015250565b5f612b6a6010836122aa565b9150612b7582612b36565b602082019050919050565b5f6020820190508181035f830152612b9781612b5e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612bd582612330565b9150612be083612330565b9250828201905080821115612bf857612bf7612b9e565b5b92915050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f5f8201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b5f612c58602c836122aa565b9150612c6382612bfe565b604082019050919050565b5f6020820190508181035f830152612c8581612c4c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4552433732313a206f776e657220717565727920666f72206e6f6e65786973745f8201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b5f612d136029836122aa565b9150612d1e82612cb9565b604082019050919050565b5f6020820190508181035f830152612d4081612d07565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a655f8201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b5f612da1602a836122aa565b9150612dac82612d47565b604082019050919050565b5f6020820190508181035f830152612dce81612d95565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c6572000000000000005f82015250565b5f612e096019836122aa565b9150612e1482612dd5565b602082019050919050565b5f6020820190508181035f830152612e3681612dfd565b9050919050565b5f81905092915050565b7f7b226e616d65223a2022436972636c656f66426c6973732023000000000000005f82015250565b5f612e7b601983612e3d565b9150612e8682612e47565b601982019050919050565b5f612e9b826122a0565b612ea58185612e3d565b9350612eb58185602086016122ba565b80840191505092915050565b7f222c20226465736372697074696f6e223a2022436972636c656f66426c6973735f8201527f222c2022696d616765223a2022646174613a696d6167652f7376672b786d6c3b60208201527f6261736536342c00000000000000000000000000000000000000000000000000604082015250565b5f612f41604783612e3d565b9150612f4c82612ec1565b604782019050919050565b7f227d0000000000000000000000000000000000000000000000000000000000005f82015250565b5f612f8b600283612e3d565b9150612f9682612f57565b600282019050919050565b5f612fab82612e6f565b9150612fb78285612e91565b9150612fc282612f35565b9150612fce8284612e91565b9150612fd982612f7f565b91508190509392505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000005f82015250565b5f613019601d83612e3d565b915061302482612fe5565b601d82019050919050565b5f6130398261300d565b91506130458284612e91565b915081905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6130aa6026836122aa565b91506130b582613050565b604082019050919050565b5f6020820190508181035f8301526130d78161309e565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e65785f8201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b5f613138602c836122aa565b9150613143826130de565b604082019050919050565b5f6020820190508181035f8301526131658161312c565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e207468617420695f8201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b5f6131c66029836122aa565b91506131d18261316c565b604082019050919050565b5f6020820190508181035f8301526131f3816131ba565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6132546024836122aa565b915061325f826131fa565b604082019050919050565b5f6020820190508181035f83015261328181613248565b9050919050565b5f61329282612330565b915061329d83612330565b92508282039050818111156132b5576132b4612b9e565b5b92915050565b7f4552433732313a207472616e7366657220746f206e6f6e2045524337323152655f8201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b5f6133156032836122aa565b9150613320826132bb565b604082019050919050565b5f6020820190508181035f83015261334281613309565b9050919050565b5f61335382612330565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361338557613384612b9e565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133c782612330565b91506133d283612330565b9250826133e2576133e1613390565b5b828204905092915050565b5f6133f782612330565b915061340283612330565b92508261341257613411613390565b5b828206905092915050565b5f61342782612330565b915061343283612330565b925082820261344081612330565b9150828204841483151761345757613456612b9e565b5b5092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6134828261345e565b61348c8185613468565b935061349c8185602086016122ba565b6134a5816122c8565b840191505092915050565b5f6080820190506134c35f8301876123be565b6134d060208301866123be565b6134dd604083018561244e565b81810360608301526134ef8184613478565b905095945050505050565b5f8151905061350881612218565b92915050565b5f60208284031215613523576135226121e5565b5b5f613530848285016134fa565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4552433732313a206d696e7420746f20746865207a65726f20616464726573735f82015250565b5f61359a6020836122aa565b91506135a582613566565b602082019050919050565b5f6020820190508181035f8301526135c78161358e565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e746564000000005f82015250565b5f613602601c836122aa565b915061360d826135ce565b602082019050919050565b5f6020820190508181035f83015261362f816135f6565b905091905056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c7376672077696474683d2236303022206865696768743d22373030222076696577426f783d223020302036303020373030222066696c6c3d226e6f6e65223e20203c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d222346354634414622202f3e20203c706f6c79676f6e20706f696e74733d22333030203130302c20343030203235302c2032303020333530222066696c6c3d222338413242453222202f3e20203c706f6c79676f6e20706f696e74733d22333030203430302c20343030203235302c2032303020333530222066696c6c3d222344433541463022202f3e20203c706f6c79676f6e20706f696e74733d22333030203235302c20343030203130302c2032303020313030222066696c6c3d222332384234363322202f3e3c2f7376673ea264697066735822122070562e7ef923a7cc1a82e32ac2eff14b9c8289fd2eef6f2107c436765084ad3164736f6c634300081a0033