608060405234801562000010575f80fd5b506040518060400160405280600981526020017f5636436f6f6c4e667400000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f5636434e46540000000000000000000000000000000000000000000000000000815250815f90816200008d9190620003fe565b5080600190816200009f9190620003fe565b5050506001600a81905550620000ca620000be620000d060201b60201c565b620000d760201b60201c565b620004e2565b5f33905090565b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200021657607f821691505b6020821081036200022c576200022b620001d1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000253565b6200029c868362000253565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620002e6620002e0620002da84620002b4565b620002bd565b620002b4565b9050919050565b5f819050919050565b6200030183620002c6565b620003196200031082620002ed565b8484546200025f565b825550505050565b5f90565b6200032f62000321565b6200033c818484620002f6565b505050565b5b818110156200036357620003575f8262000325565b60018101905062000342565b5050565b601f821115620003b2576200037c8162000232565b620003878462000244565b8101602085101562000397578190505b620003af620003a68562000244565b83018262000341565b50505b505050565b5f82821c905092915050565b5f620003d45f1984600802620003b7565b1980831691505092915050565b5f620003ee8383620003c3565b9150826002028217905092915050565b62000409826200019a565b67ffffffffffffffff811115620004255762000424620001a4565b5b620004318254620001fe565b6200043e82828562000367565b5f60209050601f83116001811462000474575f84156200045f578287015190505b6200046b8582620003e1565b865550620004da565b601f198416620004848662000232565b5f5b82811015620004ad5784890151825560018201915060208501945060208101905062000486565b86831015620004cd5784890151620004c9601f891682620003c3565b8355505b6001600288020188555050505b505050505050565b6139ca80620004f05f395ff3fe608060405234801561000f575f80fd5b506004361061012a575f3560e01c806370a08231116100ab578063b88d4fde1161006f578063b88d4fde14610340578063c87b56dd1461035c578063df88a2cd1461038c578063e985e9c5146103bc578063f2fde38b146103ec5761012a565b806370a08231146102ae578063715018a6146102de5780638da5cb5b146102e857806395d89b4114610306578063a22cb465146103245761012a565b806323b872dd116100f257806323b872dd146101e65780632f745c591461020257806342842e0e146102325780634f6ccce71461024e5780636352211e1461027e5761012a565b806301ffc9a71461012e57806306fdde031461015e578063081812fc1461017c578063095ea7b3146101ac57806318160ddd146101c8575b5f80fd5b61014860048036038101906101439190612440565b610408565b6040516101559190612485565b60405180910390f35b610166610481565b6040516101739190612528565b60405180910390f35b6101966004803603810190610191919061257b565b610510565b6040516101a391906125e5565b60405180910390f35b6101c660048036038101906101c19190612628565b610591565b005b6101d06106a7565b6040516101dd9190612675565b60405180910390f35b61020060048036038101906101fb919061268e565b6106b3565b005b61021c60048036038101906102179190612628565b610713565b6040516102299190612675565b60405180910390f35b61024c6004803603810190610247919061268e565b6107b3565b005b6102686004803603810190610263919061257b565b6107d2565b6040516102759190612675565b60405180910390f35b6102986004803603810190610293919061257b565b610840565b6040516102a591906125e5565b60405180910390f35b6102c860048036038101906102c391906126de565b6108ec565b6040516102d59190612675565b60405180910390f35b6102e66109a0565b005b6102f0610a27565b6040516102fd91906125e5565b60405180910390f35b61030e610a4f565b60405161031b9190612528565b60405180910390f35b61033e60048036038101906103399190612733565b610adf565b005b61035a6004803603810190610355919061289d565b610c5a565b005b6103766004803603810190610371919061257b565b610cbc565b6040516103839190612528565b60405180910390f35b6103a660048036038101906103a191906126de565b610e4a565b6040516103b39190612675565b60405180910390f35b6103d660048036038101906103d1919061291d565b610f7e565b6040516103e39190612485565b60405180910390f35b610406600480360381019061040191906126de565b61100c565b005b5f7f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061047a575061047982611102565b5b9050919050565b60605f805461048f90612988565b80601f01602080910402602001604051908101604052809291908181526020018280546104bb90612988565b80156105065780601f106104dd57610100808354040283529160200191610506565b820191905f5260205f20905b8154815290600101906020018083116104e957829003601f168201915b5050505050905090565b5f61051a826111e3565b610559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055090612a28565b60405180910390fd5b60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f61059b82610840565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361060b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060290612ab6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661062a61124b565b73ffffffffffffffffffffffffffffffffffffffff16148061065957506106588161065361124b565b610f7e565b5b610698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068f90612b44565b60405180910390fd5b6106a28383611252565b505050565b5f600880549050905090565b6106c46106be61124b565b82611308565b610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612bd2565b60405180910390fd5b61070e8383836113e4565b505050565b5f61071d836108ec565b821061075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075590612c60565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b6107cd83838360405180602001604052805f815250610c5a565b505050565b5f6107db6106a7565b821061081c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081390612cee565b60405180910390fd5b600882815481106108305761082f612d0c565b5b905f5260205f2001549050919050565b5f8060025f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90612da9565b60405180910390fd5b80915050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290612e37565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109a861124b565b73ffffffffffffffffffffffffffffffffffffffff166109c6610a27565b73ffffffffffffffffffffffffffffffffffffffff1614610a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1390612e9f565b60405180910390fd5b610a255f611634565b565b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610a5e90612988565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8a90612988565b8015610ad55780601f10610aac57610100808354040283529160200191610ad5565b820191905f5260205f20905b815481529060010190602001808311610ab857829003601f168201915b5050505050905090565b610ae761124b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4b90612f07565b60405180910390fd5b8060055f610b6061124b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610c0961124b565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610c4e9190612485565b60405180910390a35050565b610c6b610c6561124b565b83611308565b610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190612bd2565b60405180910390fd5b610cb6848484846116f7565b50505050565b6060610cc66123b3565b60405180610120016040528060ff815260200161389660ff9139815f60038110610cf357610cf2612d0c565b5b6020020181905250610d0483611753565b81600160038110610d1857610d17612d0c565b5b60200201819052506040518060400160405280600d81526020017f3c2f746578743e3c2f7376673e0000000000000000000000000000000000000081525081600260038110610d6a57610d69612d0c565b5b60200201819052505f815f60038110610d8657610d85612d0c565b5b602002015182600160038110610d9f57610d9e612d0c565b5b602002015183600260038110610db857610db7612d0c565b5b6020020151604051602001610dcf93929190612f5f565b60405160208183030381529060405290505f610e1b610ded866118ac565b610df684611a05565b604051602001610e079291906130b9565b604051602081830303815290604052611a05565b905080604051602001610e2e9190613147565b6040516020818303038152906040529150819350505050919050565b5f803073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb9919061317c565b90505f601490508060ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610eef91906131d4565b8210610f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2790613251565b60405180910390fd5b5f5b8160ff168160ff161015610f6557610f58858260ff1685610f53919061326f565b611b95565b8080600101915050610f32565b508060ff1682610f75919061326f565b92505050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b61101461124b565b73ffffffffffffffffffffffffffffffffffffffff16611032610a27565b73ffffffffffffffffffffffffffffffffffffffff1614611088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107f90612e9f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ed90613312565b60405180910390fd5b6110ff81611634565b50565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806111cc57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806111dc57506111db82611bb2565b5b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff1660025f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b5f33905090565b8160045f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166112c283610840565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f611312826111e3565b611351576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611348906133a0565b60405180910390fd5b5f61135b83610840565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806113ca57508373ffffffffffffffffffffffffffffffffffffffff166113b284610510565b73ffffffffffffffffffffffffffffffffffffffff16145b806113db57506113da8185610f7e565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661140482610840565b73ffffffffffffffffffffffffffffffffffffffff161461145a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114519061342e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf906134bc565b60405180910390fd5b6114d3838383611c1b565b6114dd5f82611252565b600160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461152a91906131d4565b92505081905550600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461157e919061326f565b925050819055508160025f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6117028484846113e4565b61170e84848484611d2b565b61174d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117449061354a565b60405180910390fd5b50505050565b60605f8203611799576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506118a7565b5f8290505f5b5f82146117c85780806117b190613568565b915050600a826117c191906135dc565b915061179f565b5f8167ffffffffffffffff8111156117e3576117e2612779565b5b6040519080825280601f01601f1916602001820160405280156118155781602001600182028036833780820191505090505b5090505b5f85146118a05760018261182d91906131d4565b9150600a8561183c919061360c565b6030611848919061326f565b60f81b81838151811061185e5761185d612d0c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600a8561189991906135dc565b9450611819565b8093505050505b919050565b60605f82036118f2576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611a00565b5f8290505f5b5f821461192157808061190a90613568565b915050600a8261191a91906135dc565b91506118f8565b5f8167ffffffffffffffff81111561193c5761193b612779565b5b6040519080825280601f01601f19166020018201604052801561196e5781602001600182028036833780820191505090505b5090505b5f85146119f95760018261198691906131d4565b9150600a85611995919061360c565b60306119a1919061326f565b60f81b8183815181106119b7576119b6612d0c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600a856119f291906135dc565b9450611972565b8093505050505b919050565b60605f825190505f8103611a2a5760405180602001604052805f815250915050611b90565b5f6003600283611a3a919061326f565b611a4491906135dc565b6004611a50919061363c565b90505f602082611a60919061326f565b67ffffffffffffffff811115611a7957611a78612779565b5b6040519080825280601f01601f191660200182016040528015611aab5781602001600182028036833780820191505090505b5090505f60405180606001604052806040815260200161385660409139905060018101602083015f5b86811015611b4d5760038101905062ffffff818a015116603f8160121c168401518060081b905060ff603f83600c1c1686015116810190508060081b905060ff603f8360061c1686015116810190508060081b905060ff603f831686015116810190508060e01b90508084526004840193505050611ad4565b506003860660018114611b675760028114611b7757611b82565b613d3d60f01b6002830352611b82565b603d60f81b60018303525b508484525050819450505050505b919050565b611bae828260405180602001604052805f815250611ead565b5050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611c26838383611f07565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c6757611c6281611f0c565b611ca6565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611ca557611ca48382611f50565b5b5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ce757611ce2816120a6565b611d26565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d2557611d248282612166565b5b5b505050565b5f611d4b8473ffffffffffffffffffffffffffffffffffffffff166121de565b15611ea0578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611d7461124b565b8786866040518563ffffffff1660e01b8152600401611d9694939291906136cf565b6020604051808303815f875af1925050508015611dd157506040513d601f19601f82011682018060405250810190611dce919061372d565b60015b611e50573d805f8114611dff576040519150601f19603f3d011682016040523d82523d5f602084013e611e04565b606091505b505f815103611e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3f9061354a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611ea5565b600190505b949350505050565b611eb783836121ef565b611ec35f848484611d2b565b611f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef99061354a565b60405180910390fd5b505050565b505050565b60088054905060095f8381526020019081526020015f2081905550600881908060018154018082558091505060019003905f5260205f20015f909190919091505550565b5f6001611f5c846108ec565b611f6691906131d4565b90505f60075f8481526020019081526020015f2054905081811461203d575f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205490508060065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f20819055508160075f8381526020019081526020015f2081905550505b60075f8481526020019081526020015f205f905560065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205f905550505050565b5f60016008805490506120b991906131d4565b90505f60095f8481526020019081526020015f205490505f600883815481106120e5576120e4612d0c565b5b905f5260205f2001549050806008838154811061210557612104612d0c565b5b905f5260205f2001819055508160095f8381526020019081526020015f208190555060095f8581526020019081526020015f205f9055600880548061214d5761214c613758565b5b600190038181905f5260205f20015f9055905550505050565b5f612170836108ec565b90508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20819055508060075f8481526020019081526020015f2081905550505050565b5f80823b90505f8111915050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361225d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612254906137cf565b60405180910390fd5b612266816111e3565b156122a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229d90613837565b60405180910390fd5b6122b15f8383611c1b565b600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546122fe919061326f565b925050819055508160025f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60405180606001604052806003905b60608152602001906001900390816123c25790505090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61241f816123eb565b8114612429575f80fd5b50565b5f8135905061243a81612416565b92915050565b5f60208284031215612455576124546123e3565b5b5f6124628482850161242c565b91505092915050565b5f8115159050919050565b61247f8161246b565b82525050565b5f6020820190506124985f830184612476565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124d55780820151818401526020810190506124ba565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6124fa8261249e565b61250481856124a8565b93506125148185602086016124b8565b61251d816124e0565b840191505092915050565b5f6020820190508181035f83015261254081846124f0565b905092915050565b5f819050919050565b61255a81612548565b8114612564575f80fd5b50565b5f8135905061257581612551565b92915050565b5f602082840312156125905761258f6123e3565b5b5f61259d84828501612567565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125cf826125a6565b9050919050565b6125df816125c5565b82525050565b5f6020820190506125f85f8301846125d6565b92915050565b612607816125c5565b8114612611575f80fd5b50565b5f81359050612622816125fe565b92915050565b5f806040838503121561263e5761263d6123e3565b5b5f61264b85828601612614565b925050602061265c85828601612567565b9150509250929050565b61266f81612548565b82525050565b5f6020820190506126885f830184612666565b92915050565b5f805f606084860312156126a5576126a46123e3565b5b5f6126b286828701612614565b93505060206126c386828701612614565b92505060406126d486828701612567565b9150509250925092565b5f602082840312156126f3576126f26123e3565b5b5f61270084828501612614565b91505092915050565b6127128161246b565b811461271c575f80fd5b50565b5f8135905061272d81612709565b92915050565b5f8060408385031215612749576127486123e3565b5b5f61275685828601612614565b92505060206127678582860161271f565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6127af826124e0565b810181811067ffffffffffffffff821117156127ce576127cd612779565b5b80604052505050565b5f6127e06123da565b90506127ec82826127a6565b919050565b5f67ffffffffffffffff82111561280b5761280a612779565b5b612814826124e0565b9050602081019050919050565b828183375f83830152505050565b5f61284161283c846127f1565b6127d7565b90508281526020810184848401111561285d5761285c612775565b5b612868848285612821565b509392505050565b5f82601f83011261288457612883612771565b5b813561289484826020860161282f565b91505092915050565b5f805f80608085870312156128b5576128b46123e3565b5b5f6128c287828801612614565b94505060206128d387828801612614565b93505060406128e487828801612567565b925050606085013567ffffffffffffffff811115612905576129046123e7565b5b61291187828801612870565b91505092959194509250565b5f8060408385031215612933576129326123e3565b5b5f61294085828601612614565b925050602061295185828601612614565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061299f57607f821691505b6020821081036129b2576129b161295b565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e65785f8201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b5f612a12602c836124a8565b9150612a1d826129b8565b604082019050919050565b5f6020820190508181035f830152612a3f81612a06565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e655f8201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b5f612aa06021836124a8565b9150612aab82612a46565b604082019050919050565b5f6020820190508181035f830152612acd81612a94565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f775f8201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b5f612b2e6038836124a8565b9150612b3982612ad4565b604082019050919050565b5f6020820190508181035f830152612b5b81612b22565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f5f8201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b5f612bbc6031836124a8565b9150612bc782612b62565b604082019050919050565b5f6020820190508181035f830152612be981612bb0565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f755f8201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b5f612c4a602b836124a8565b9150612c5582612bf0565b604082019050919050565b5f6020820190508181035f830152612c7781612c3e565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f5f8201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b5f612cd8602c836124a8565b9150612ce382612c7e565b604082019050919050565b5f6020820190508181035f830152612d0581612ccc565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4552433732313a206f776e657220717565727920666f72206e6f6e65786973745f8201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b5f612d936029836124a8565b9150612d9e82612d39565b604082019050919050565b5f6020820190508181035f830152612dc081612d87565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a655f8201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b5f612e21602a836124a8565b9150612e2c82612dc7565b604082019050919050565b5f6020820190508181035f830152612e4e81612e15565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612e896020836124a8565b9150612e9482612e55565b602082019050919050565b5f6020820190508181035f830152612eb681612e7d565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c6572000000000000005f82015250565b5f612ef16019836124a8565b9150612efc82612ebd565b602082019050919050565b5f6020820190508181035f830152612f1e81612ee5565b9050919050565b5f81905092915050565b5f612f398261249e565b612f438185612f25565b9350612f538185602086016124b8565b80840191505092915050565b5f612f6a8286612f2f565b9150612f768285612f2f565b9150612f828284612f2f565b9150819050949350505050565b7f7b226e616d65223a2022535647202300000000000000000000000000000000005f82015250565b5f612fc3600f83612f25565b9150612fce82612f8f565b600f82019050919050565b7f222c20226465736372697074696f6e223a2022546865736520617265207465735f8201527f74206e6674732e222c2022696d616765223a2022646174613a696d6167652f7360208201527f76672b786d6c3b6261736536342c000000000000000000000000000000000000604082015250565b5f613059604e83612f25565b915061306482612fd9565b604e82019050919050565b7f227d0000000000000000000000000000000000000000000000000000000000005f82015250565b5f6130a3600283612f25565b91506130ae8261306f565b600282019050919050565b5f6130c382612fb7565b91506130cf8285612f2f565b91506130da8261304d565b91506130e68284612f2f565b91506130f182613097565b91508190509392505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000005f82015250565b5f613131601d83612f25565b915061313c826130fd565b601d82019050919050565b5f61315182613125565b915061315d8284612f2f565b915081905092915050565b5f8151905061317681612551565b92915050565b5f60208284031215613191576131906123e3565b5b5f61319e84828501613168565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6131de82612548565b91506131e983612548565b9250828203905081811115613201576132006131a7565b5b92915050565b7f6d757374206265206c657373207468616e206d617820696e74000000000000005f82015250565b5f61323b6019836124a8565b915061324682613207565b602082019050919050565b5f6020820190508181035f8301526132688161322f565b9050919050565b5f61327982612548565b915061328483612548565b925082820190508082111561329c5761329b6131a7565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6132fc6026836124a8565b9150613307826132a2565b604082019050919050565b5f6020820190508181035f830152613329816132f0565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e65785f8201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b5f61338a602c836124a8565b915061339582613330565b604082019050919050565b5f6020820190508181035f8301526133b78161337e565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e207468617420695f8201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b5f6134186029836124a8565b9150613423826133be565b604082019050919050565b5f6020820190508181035f8301526134458161340c565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6134a66024836124a8565b91506134b18261344c565b604082019050919050565b5f6020820190508181035f8301526134d38161349a565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e2045524337323152655f8201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b5f6135346032836124a8565b915061353f826134da565b604082019050919050565b5f6020820190508181035f83015261356181613528565b9050919050565b5f61357282612548565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135a4576135a36131a7565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6135e682612548565b91506135f183612548565b925082613601576136006135af565b5b828204905092915050565b5f61361682612548565b915061362183612548565b925082613631576136306135af565b5b828206905092915050565b5f61364682612548565b915061365183612548565b925082820261365f81612548565b91508282048414831517613676576136756131a7565b5b5092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6136a18261367d565b6136ab8185613687565b93506136bb8185602086016124b8565b6136c4816124e0565b840191505092915050565b5f6080820190506136e25f8301876125d6565b6136ef60208301866125d6565b6136fc6040830185612666565b818103606083015261370e8184613697565b905095945050505050565b5f8151905061372781612416565b92915050565b5f60208284031215613742576137416123e3565b5b5f61374f84828501613719565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4552433732313a206d696e7420746f20746865207a65726f20616464726573735f82015250565b5f6137b96020836124a8565b91506137c482613785565b602082019050919050565b5f6020820190508181035f8301526137e6816137ad565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e746564000000005f82015250565b5f613821601c836124a8565b915061382c826137ed565b602082019050919050565b5f6020820190508181035f83015261384e81613815565b905091905056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20343870783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d222361393033666322202f3e3c7465787420783d2231302220793d2234382220636c6173733d2262617365223ea26469706673582212201ff5fb2b05f575ea547d00403d3fb0815890f7248ba92532b8432a784d63abb464736f6c63430008180033