61012060405273962228f791e745273700024d54e3f9897a3e819873ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525060405180606001604052806036815260200162003a1b6036913960099080519060200190620000809291906200028e565b50660aa87bee53800060a09081525066071afd498d000060c0908152506105dc63ffffffff1660e09063ffffffff1660e01b815250600563ffffffff166101009063ffffffff1660e01b815250348015620000da57600080fd5b506040518060400160405280600a81526020017f4c612020202048696768000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f486967680000000000000000000000000000000000000000000000000000000081525081600290805190602001906200015f9291906200028e565b508060039080519060200190620001789291906200028e565b5062000189620001b760201b60201c565b6000819055505050620001b1620001a5620001c060201b60201c565b620001c860201b60201c565b620003a3565b60006001905090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200029c906200033e565b90600052602060002090601f016020900481019282620002c057600085556200030c565b82601f10620002db57805160ff19168380011785556200030c565b828001600101855582156200030c579182015b828111156200030b578251825591602001919060010190620002ee565b5b5090506200031b91906200031f565b5090565b5b808211156200033a57600081600090555060010162000320565b5090565b600060028204905060018216806200035757607f821691505b602082108114156200036e576200036d62000374565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60805160601c60a05160c05160e05160e01c6101005160e01c6135f96200042260003960006112ed015260008181610d3101528181610d70015261119d01526000818161074d0152610ccf015260008181610aa80152610dec015260008181610c0701528181611c5b015281816121ce015261225701526135f96000f3fe6080604052600436106101665760003560e01c806370a08231116100d1578063b88d4fde1161008a578063e985e9c511610064578063e985e9c51461051d578063f2fde38b1461055a578063f65229dc14610583578063f968adbe146105ac57610166565b8063b88d4fde1461048c578063c87b56dd146104b5578063d5abeb01146104f257610166565b806370a082311461038b57806372f6f6bd146103c85780638da5cb5b146103e457806395d89b411461040f5780639b642de11461043a578063a22cb4651461046357610166565b806323b872dd1161012357806323b872dd1461028f5780633ccfd60b146102b857806342842e0e146102cf57806362b99ad4146102f85780636352211e146103235780636817c76c1461036057610166565b806301ffc9a71461016b57806306fdde03146101a85780630773387b146101d3578063081812fc146101fe578063095ea7b31461023b57806318160ddd14610264575b600080fd5b34801561017757600080fd5b50610192600480360381019061018d9190612ab6565b6105d7565b60405161019f9190612dfa565b60405180910390f35b3480156101b457600080fd5b506101bd6106b9565b6040516101ca9190612e15565b60405180910390f35b3480156101df57600080fd5b506101e861074b565b6040516101f59190612ef7565b60405180910390f35b34801561020a57600080fd5b5061022560048036038101906102209190612b59565b61076f565b6040516102329190612d93565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d9190612a76565b6107eb565b005b34801561027057600080fd5b506102796108f6565b6040516102869190612ef7565b60405180910390f35b34801561029b57600080fd5b506102b660048036038101906102b19190612960565b61090d565b005b3480156102c457600080fd5b506102cd61091d565b005b3480156102db57600080fd5b506102f660048036038101906102f19190612960565b6109e2565b005b34801561030457600080fd5b5061030d610a02565b60405161031a9190612e15565b60405180910390f35b34801561032f57600080fd5b5061034a60048036038101906103459190612b59565b610a90565b6040516103579190612d93565b60405180910390f35b34801561036c57600080fd5b50610375610aa6565b6040516103829190612ef7565b60405180910390f35b34801561039757600080fd5b506103b260048036038101906103ad91906128f3565b610aca565b6040516103bf9190612ef7565b60405180910390f35b6103e260048036038101906103dd9190612b59565b610c5f565b005b3480156103f057600080fd5b506103f9610e2a565b6040516104069190612d93565b60405180910390f35b34801561041b57600080fd5b50610424610e54565b6040516104319190612e15565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c9190612b10565b610ee6565b005b34801561046f57600080fd5b5061048a60048036038101906104859190612a36565b610f08565b005b34801561049857600080fd5b506104b360048036038101906104ae91906129b3565b611080565b005b3480156104c157600080fd5b506104dc60048036038101906104d79190612b59565b6110fc565b6040516104e99190612e15565b60405180910390f35b3480156104fe57600080fd5b5061050761119b565b6040516105149190612f12565b60405180910390f35b34801561052957600080fd5b50610544600480360381019061053f9190612920565b6111bf565b6040516105519190612dfa565b60405180910390f35b34801561056657600080fd5b50610581600480360381019061057c91906128f3565b611253565b005b34801561058f57600080fd5b506105aa60048036038101906105a59190612b59565b6112d7565b005b3480156105b857600080fd5b506105c16112eb565b6040516105ce9190612f12565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106a257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106b257506106b18261130f565b5b9050919050565b6060600280546106c89061325b565b80601f01602080910402602001604051908101604052809291908181526020018280546106f49061325b565b80156107415780601f1061071657610100808354040283529160200191610741565b820191906000526020600020905b81548152906001019060200180831161072457829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061077a82611379565b6107b0576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107f682610a90565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561085e576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661087d6113c7565b73ffffffffffffffffffffffffffffffffffffffff16141580156108af57506108ad816108a86113c7565b6111bf565b155b156108e6576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108f18383836113cf565b505050565b6000610900611481565b6001546000540303905090565b61091883838361148a565b505050565b61092561197b565b6000479050600033905060008173ffffffffffffffffffffffffffffffffffffffff168360405161095590612d7e565b60006040518083038185875af1925050503d8060008114610992576040519150601f19603f3d011682016040523d82523d6000602084013e610997565b606091505b505080915050806109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d490612e77565b60405180910390fd5b505050565b6109fd83838360405180602001604052806000815250611080565b505050565b60098054610a0f9061325b565b80601f0160208091040260200160405190810160405280929190818152602001828054610a3b9061325b565b8015610a885780601f10610a5d57610100808354040283529160200191610a88565b820191906000526020600020905b815481529060010190602001808311610a6b57829003601f168201915b505050505081565b6000610a9b826119f9565b600001519050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b32576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614610c0257600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050610c5a565b6000547f000000000000000000000000000000000000000000000000000000000000000083610c31919061312d565b73ffffffffffffffffffffffffffffffffffffffff1611610c555760019050610c5a565b600090505b919050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610ccd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc490612eb7565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003411610d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2690612e37565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1681610d5f6108f6565b610d69919061304c565b11610e27577f000000000000000000000000000000000000000000000000000000000000000063ffffffff1681610d9e6108f6565b610da8919061304c565b1115610de9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de090612e97565b60405180910390fd5b807f0000000000000000000000000000000000000000000000000000000000000000610e1591906130d3565b3410610e2657610e253382611cf6565b5b5b50565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610e639061325b565b80601f0160208091040260200160405190810160405280929190818152602001828054610e8f9061325b565b8015610edc5780601f10610eb157610100808354040283529160200191610edc565b820191906000526020600020905b815481529060010190602001808311610ebf57829003601f168201915b5050505050905090565b610eee61197b565b8060099080519060200190610f049291906126c4565b5050565b610f106113c7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f75576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060076000610f826113c7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661102f6113c7565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516110749190612dfa565b60405180910390a35050565b61108b84848461148a565b6110aa8373ffffffffffffffffffffffffffffffffffffffff16611d14565b80156110bf57506110bd84848484611d37565b155b156110f6576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b606061110782611379565b61113d576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611147611e97565b90506000815114156111685760405180602001604052806000815250611193565b8061117284611f29565b604051602001611183929190612d5a565b6040516020818303038152906040525b915050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61125b61197b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c290612e57565b60405180910390fd5b6112d48161208a565b50565b6112df61197b565b6112e881612150565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600081611384611481565b11158015611393575060005482105b80156113c0575060046000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b600033905090565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60006001905090565b6000611495826119f9565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff166114bc6113c7565b73ffffffffffffffffffffffffffffffffffffffff1614806114ef57506114ee82600001516114e96113c7565b6111bf565b5b8061153457506114fd6113c7565b73ffffffffffffffffffffffffffffffffffffffff1661151c8461076f565b73ffffffffffffffffffffffffffffffffffffffff16145b90508061156d576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16146115d6576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561163d576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61164a858585600161215c565b61165a60008484600001516113cf565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836004600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600085815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600184019050600073ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561190b5760005481101561190a5782600001516004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082602001516004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b50828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46119748585856001612162565b5050505050565b6119836113c7565b73ffffffffffffffffffffffffffffffffffffffff166119a1610e2a565b73ffffffffffffffffffffffffffffffffffffffff16146119f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ee90612ed7565b60405180910390fd5b565b611a0161274a565b600082905080611a0f611481565b11158015611a1e575060005481105b15611cbf576000600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff16151515158152505090508060400151611cbd57600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611b33578092505050611cf1565b6000600990505b828060019003935050600460008481526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509150600073ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614611c4957819350505050611cf1565b6000816001900391508111611b3a57847f000000000000000000000000000000000000000000000000000000000000000001826000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050819350505050611cf1565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b611d10828260405180602001604052806000815250612168565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611d5d6113c7565b8786866040518563ffffffff1660e01b8152600401611d7f9493929190612dae565b602060405180830381600087803b158015611d9957600080fd5b505af1925050508015611dca57506040513d601f19601f82011682018060405250810190611dc79190612ae3565b60015b611e44573d8060008114611dfa576040519150601f19603f3d011682016040523d82523d6000602084013e611dff565b606091505b50600081511415611e3c576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b606060098054611ea69061325b565b80601f0160208091040260200160405190810160405280929190818152602001828054611ed29061325b565b8015611f1f5780601f10611ef457610100808354040283529160200191611f1f565b820191906000526020600020905b815481529060010190602001808311611f0257829003601f168201915b5050505050905090565b60606000821415611f71576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612085565b600082905060005b60008214611fa3578080611f8c906132be565b915050600a82611f9c91906130a2565b9150611f79565b60008167ffffffffffffffff811115611fbf57611fbe6133f4565b5b6040519080825280601f01601f191660200182016040528015611ff15781602001600182028036833780820191505090505b5090505b6000851461207e5760018261200a9190613161565b9150600a856120199190613307565b6030612025919061304c565b60f81b81838151811061203b5761203a6133c5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561207791906130a2565b9450611ff5565b8093505050505b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6121598161217a565b50565b50505050565b50505050565b61217583838360016122f6565b505050565b60008114156121b5576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080549050600082826121c9919061304c565b9050817f00000000000000000000000000000000000000000000000000000000000000006121f79190613002565b600460008054815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b81806001019250827f00000000000000000000000000000000000000000000000000000000000000000173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082141561224d57826000808282546122ea919061304c565b92505081905550505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612363576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084141561239e576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6123ab600086838761215c565b83600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060008190506000858201905083801561257557506125748773ffffffffffffffffffffffffffffffffffffffff16611d14565b5b1561263b575b818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46125ea6000888480600101955088611d37565b612620576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082141561257b57826000541461263657600080fd5b6126a7565b5b818060010192508773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082141561263c575b8160008190555050506126bd6000868387612162565b5050505050565b8280546126d09061325b565b90600052602060002090601f0160209004810192826126f25760008555612739565b82601f1061270b57805160ff1916838001178555612739565b82800160010185558215612739579182015b8281111561273857825182559160200191906001019061271d565b5b509050612746919061278d565b5090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b5b808211156127a657600081600090555060010161278e565b5090565b60006127bd6127b884612f52565b612f2d565b9050828152602081018484840111156127d9576127d8613428565b5b6127e4848285613219565b509392505050565b60006127ff6127fa84612f83565b612f2d565b90508281526020810184848401111561281b5761281a613428565b5b612826848285613219565b509392505050565b60008135905061283d81613567565b92915050565b6000813590506128528161357e565b92915050565b60008135905061286781613595565b92915050565b60008151905061287c81613595565b92915050565b600082601f83011261289757612896613423565b5b81356128a78482602086016127aa565b91505092915050565b600082601f8301126128c5576128c4613423565b5b81356128d58482602086016127ec565b91505092915050565b6000813590506128ed816135ac565b92915050565b60006020828403121561290957612908613432565b5b60006129178482850161282e565b91505092915050565b6000806040838503121561293757612936613432565b5b60006129458582860161282e565b92505060206129568582860161282e565b9150509250929050565b60008060006060848603121561297957612978613432565b5b60006129878682870161282e565b93505060206129988682870161282e565b92505060406129a9868287016128de565b9150509250925092565b600080600080608085870312156129cd576129cc613432565b5b60006129db8782880161282e565b94505060206129ec8782880161282e565b93505060406129fd878288016128de565b925050606085013567ffffffffffffffff811115612a1e57612a1d61342d565b5b612a2a87828801612882565b91505092959194509250565b60008060408385031215612a4d57612a4c613432565b5b6000612a5b8582860161282e565b9250506020612a6c85828601612843565b9150509250929050565b60008060408385031215612a8d57612a8c613432565b5b6000612a9b8582860161282e565b9250506020612aac858286016128de565b9150509250929050565b600060208284031215612acc57612acb613432565b5b6000612ada84828501612858565b91505092915050565b600060208284031215612af957612af8613432565b5b6000612b078482850161286d565b91505092915050565b600060208284031215612b2657612b25613432565b5b600082013567ffffffffffffffff811115612b4457612b4361342d565b5b612b50848285016128b0565b91505092915050565b600060208284031215612b6f57612b6e613432565b5b6000612b7d848285016128de565b91505092915050565b612b8f81613195565b82525050565b612b9e816131a7565b82525050565b6000612baf82612fb4565b612bb98185612fca565b9350612bc9818560208601613228565b612bd281613437565b840191505092915050565b6000612be882612fbf565b612bf28185612fe6565b9350612c02818560208601613228565b612c0b81613437565b840191505092915050565b6000612c2182612fbf565b612c2b8185612ff7565b9350612c3b818560208601613228565b80840191505092915050565b6000612c54600c83612fe6565b9150612c5f82613448565b602082019050919050565b6000612c77602683612fe6565b9150612c8282613471565b604082019050919050565b6000612c9a601883612fe6565b9150612ca5826134c0565b602082019050919050565b6000612cbd600883612fe6565b9150612cc8826134e9565b602082019050919050565b6000612ce0601e83612fe6565b9150612ceb82613512565b602082019050919050565b6000612d03602083612fe6565b9150612d0e8261353b565b602082019050919050565b6000612d26600083612fdb565b9150612d3182613564565b600082019050919050565b612d45816131ff565b82525050565b612d5481613209565b82525050565b6000612d668285612c16565b9150612d728284612c16565b91508190509392505050565b6000612d8982612d19565b9150819050919050565b6000602082019050612da86000830184612b86565b92915050565b6000608082019050612dc36000830187612b86565b612dd06020830186612b86565b612ddd6040830185612d3c565b8181036060830152612def8184612ba4565b905095945050505050565b6000602082019050612e0f6000830184612b95565b92915050565b60006020820190508181036000830152612e2f8184612bdd565b905092915050565b60006020820190508181036000830152612e5081612c47565b9050919050565b60006020820190508181036000830152612e7081612c6a565b9050919050565b60006020820190508181036000830152612e9081612c8d565b9050919050565b60006020820190508181036000830152612eb081612cb0565b9050919050565b60006020820190508181036000830152612ed081612cd3565b9050919050565b60006020820190508181036000830152612ef081612cf6565b9050919050565b6000602082019050612f0c6000830184612d3c565b92915050565b6000602082019050612f276000830184612d4b565b92915050565b6000612f37612f48565b9050612f43828261328d565b919050565b6000604051905090565b600067ffffffffffffffff821115612f6d57612f6c6133f4565b5b612f7682613437565b9050602081019050919050565b600067ffffffffffffffff821115612f9e57612f9d6133f4565b5b612fa782613437565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061300d826131df565b9150613018836131df565b92508273ffffffffffffffffffffffffffffffffffffffff0382111561304157613040613338565b5b828201905092915050565b6000613057826131ff565b9150613062836131ff565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561309757613096613338565b5b828201905092915050565b60006130ad826131ff565b91506130b8836131ff565b9250826130c8576130c7613367565b5b828204905092915050565b60006130de826131ff565b91506130e9836131ff565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561312257613121613338565b5b828202905092915050565b6000613138826131df565b9150613143836131df565b92508282101561315657613155613338565b5b828203905092915050565b600061316c826131ff565b9150613177836131ff565b92508282101561318a57613189613338565b5b828203905092915050565b60006131a0826131df565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b82818337600083830152505050565b60005b8381101561324657808201518184015260208101905061322b565b83811115613255576000848401525b50505050565b6000600282049050600182168061327357607f821691505b6020821081141561328757613286613396565b5b50919050565b61329682613437565b810181811067ffffffffffffffff821117156132b5576132b46133f4565b5b80604052505050565b60006132c9826131ff565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156132fc576132fb613338565b5b600182019050919050565b6000613312826131ff565b915061331d836131ff565b92508261332d5761332c613367565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f696e73756666696369656e740000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5472616e73616374696f6e20556e7375636365737366756c0000000000000000600082015250565b7f736f6c64206f7574000000000000000000000000000000000000000000000000600082015250565b7f5468652063616c6c657220697320616e6f7468657220636f6e74726163740000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b61357081613195565b811461357b57600080fd5b50565b613587816131a7565b811461359257600080fd5b50565b61359e816131b3565b81146135a957600080fd5b50565b6135b5816131ff565b81146135c057600080fd5b5056fea264697066735822122053f8d976e536dda28ae49d01fcb40b18818eab4cbd13862c2b8e7b2bc4d6db8b64736f6c63430008070033697066733a2f2f516d554554475647597337445533564e326668626e4257386f74353248557a7359367a766e3441756a6878765a362f