60806040523480156200001157600080fd5b50620000226200003860201b60201c565b620000326200003860201b60201c565b620001e2565b600060019054906101000a900460ff16156200008b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000829062000185565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620000fc5760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff604051620000f39190620001c5565b60405180910390a15b565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60006200016d602783620000fe565b91506200017a826200010f565b604082019050919050565b60006020820190508181036000830152620001a0816200015e565b9050919050565b600060ff82169050919050565b620001bf81620001a7565b82525050565b6000602082019050620001dc6000830184620001b4565b92915050565b61413480620001f26000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637ecebe00116100de578063a457c2d711610097578063d505accf11610071578063d505accf1461048a578063dd62ed3e146104a6578063de7ea79d146104d6578063f77c4791146104f257610173565b8063a457c2d7146103fa578063a9059cbb1461042a578063d4fac45d1461045a57610173565b80637ecebe001461032057806384b0196e146103505780638d22ea2a1461037457806390596dd1146103a4578063919974dc146103c057806395d89b41146103dc57610173565b80633644e515116101305780633644e5151461024e578063395093511461026c5780635c19a95c1461029c5780635d7b0758146102b8578063631b5dfb146102d457806370a08231146102f057610173565b806306fdde0314610178578063095ea7b31461019657806318160ddd146101c657806323b872dd146101e4578063313ce5671461021457806333e39b6114610232575b600080fd5b610180610510565b60405161018d91906129f0565b60405180910390f35b6101b060048036038101906101ab9190612aba565b6105a2565b6040516101bd9190612b15565b60405180910390f35b6101ce6105c5565b6040516101db9190612b3f565b60405180910390f35b6101fe60048036038101906101f99190612b5a565b6105cf565b60405161020b9190612b15565b60405180910390f35b61021c6105fe565b6040516102299190612bc9565b60405180910390f35b61024c60048036038101906102479190612be4565b610615565b005b6102566106b3565b6040516102639190612c3d565b60405180910390f35b61028660048036038101906102819190612aba565b6106c2565b6040516102939190612b15565b60405180910390f35b6102b660048036038101906102b19190612c58565b6106f9565b005b6102d260048036038101906102cd9190612aba565b610706565b005b6102ee60048036038101906102e99190612b5a565b6107a4565b005b61030a60048036038101906103059190612c58565b610896565b6040516103179190612b3f565b60405180910390f35b61033a60048036038101906103359190612c58565b6108df565b6040516103479190612b3f565b60405180910390f35b61035861092f565b60405161036b9796959493929190612d8d565b60405180910390f35b61038e60048036038101906103899190612c58565b610a30565b60405161039b9190612e11565b60405180910390f35b6103be60048036038101906103b99190612aba565b610a9c565b005b6103da60048036038101906103d59190612e84565b610b3a565b005b6103e4610c5a565b6040516103f191906129f0565b60405180910390f35b610414600480360381019061040f9190612aba565b610cec565b6040516104219190612b15565b60405180910390f35b610444600480360381019061043f9190612aba565b610d63565b6040516104519190612b15565b60405180910390f35b610474600480360381019061046f9190612be4565b610d86565b6040516104819190612b3f565b60405180910390f35b6104a4600480360381019061049f9190612f11565b610e0a565b005b6104c060048036038101906104bb9190612be4565b610f4c565b6040516104cd9190612b3f565b60405180910390f35b6104f060048036038101906104eb91906130e8565b610fd3565b005b6104fa611119565b6040516105079190612e11565b60405180910390f35b60606036805461051f906131b6565b80601f016020809104026020016040519081016040528092919081815260200182805461054b906131b6565b80156105985780601f1061056d57610100808354040283529160200191610598565b820191906000526020600020905b81548152906001019060200180831161057b57829003601f168201915b5050505050905090565b6000806105ad61113f565b90506105ba818585611147565b600191505092915050565b6000603554905090565b6000806105da61113f565b90506105e7858285611312565b6105f285858561139e565b60019150509392505050565b600060cc60149054906101000a900460ff16905090565b60cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069c90613234565b60405180910390fd5b6106af8282611619565b5050565b60006106bd6117aa565b905090565b6000806106cd61113f565b90506106ee8185856106df8589610f4c565b6106e99190613283565b611147565b600191505092915050565b6107033382611619565b50565b60cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078d90613234565b60405180910390fd5b6107a082826117b9565b5050565b60cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082b90613234565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610887576108868284836108778688610f4c565b61088191906132d9565b611147565b5b6108918282611911565b505050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610928609960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611ae1565b9050919050565b6000606080600080600060606000801b60655414801561095357506000801b606654145b610992576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098990613359565b60405180910390fd5b61099a611aef565b6109a2611b81565b46306000801b600067ffffffffffffffff8111156109c3576109c2612fbd565b5b6040519080825280602002602001820160405280156109f15781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b600063010000cf60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390613234565b60405180910390fd5b610b368282611911565b5050565b83421115610b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b74906133c5565b60405180910390fd5b600060cd548787610b8d8a611c13565b88604051602001610ba29594939291906133e5565b6040516020818303038152906040528051906020012090506000610bc582611c71565b90506000610bd582878787611c8b565b90508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c906134aa565b60405180910390fd5b610c4f8989611619565b505050505050505050565b606060378054610c69906131b6565b80601f0160208091040260200160405190810160405280929190818152602001828054610c95906131b6565b8015610ce25780601f10610cb757610100808354040283529160200191610ce2565b820191906000526020600020905b815481529060010190602001808311610cc557829003601f168201915b5050505050905090565b600080610cf761113f565b90506000610d058286610f4c565b905083811015610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d419061353c565b60405180910390fd5b610d578286868403611147565b60019250505092915050565b600080610d6e61113f565b9050610d7b81858561139e565b600191505092915050565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401610dc19190612e11565b602060405180830381865afa158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190613571565b905092915050565b83421115610e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e44906135ea565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610e7c8c611c13565b89604051602001610e929695949392919061360a565b6040516020818303038152906040528051906020012090506000610eb582611c71565b90506000610ec582878787611c8b565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2c906136b7565b60405180910390fd5b610f408a8a8a611147565b50505050505050505050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060019054906101000a900460ff161590508080156110045750600160008054906101000a900460ff1660ff16105b80611031575061101330611cb6565b1580156110305750600160008054906101000a900460ff1660ff16145b5b611070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106790613749565b60405180910390fd5b60016000806101000a81548160ff021916908360ff16021790555080156110ad576001600060016101000a81548160ff0219169083151502179055505b6110b985858585611cd9565b80156111125760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498600160405161110991906137ae565b60405180910390a15b5050505050565b60cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae9061383b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e906138cd565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113059190612b3f565b60405180910390a3505050565b600061131e8484610f4c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611398578181101561138a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138190613939565b60405180910390fd5b6113978484848403611147565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561140e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611405906139cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561147e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147590613a5d565b60405180910390fd5b611489838383611d61565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150790613aef565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116009190612b3f565b60405180910390a3611613848484612142565b50505050565b600061162483610896565b9050600063010000cf60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116c85750506117a6565b8263010000cf60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea260405160405180910390a350505b5050565b60006117b4612147565b905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182090613b5b565b60405180910390fd5b61183560008383611d61565b80603560008282546118479190613283565b9250508190555080603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118f99190612b3f565b60405180910390a361190d60008383612142565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197890613bed565b60405180910390fd5b61198d82600083611d61565b6000603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0b90613c7f565b60405180910390fd5b818103603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603560008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ac89190612b3f565b60405180910390a3611adc83600084612142565b505050565b600081600001549050919050565b606060678054611afe906131b6565b80601f0160208091040260200160405190810160405280929190818152602001828054611b2a906131b6565b8015611b775780601f10611b4c57610100808354040283529160200191611b77565b820191906000526020600020905b815481529060010190602001808311611b5a57829003601f168201915b5050505050905090565b606060688054611b90906131b6565b80601f0160208091040260200160405190810160405280929190818152602001828054611bbc906131b6565b8015611c095780601f10611bde57610100808354040283529160200191611c09565b820191906000526020600020905b815481529060010190602001808311611bec57829003601f168201915b5050505050905090565b600080609960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611c6081611ae1565b9150611c6b816121ab565b50919050565b6000611c84611c7e6117aa565b836121c1565b9050919050565b6000806000611c9c87878787612202565b91509150611ca9816122e5565b8192505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f90613d11565b60405180910390fd5b611d3484848484612453565b7f94019368dc6b2ee4ac32010c9d0081ec29874325b541829d001d22c296b5246c60cd8190555050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d9a5761213d565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611e355763010000cf60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611f7257600073ffffffffffffffffffffffffffffffffffffffff1663010000cf60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611f0c57611f0b8485611619565b5b63010000cf60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611fdc5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561213a5760cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0800c588661202988610896565b866120338a610896565b61203d91906132d9565b6040518463ffffffff1660e01b815260040161205b93929190613d31565b600060405180830381600087803b15801561207557600080fd5b505af1158015612089573d6000803e3d6000fd5b5050505060cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0800c58856120d587610896565b866120df89610896565b6120e99190613283565b6040518463ffffffff1660e01b815260040161210793929190613d31565b600060405180830381600087803b15801561212157600080fd5b505af1158015612135573d6000803e3d6000fd5b505050505b50505b505050565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612172612637565b61217a6126a2565b4630604051602001612190959493929190613d68565b60405160208183030381529060405280519060200120905090565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561223d5760006003915091506122dc565b6000600187878787604051600081526020016040526040516122629493929190613dbb565b6020604051602081039080840390855afa158015612284573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122d3576000600192509250506122dc565b80600092509250505b94509492505050565b600060048111156122f9576122f8613e00565b5b81600481111561230c5761230b613e00565b5b141561231757612450565b6001600481111561232b5761232a613e00565b5b81600481111561233e5761233d613e00565b5b141561237f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237690613e7b565b60405180910390fd5b6002600481111561239357612392613e00565b5b8160048111156123a6576123a5613e00565b5b14156123e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123de90613ee7565b60405180910390fd5b600360048111156123fb576123fa613e00565b5b81600481111561240e5761240d613e00565b5b141561244f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244690613f79565b60405180910390fd5b5b50565b600060019054906101000a900460ff166124a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249990613d11565b60405180910390fd5b6124c36040518060600160405280602281526020016140dd6022913961270d565b6124cd848461279e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561253d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125349061400b565b60405180910390fd5b8060cc60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008260ff16116125c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bb90614077565b60405180910390fd5b8160cc60146101000a81548160ff021916908360ff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fde72fc29218361f33503847e6f32be813f9ec92fc7c772bb59e46675c890fd0e85858560405161262993929190614097565b60405180910390a250505050565b600080612642611aef565b905060008151111561265e57808051906020012091505061269f565b600060655490506000801b811461267957809250505061269f565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470925050505b90565b6000806126ad611b81565b90506000815111156126c957808051906020012091505061270a565b600060665490506000801b81146126e457809250505061270a565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470925050505b90565b600060019054906101000a900460ff1661275c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275390613d11565b60405180910390fd5b61279b816040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525061281f565b50565b600060019054906101000a900460ff166127ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e490613d11565b60405180910390fd5b81603690805190602001906128039291906128b4565b50806037908051906020019061281a9291906128b4565b505050565b600060019054906101000a900460ff1661286e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286590613d11565b60405180910390fd5b81606790805190602001906128849291906128b4565b50806068908051906020019061289b9291906128b4565b506000801b6065819055506000801b6066819055505050565b8280546128c0906131b6565b90600052602060002090601f0160209004810192826128e25760008555612929565b82601f106128fb57805160ff1916838001178555612929565b82800160010185558215612929579182015b8281111561292857825182559160200191906001019061290d565b5b509050612936919061293a565b5090565b5b8082111561295357600081600090555060010161293b565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612991578082015181840152602081019050612976565b838111156129a0576000848401525b50505050565b6000601f19601f8301169050919050565b60006129c282612957565b6129cc8185612962565b93506129dc818560208601612973565b6129e5816129a6565b840191505092915050565b60006020820190508181036000830152612a0a81846129b7565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a5182612a26565b9050919050565b612a6181612a46565b8114612a6c57600080fd5b50565b600081359050612a7e81612a58565b92915050565b6000819050919050565b612a9781612a84565b8114612aa257600080fd5b50565b600081359050612ab481612a8e565b92915050565b60008060408385031215612ad157612ad0612a1c565b5b6000612adf85828601612a6f565b9250506020612af085828601612aa5565b9150509250929050565b60008115159050919050565b612b0f81612afa565b82525050565b6000602082019050612b2a6000830184612b06565b92915050565b612b3981612a84565b82525050565b6000602082019050612b546000830184612b30565b92915050565b600080600060608486031215612b7357612b72612a1c565b5b6000612b8186828701612a6f565b9350506020612b9286828701612a6f565b9250506040612ba386828701612aa5565b9150509250925092565b600060ff82169050919050565b612bc381612bad565b82525050565b6000602082019050612bde6000830184612bba565b92915050565b60008060408385031215612bfb57612bfa612a1c565b5b6000612c0985828601612a6f565b9250506020612c1a85828601612a6f565b9150509250929050565b6000819050919050565b612c3781612c24565b82525050565b6000602082019050612c526000830184612c2e565b92915050565b600060208284031215612c6e57612c6d612a1c565b5b6000612c7c84828501612a6f565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612cba81612c85565b82525050565b612cc981612a46565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612d0481612a84565b82525050565b6000612d168383612cfb565b60208301905092915050565b6000602082019050919050565b6000612d3a82612ccf565b612d448185612cda565b9350612d4f83612ceb565b8060005b83811015612d80578151612d678882612d0a565b9750612d7283612d22565b925050600181019050612d53565b5085935050505092915050565b600060e082019050612da2600083018a612cb1565b8181036020830152612db481896129b7565b90508181036040830152612dc881886129b7565b9050612dd76060830187612b30565b612de46080830186612cc0565b612df160a0830185612c2e565b81810360c0830152612e038184612d2f565b905098975050505050505050565b6000602082019050612e266000830184612cc0565b92915050565b612e3581612bad565b8114612e4057600080fd5b50565b600081359050612e5281612e2c565b92915050565b612e6181612c24565b8114612e6c57600080fd5b50565b600081359050612e7e81612e58565b92915050565b60008060008060008060c08789031215612ea157612ea0612a1c565b5b6000612eaf89828a01612a6f565b9650506020612ec089828a01612a6f565b9550506040612ed189828a01612aa5565b9450506060612ee289828a01612e43565b9350506080612ef389828a01612e6f565b92505060a0612f0489828a01612e6f565b9150509295509295509295565b600080600080600080600060e0888a031215612f3057612f2f612a1c565b5b6000612f3e8a828b01612a6f565b9750506020612f4f8a828b01612a6f565b9650506040612f608a828b01612aa5565b9550506060612f718a828b01612aa5565b9450506080612f828a828b01612e43565b93505060a0612f938a828b01612e6f565b92505060c0612fa48a828b01612e6f565b91505092959891949750929550565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612ff5826129a6565b810181811067ffffffffffffffff8211171561301457613013612fbd565b5b80604052505050565b6000613027612a12565b90506130338282612fec565b919050565b600067ffffffffffffffff82111561305357613052612fbd565b5b61305c826129a6565b9050602081019050919050565b82818337600083830152505050565b600061308b61308684613038565b61301d565b9050828152602081018484840111156130a7576130a6612fb8565b5b6130b2848285613069565b509392505050565b600082601f8301126130cf576130ce612fb3565b5b81356130df848260208601613078565b91505092915050565b6000806000806080858703121561310257613101612a1c565b5b600085013567ffffffffffffffff8111156131205761311f612a21565b5b61312c878288016130ba565b945050602085013567ffffffffffffffff81111561314d5761314c612a21565b5b613159878288016130ba565b935050604061316a87828801612e43565b925050606061317b87828801612a6f565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806131ce57607f821691505b602082108114156131e2576131e1613187565b5b50919050565b7f436f6e74726f6c6c6564546f6b656e2f6f6e6c792d636f6e74726f6c6c657200600082015250565b600061321e601f83612962565b9150613229826131e8565b602082019050919050565b6000602082019050818103600083015261324d81613211565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061328e82612a84565b915061329983612a84565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132ce576132cd613254565b5b828201905092915050565b60006132e482612a84565b91506132ef83612a84565b92508282101561330257613301613254565b5b828203905092915050565b7f4549503731323a20556e696e697469616c697a65640000000000000000000000600082015250565b6000613343601583612962565b915061334e8261330d565b602082019050919050565b6000602082019050818103600083015261337281613336565b9050919050565b7f5469636b65742f64656c65676174652d657870697265642d646561646c696e65600082015250565b60006133af602083612962565b91506133ba82613379565b602082019050919050565b600060208201905081810360008301526133de816133a2565b9050919050565b600060a0820190506133fa6000830188612c2e565b6134076020830187612cc0565b6134146040830186612cc0565b6134216060830185612b30565b61342e6080830184612b30565b9695505050505050565b7f5469636b65742f64656c65676174652d696e76616c69642d7369676e6174757260008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b6000613494602183612962565b915061349f82613438565b604082019050919050565b600060208201905081810360008301526134c381613487565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613526602583612962565b9150613531826134ca565b604082019050919050565b6000602082019050818103600083015261355581613519565b9050919050565b60008151905061356b81612a8e565b92915050565b60006020828403121561358757613586612a1c565b5b60006135958482850161355c565b91505092915050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006135d4601d83612962565b91506135df8261359e565b602082019050919050565b60006020820190508181036000830152613603816135c7565b9050919050565b600060c08201905061361f6000830189612c2e565b61362c6020830188612cc0565b6136396040830187612cc0565b6136466060830186612b30565b6136536080830185612b30565b61366060a0830184612b30565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006136a1601e83612962565b91506136ac8261366b565b602082019050919050565b600060208201905081810360008301526136d081613694565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000613733602e83612962565b915061373e826136d7565b604082019050919050565b6000602082019050818103600083015261376281613726565b9050919050565b6000819050919050565b6000819050919050565b600061379861379361378e84613769565b613773565b612bad565b9050919050565b6137a88161377d565b82525050565b60006020820190506137c3600083018461379f565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613825602483612962565b9150613830826137c9565b604082019050919050565b6000602082019050818103600083015261385481613818565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006138b7602283612962565b91506138c28261385b565b604082019050919050565b600060208201905081810360008301526138e6816138aa565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613923601d83612962565b915061392e826138ed565b602082019050919050565b6000602082019050818103600083015261395281613916565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139b5602583612962565b91506139c082613959565b604082019050919050565b600060208201905081810360008301526139e4816139a8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a47602383612962565b9150613a52826139eb565b604082019050919050565b60006020820190508181036000830152613a7681613a3a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613ad9602683612962565b9150613ae482613a7d565b604082019050919050565b60006020820190508181036000830152613b0881613acc565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613b45601f83612962565b9150613b5082613b0f565b602082019050919050565b60006020820190508181036000830152613b7481613b38565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bd7602183612962565b9150613be282613b7b565b604082019050919050565b60006020820190508181036000830152613c0681613bca565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c69602283612962565b9150613c7482613c0d565b604082019050919050565b60006020820190508181036000830152613c9881613c5c565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000613cfb602b83612962565b9150613d0682613c9f565b604082019050919050565b60006020820190508181036000830152613d2a81613cee565b9050919050565b6000606082019050613d466000830186612cc0565b613d536020830185612b30565b613d606040830184612b30565b949350505050565b600060a082019050613d7d6000830188612c2e565b613d8a6020830187612c2e565b613d976040830186612c2e565b613da46060830185612b30565b613db16080830184612cc0565b9695505050505050565b6000608082019050613dd06000830187612c2e565b613ddd6020830186612bba565b613dea6040830185612c2e565b613df76060830184612c2e565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000613e65601883612962565b9150613e7082613e2f565b602082019050919050565b60006020820190508181036000830152613e9481613e58565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000613ed1601f83612962565b9150613edc82613e9b565b602082019050919050565b60006020820190508181036000830152613f0081613ec4565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000613f63602283612962565b9150613f6e82613f07565b604082019050919050565b60006020820190508181036000830152613f9281613f56565b9050919050565b7f436f6e74726f6c6c6564546f6b656e2f636f6e74726f6c6c65722d6e6f742d7a60008201527f65726f2d61646472657373000000000000000000000000000000000000000000602082015250565b6000613ff5602b83612962565b915061400082613f99565b604082019050919050565b6000602082019050818103600083015261402481613fe8565b9050919050565b7f436f6e74726f6c6c6564546f6b656e2f646563696d616c732d67742d7a65726f600082015250565b6000614061602083612962565b915061406c8261402b565b602082019050919050565b6000602082019050818103600083015261409081614054565b9050919050565b600060608201905081810360008301526140b181866129b7565b905081810360208301526140c581856129b7565b90506140d46040830184612bba565b94935050505056fe4173796d65747269782050726f746f636f6c20436f6e74726f6c6c6564546f6b656ea2646970667358221220e752d6a300d5e9ef09886a43ff70c8f92792c953125f3f1ec49ce524427eb1eb64736f6c634300080a0033