608060405260006116b15534801561001657600080fd5b50615f9280620000276000396000f3fe6080604052600436106102ae5760003560e01c80638da5cb5b11610175578063ca6015db116100dc578063dfbf53ae11610095578063e9f5b9e21161006f578063e9f5b9e214610aac578063f2fde38b14610ad5578063fc39a48814610afe578063fc6f946814610b29576102ae565b8063dfbf53ae14610a2d578063e5e6f1f514610a58578063e985e9c514610a6f576102ae565b8063ca6015db14610918578063ccbac9f514610943578063ce6d22db1461096e578063cfc86f7b146109ac578063d465f1e7146109d7578063df24805d14610a02576102ae565b8063a22cb4651161012e578063a22cb465146107f8578063b88d4fde14610821578063c002d23d1461084a578063c1b2ced414610875578063c7c213dd146108b2578063c87b56dd146108db576102ae565b80638da5cb5b14610705578063918f86741461073057806395d89b411461075b5780639c2cf21d146107865780639cbe5efd146107b1578063a0712d68146107dc576102ae565b806342842e0e116102195780636b45a81a116101d25780636b45a81a146105e157806370a082311461060c578063715018a61461064957806383d7b8ec1461066057806387f32cce146106895780638c65c81f146106c7576102ae565b806342842e0e146104d35780634f6ccce7146104fc57806354214f691461053957806355e3f0861461056457806355f804b31461057b5780636352211e146105a4576102ae565b8063232bce6e1161026b578063232bce6e146103d757806323b872dd146104025780632c1e816d1461042b5780632f745c59146104545780633bd64968146104915780633c277a23146104a8576102ae565b806301ffc9a7146102b357806306fdde03146102f0578063081812fc1461031b578063095ea7b31461035857806310c30b701461038157806318160ddd146103ac575b600080fd5b3480156102bf57600080fd5b506102da60048036038101906102d59190614713565b610b54565b6040516102e79190614f11565b60405180910390f35b3480156102fc57600080fd5b50610305610b66565b6040516103129190614f47565b60405180910390f35b34801561032757600080fd5b50610342600480360381019061033d91906148e8565b610bf8565b60405161034f9190614e88565b60405180910390f35b34801561036457600080fd5b5061037f600480360381019061037a91906146a6565b610c7d565b005b34801561038d57600080fd5b50610396610d95565b6040516103a391906152a9565b60405180910390f35b3480156103b857600080fd5b506103c1610da0565b6040516103ce91906152a9565b60405180910390f35b3480156103e357600080fd5b506103ec610dad565b6040516103f99190614eef565b60405180910390f35b34801561040e57600080fd5b5061042960048036038101906104249190614590565b610e9f565b005b34801561043757600080fd5b50610452600480360381019061044d9190614523565b610eff565b005b34801561046057600080fd5b5061047b600480360381019061047691906146a6565b611012565b60405161048891906152a9565b60405180910390f35b34801561049d57600080fd5b506104a66110b7565b005b3480156104b457600080fd5b506104bd6111a3565b6040516104ca9190614e88565b60405180910390f35b3480156104df57600080fd5b506104fa60048036038101906104f59190614590565b6111c9565b005b34801561050857600080fd5b50610523600480360381019061051e91906148e8565b6111e9565b60405161053091906152a9565b60405180910390f35b34801561054557600080fd5b5061054e61125a565b60405161055b9190614f11565b60405180910390f35b34801561057057600080fd5b5061057961126e565b005b34801561058757600080fd5b506105a2600480360381019061059d919061476d565b611704565b005b3480156105b057600080fd5b506105cb60048036038101906105c691906148e8565b6117e9565b6040516105d89190614e88565b60405180910390f35b3480156105ed57600080fd5b506105f661189b565b6040516106039190614f47565b60405180910390f35b34801561061857600080fd5b50610633600480360381019061062e9190614523565b61192a565b60405161064091906152a9565b60405180910390f35b34801561065557600080fd5b5061065e6119e2565b005b34801561066c57600080fd5b50610687600480360381019061068291906147ba565b611a6a565b005b34801561069557600080fd5b506106b060048036038101906106ab91906148e8565b611d6e565b6040516106be9291906152c4565b60405180910390f35b3480156106d357600080fd5b506106ee60048036038101906106e991906148e8565b611d93565b6040516106fc9291906152c4565b60405180910390f35b34801561071157600080fd5b5061071a611db8565b6040516107279190614e88565b60405180910390f35b34801561073c57600080fd5b50610745611de2565b60405161075291906152a9565b60405180910390f35b34801561076757600080fd5b50610770611de7565b60405161077d9190614f47565b60405180910390f35b34801561079257600080fd5b5061079b611e79565b6040516107a89190614f47565b60405180910390f35b3480156107bd57600080fd5b506107c6611f08565b6040516107d391906152a9565b60405180910390f35b6107f660048036038101906107f191906148e8565b611f0f565b005b34801561080457600080fd5b5061081f600480360381019061081a9190614666565b612230565b005b34801561082d57600080fd5b50610848600480360381019061084391906145e3565b612246565b005b34801561085657600080fd5b5061085f6122a8565b60405161086c91906152a9565b60405180910390f35b34801561088157600080fd5b5061089c60048036038101906108979190614523565b6122ad565b6040516108a99190614eef565b60405180910390f35b3480156108be57600080fd5b506108d960048036038101906108d491906148e8565b612481565b005b3480156108e757600080fd5b5061090260048036038101906108fd91906148e8565b6124d3565b60405161090f9190614f47565b60405180910390f35b34801561092457600080fd5b5061092d612730565b60405161093a91906152a9565b60405180910390f35b34801561094f57600080fd5b50610958612735565b60405161096591906152a9565b60405180910390f35b34801561097a57600080fd5b50610995600480360381019061099091906148e8565b61273c565b6040516109a39291906152c4565b60405180910390f35b3480156109b857600080fd5b506109c1612771565b6040516109ce9190614f47565b60405180910390f35b3480156109e357600080fd5b506109ec612800565b6040516109f99190614f11565b60405180910390f35b348015610a0e57600080fd5b50610a17612813565b604051610a249190614f11565b60405180910390f35b348015610a3957600080fd5b50610a4261282a565b604051610a4f91906152a9565b60405180910390f35b348015610a6457600080fd5b50610a6d612831565b005b348015610a7b57600080fd5b50610a966004803603810190610a919190614550565b61291d565b604051610aa39190614f11565b60405180910390f35b348015610ab857600080fd5b50610ad36004803603810190610ace9190614523565b6129b1565b005b348015610ae157600080fd5b50610afc6004803603810190610af79190614523565b612ac3565b005b348015610b0a57600080fd5b50610b13612bbb565b604051610b209190614f11565b60405180910390f35b348015610b3557600080fd5b50610b3e612bcf565b604051610b4b9190614e88565b60405180910390f35b6000610b5f82612bf6565b9050919050565b606060658054610b7590615610565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba190615610565b8015610bee5780601f10610bc357610100808354040283529160200191610bee565b820191906000526020600020905b815481529060010190602001808311610bd157829003601f168201915b5050505050905090565b6000610c0382612c70565b610c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3990615169565b60405180910390fd5b6069600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610c88826117e9565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf090615209565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610d18612cdc565b73ffffffffffffffffffffffffffffffffffffffff161480610d475750610d4681610d41612cdc565b61291d565b5b610d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7d906150a9565b60405180910390fd5b610d908383612ce4565b505050565b6608e1bc9bf0400081565b6000609980549050905090565b60606000610dbb60fc612d9d565b905060008167ffffffffffffffff811115610dd957610dd86157d8565b5b604051908082528060200260200182016040528015610e1257816020015b610dff61418e565b815260200190600190039081610df75790505b50905060005b82811015610e965760006116b66000600184610e34919061541c565b815260200190815260200160002060405180604001604052908160008201548152602001600182015481525050905080838381518110610e7757610e766157a9565b5b6020026020010181905250508080610e8e90615673565b915050610e18565b50809250505090565b610eb0610eaa612cdc565b82612dab565b610eef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee690615229565b60405180910390fd5b610efa838383612e89565b505050565b3373ffffffffffffffffffffffffffffffffffffffff166116bb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f8e57503373ffffffffffffffffffffffffffffffffffffffff16610f76611db8565b73ffffffffffffffffffffffffffffffffffffffff16145b610fcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc490615129565b60405180910390fd5b806116bb60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061101d8361192a565b821061105e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105590614f69565b60405180910390fd5b609760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff166116bb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061114657503373ffffffffffffffffffffffffffffffffffffffff1661112e611db8565b73ffffffffffffffffffffffffffffffffffffffff16145b611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90615129565b60405180910390fd5b60016116b260006101000a81548160ff021916908315150217905550565b60fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111e483838360405180602001604052806000815250612246565b505050565b60006111f3610da0565b8210611234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122b90615249565b60405180910390fd5b60998281548110611248576112476157a9565b5b90600052602060002001549050919050565b6116b260009054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff166116bb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806112fd57503373ffffffffffffffffffffffffffffffffffffffff166112e5611db8565b73ffffffffffffffffffffffffffffffffffffffff16145b61133c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133390615129565b60405180910390fd5b600115156116b260009054906101000a900460ff16151514611393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138a90615089565b60405180910390fd5b60006116b154141561148457600060fb60156101000a81548160ff02191690831515021790555060006116ba819055506116b160008154809291906113d790615673565b919050555060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638678a7b26040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561144657600080fd5b505af115801561145a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147e91906146e6565b50611702565b60fb60159054906101000a900460ff166114d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ca90615289565b60405180910390fd5b600060646116b760006116b1548152602001908152602001600020600101546116b88054905061150391906154a3565b61150d9190615472565b905060005b8163ffffffff168110156116495760006116b8805490506116b95461153791906156bc565b905060016116b154611549919061541c565b6116b660006116b88481548110611563576115626157a9565b5b9060005260206000209060020201600001548152602001908152602001600020600101819055506116b860016116b8805490506115a091906154fd565b815481106115b1576115b06157a9565b5b90600052602060002090600202016116b882815481106115d4576115d36157a9565b5b906000526020600020906002020160008201548160000155600182015481600101559050506116b880548061160c5761160b61577a565b5b600190038181906000526020600020906002020160008082016000905560018201600090555050905550808061164190615673565b915050611512565b506116b1600081548092919061165e90615673565b9190505550600e6116b1541415611700576116b8600081548110611685576116846157a9565b5b9060005260206000209060020201600001546116ba819055506116b88054806116b1576116b061577a565b5b600190038181906000526020600020906002020160008082016000905560018201600090555050905560006116b18190555060016116b260016101000a81548160ff0219169083151502179055505b505b565b3373ffffffffffffffffffffffffffffffffffffffff166116bb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061179357503373ffffffffffffffffffffffffffffffffffffffff1661177b611db8565b73ffffffffffffffffffffffffffffffffffffffff16145b6117d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c990615129565b60405180910390fd5b81816116b491906117e49291906141a8565b505050565b6000806067600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611892576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611889906150e9565b60405180910390fd5b80915050919050565b6116b580546118a990615610565b80601f01602080910402602001604051908101604052809291908181526020018280546118d590615610565b80156119225780601f106118f757610100808354040283529160200191611922565b820191906000526020600020905b81548152906001019060200180831161190557829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561199b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611992906150c9565b60405180910390fd5b606860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6119ea612cdc565b73ffffffffffffffffffffffffffffffffffffffff16611a08611db8565b73ffffffffffffffffffffffffffffffffffffffff1614611a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5590615189565b60405180910390fd5b611a6860006130f0565b565b6000611a7660016131b6565b90508015611a9a576001600060016101000a81548160ff0219169083151502179055505b611b0e6040518060400160405280600c81526020017f536f6e73204f66204d61727300000000000000000000000000000000000000008152506040518060400160405280600381526020017f534f4d00000000000000000000000000000000000000000000000000000000008152506132a6565b611b16613303565b876116b49080519060200190611b2d92919061422e565b50600160fb60146101000a81548160ff0219169083151502179055508560fb60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846116bb60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006116b260006101000a81548160ff021916908315150217905550836116b39080519060200190611bff92919061422e565b50826116b59080519060200190611c1792919061422e565b5060005b6001600e611c2991906154fd565b811015611cb5576040518060400160405280600183611c48919061541c565b8152602001898381518110611c6057611c5f6157a9565b5b60200260200101518152506116b76000600184611c7d919061541c565b815260200190815260200160002060008201518160000155602082015181600101559050508080611cad90615673565b915050611c1b565b5060005b8251811015611d0a57828181518110611cd557611cd46157a9565b5b602002602001015160fd826115b48110611cf257611cf16157a9565b5b01819055508080611d0290615673565b915050611cb9565b508015611d645760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051611d5b9190614f2c565b60405180910390a15b5050505050505050565b6116b66020528060005260406000206000915090508060000154908060010154905082565b6116b76020528060005260406000206000915090508060000154908060010154905082565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606481565b606060668054611df690615610565b80601f0160208091040260200160405190810160405280929190818152602001828054611e2290615610565b8015611e6f5780601f10611e4457610100808354040283529160200191611e6f565b820191906000526020600020905b815481529060010190602001808311611e5257829003601f168201915b5050505050905090565b6116b38054611e8790615610565b80601f0160208091040260200160405190810160405280929190818152602001828054611eb390615610565b8015611f005780601f10611ed557610100808354040283529160200191611f00565b820191906000526020600020905b815481529060010190602001808311611ee357829003601f168201915b505050505081565b6116b15481565b3373ffffffffffffffffffffffffffffffffffffffff166116bb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611f9e57503373ffffffffffffffffffffffffffffffffffffffff16611f86611db8565b73ffffffffffffffffffffffffffffffffffffffff16145b611fdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd490615129565b60405180910390fd5b606581611fe8610da0565b611ff2919061541c565b10612032576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612029906151c9565b60405180910390fd5b60008111612075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206c906151e9565b60405180910390fd5b600081600061208491906154a3565b3461208f91906154fd565b905081600061209e91906154a3565b3410156120e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d790615009565b60405180910390fd5b60005b828110156121b8576120f560fc61335c565b600061210160fc612d9d565b905061210d3382613372565b604051806040016040528082815260200160018152506116b6600083815260200190815260200160002060008201518160000155602082015181600101559050506116b86116b660008381526020019081526020016000209080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015481600001556001820154816001015550505080806121b090615673565b9150506120e3565b503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156121ff573d6000803e3d6000fd5b507f6e6a092e3ba0515ff690b237bea415e907993f64f9dbd92104214574548d25d660405160405180910390a15050565b61224261223b612cdc565b8383613390565b5050565b612257612251612cdc565b83612dab565b612296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228d90615229565b60405180910390fd5b6122a2848484846134fd565b50505050565b600081565b60606000805b6122bd60fc612d9d565b8110156123345760006122db6001836122d6919061541c565b6117e9565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561232057828061231c90615673565b9350505b50808061232c90615673565b9150506122b3565b5060008167ffffffffffffffff811115612351576123506157d8565b5b60405190808252806020026020018201604052801561238a57816020015b61237761418e565b81526020019060019003908161236f5790505b5090506000915060005b61239e60fc612d9d565b8110156124765760006123bc6001836123b7919061541c565b6117e9565b90508573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156124625760006116b66000600185612406919061541c565b81526020019081526020016000206040518060400160405290816000820154815260200160018201548152505090508084868061244290615673565b975081518110612455576124546157a9565b5b6020026020010181905250505b50808061246e90615673565b915050612394565b508092505050919050565b806116b981905550600160fb60156101000a81548160ff0219169083151502179055507f97fedfcb446c30b6748e9bfa4b4a945f28143407f610f93be4226e11bc0660a960405160405180910390a150565b60606124de82612c70565b61251d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612514906151a9565b60405180910390fd5b6000612527613559565b90506116b260009054906101000a900460ff166125d5576116b3805461254c90615610565b80601f016020809104026020016040519081016040528092919081815260200182805461257890615610565b80156125c55780601f1061259a576101008083540402835291602001916125c5565b820191906000526020600020905b8154815290600101906020018083116125a857829003601f168201915b505050505090508091505061272b565b6116b260019054906101000a900460ff1615612682576116b580546125f990615610565b80601f016020809104026020016040519081016040528092919081815260200182805461262590615610565b80156126725780601f1061264757610100808354040283529160200191612672565b820191906000526020600020905b81548152906001019060200180831161265557829003601f168201915b505050505090508091505061272b565b60008151116126a05760405180602001604052806000815250612727565b806127066116b6600086815260200190815260200160002060010154600e600160fd6001896126cf91906154fd565b6115b481106126e1576126e06157a9565b5b01546126ed91906154fd565b6126f791906154a3565b612701919061541c565b6135ec565b604051602001612717929190614e59565b6040516020818303038152906040525b9150505b919050565b600e81565b6116b95481565b6116b8818154811061274d57600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b6116b4805461277f90615610565b80601f01602080910402602001604051908101604052809291908181526020018280546127ab90615610565b80156127f85780601f106127cd576101008083540402835291602001916127f8565b820191906000526020600020905b8154815290600101906020018083116127db57829003601f168201915b505050505081565b60fb60159054906101000a900460ff1681565b600060fb60149054906101000a900460ff16905090565b6116ba5481565b3373ffffffffffffffffffffffffffffffffffffffff166116bb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806128c057503373ffffffffffffffffffffffffffffffffffffffff166128a8611db8565b73ffffffffffffffffffffffffffffffffffffffff16145b6128ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f690615129565b60405180910390fd5b60006116b260016101000a81548160ff021916908315150217905550565b6000606a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff166116bb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480612a4057503373ffffffffffffffffffffffffffffffffffffffff16612a28611db8565b73ffffffffffffffffffffffffffffffffffffffff16145b612a7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7690615129565b60405180910390fd5b8060fb60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b612acb612cdc565b73ffffffffffffffffffffffffffffffffffffffff16612ae9611db8565b73ffffffffffffffffffffffffffffffffffffffff1614612b3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3690615189565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612baf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba690614fa9565b60405180910390fd5b612bb8816130f0565b50565b6116b260019054906101000a900460ff1681565b6116bb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612c695750612c688261374d565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166067600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816069600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16612d57836117e9565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600081600001549050919050565b6000612db682612c70565b612df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dec90615069565b60405180910390fd5b6000612e00836117e9565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612e425750612e41818561291d565b5b80612e8057508373ffffffffffffffffffffffffffffffffffffffff16612e6884610bf8565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16612ea9826117e9565b73ffffffffffffffffffffffffffffffffffffffff1614612eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ef690614fc9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f6690615029565b60405180910390fd5b612f7a83838361382f565b612f85600082612ce4565b6001606860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612fd591906154fd565b925050819055506001606860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461302c919061541c565b92505081905550816067600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46130eb838383613943565b505050565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060019054906101000a900460ff161561322d5760018260ff161480156131e557506131e330613948565b155b613224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161321b90615109565b60405180910390fd5b600090506132a1565b8160ff1660008054906101000a900460ff1660ff1610613282576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161327990615109565b60405180910390fd5b816000806101000a81548160ff021916908360ff160217905550600190505b919050565b600060019054906101000a900460ff166132f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132ec90615269565b60405180910390fd5b6132ff828261396b565b5050565b600060019054906101000a900460ff16613352576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161334990615269565b60405180910390fd5b61335a6139ec565b565b6001816000016000828254019250508190555050565b61338c828260405180602001604052806000815250613a4d565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156133ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133f690615049565b60405180910390fd5b80606a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516134f09190614f11565b60405180910390a3505050565b613508848484612e89565b61351484848484613aa8565b613553576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161354a90614f89565b60405180910390fd5b50505050565b60606116b4805461356990615610565b80601f016020809104026020016040519081016040528092919081815260200182805461359590615610565b80156135e25780601f106135b7576101008083540402835291602001916135e2565b820191906000526020600020905b8154815290600101906020018083116135c557829003601f168201915b5050505050905090565b60606000821415613634576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050613748565b600082905060005b6000821461366657808061364f90615673565b915050600a8261365f9190615472565b915061363c565b60008167ffffffffffffffff811115613682576136816157d8565b5b6040519080825280601f01601f1916602001820160405280156136b45781602001600182028036833780820191505090505b5090505b60008514613741576001826136cd91906154fd565b9150600a856136dc91906156bc565b60306136e8919061541c565b60f81b8183815181106136fe576136fd6157a9565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561373a9190615472565b94506136b8565b8093505050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061381857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80613828575061382782613c3f565b5b9050919050565b61383a838383613ca9565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561387d5761387881613cae565b6138bc565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146138bb576138ba8382613cf7565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156138ff576138fa81613e64565b61393e565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461393d5761393c8282613f35565b5b5b505050565b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff166139ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139b190615269565b60405180910390fd5b81606590805190602001906139d092919061422e565b5080606690805190602001906139e792919061422e565b505050565b600060019054906101000a900460ff16613a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a3290615269565b60405180910390fd5b613a4b613a46612cdc565b6130f0565b565b613a578383613fb4565b613a646000848484613aa8565b613aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a9a90614f89565b60405180910390fd5b505050565b6000613ac98473ffffffffffffffffffffffffffffffffffffffff16613948565b15613c32578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02613af2612cdc565b8786866040518563ffffffff1660e01b8152600401613b149493929190614ea3565b602060405180830381600087803b158015613b2e57600080fd5b505af1925050508015613b5f57506040513d601f19601f82011682018060405250810190613b5c9190614740565b60015b613be2573d8060008114613b8f576040519150601f19603f3d011682016040523d82523d6000602084013e613b94565b606091505b50600081511415613bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bd190614f89565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613c37565b600190505b949350505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b609980549050609a600083815260200190815260200160002081905550609981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001613d048461192a565b613d0e91906154fd565b9050600060986000848152602001908152602001600020549050818114613df3576000609760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080609760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816098600083815260200190815260200160002081905550505b6098600084815260200190815260200160002060009055609760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001609980549050613e7891906154fd565b90506000609a6000848152602001908152602001600020549050600060998381548110613ea857613ea76157a9565b5b906000526020600020015490508060998381548110613eca57613ec96157a9565b5b906000526020600020018190555081609a600083815260200190815260200160002081905550609a6000858152602001908152602001600020600090556099805480613f1957613f1861577a565b5b6001900381819060005260206000200160009055905550505050565b6000613f408361192a565b905081609760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806098600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161401b90615149565b60405180910390fd5b61402d81612c70565b1561406d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161406490614fe9565b60405180910390fd5b6140796000838361382f565b6001606860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546140c9919061541c565b92505081905550816067600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461418a60008383613943565b5050565b604051806040016040528060008152602001600081525090565b8280546141b490615610565b90600052602060002090601f0160209004810192826141d6576000855561421d565b82601f106141ef57803560ff191683800117855561421d565b8280016001018555821561421d579182015b8281111561421c578235825591602001919060010190614201565b5b50905061422a91906142b4565b5090565b82805461423a90615610565b90600052602060002090601f01602090048101928261425c57600085556142a3565b82601f1061427557805160ff19168380011785556142a3565b828001600101855582156142a3579182015b828111156142a2578251825591602001919060010190614287565b5b5090506142b091906142b4565b5090565b5b808211156142cd5760008160009055506001016142b5565b5090565b60006142e46142df84615312565b6152ed565b9050808382526020820190508285602086028201111561430757614306615811565b5b60005b85811015614337578161431d888261450e565b84526020840193506020830192505060018101905061430a565b5050509392505050565b600061435461434f8461533e565b6152ed565b9050828152602081018484840111156143705761436f615816565b5b61437b8482856155ce565b509392505050565b60006143966143918461536f565b6152ed565b9050828152602081018484840111156143b2576143b1615816565b5b6143bd8482856155ce565b509392505050565b6000813590506143d481615ee9565b92915050565b600082601f8301126143ef576143ee61580c565b5b81356143ff8482602086016142d1565b91505092915050565b60008135905061441781615f00565b92915050565b60008151905061442c81615f17565b92915050565b60008135905061444181615f2e565b92915050565b60008151905061445681615f2e565b92915050565b600082601f8301126144715761447061580c565b5b8135614481848260208601614341565b91505092915050565b60008083601f8401126144a05761449f61580c565b5b8235905067ffffffffffffffff8111156144bd576144bc615807565b5b6020830191508360018202830111156144d9576144d8615811565b5b9250929050565b600082601f8301126144f5576144f461580c565b5b8135614505848260208601614383565b91505092915050565b60008135905061451d81615f45565b92915050565b60006020828403121561453957614538615820565b5b6000614547848285016143c5565b91505092915050565b6000806040838503121561456757614566615820565b5b6000614575858286016143c5565b9250506020614586858286016143c5565b9150509250929050565b6000806000606084860312156145a9576145a8615820565b5b60006145b7868287016143c5565b93505060206145c8868287016143c5565b92505060406145d98682870161450e565b9150509250925092565b600080600080608085870312156145fd576145fc615820565b5b600061460b878288016143c5565b945050602061461c878288016143c5565b935050604061462d8782880161450e565b925050606085013567ffffffffffffffff81111561464e5761464d61581b565b5b61465a8782880161445c565b91505092959194509250565b6000806040838503121561467d5761467c615820565b5b600061468b858286016143c5565b925050602061469c85828601614408565b9150509250929050565b600080604083850312156146bd576146bc615820565b5b60006146cb858286016143c5565b92505060206146dc8582860161450e565b9150509250929050565b6000602082840312156146fc576146fb615820565b5b600061470a8482850161441d565b91505092915050565b60006020828403121561472957614728615820565b5b600061473784828501614432565b91505092915050565b60006020828403121561475657614755615820565b5b600061476484828501614447565b91505092915050565b6000806020838503121561478457614783615820565b5b600083013567ffffffffffffffff8111156147a2576147a161581b565b5b6147ae8582860161448a565b92509250509250929050565b600080600080600080600060e0888a0312156147d9576147d8615820565b5b600088013567ffffffffffffffff8111156147f7576147f661581b565b5b6148038a828b016144e0565b975050602088013567ffffffffffffffff8111156148245761482361581b565b5b6148308a828b016143da565b96505060406148418a828b016143c5565b95505060606148528a828b016143c5565b945050608088013567ffffffffffffffff8111156148735761487261581b565b5b61487f8a828b016144e0565b93505060a088013567ffffffffffffffff8111156148a05761489f61581b565b5b6148ac8a828b016144e0565b92505060c088013567ffffffffffffffff8111156148cd576148cc61581b565b5b6148d98a828b016143da565b91505092959891949750929550565b6000602082840312156148fe576148fd615820565b5b600061490c8482850161450e565b91505092915050565b60006149218383614e0c565b60408301905092915050565b61493681615531565b82525050565b6000614947826153b0565b61495181856153de565b935061495c836153a0565b8060005b8381101561498d5781516149748882614915565b975061497f836153d1565b925050600181019050614960565b5085935050505092915050565b6149a381615543565b82525050565b60006149b4826153bb565b6149be81856153ef565b93506149ce8185602086016155dd565b6149d781615825565b840191505092915050565b6149eb816155bc565b82525050565b60006149fc826153c6565b614a068185615400565b9350614a168185602086016155dd565b614a1f81615825565b840191505092915050565b6000614a35826153c6565b614a3f8185615411565b9350614a4f8185602086016155dd565b80840191505092915050565b6000614a68602b83615400565b9150614a7382615836565b604082019050919050565b6000614a8b603283615400565b9150614a9682615885565b604082019050919050565b6000614aae602683615400565b9150614ab9826158d4565b604082019050919050565b6000614ad1602583615400565b9150614adc82615923565b604082019050919050565b6000614af4601c83615400565b9150614aff82615972565b602082019050919050565b6000614b17600e83615400565b9150614b228261599b565b602082019050919050565b6000614b3a602483615400565b9150614b45826159c4565b604082019050919050565b6000614b5d601983615400565b9150614b6882615a13565b602082019050919050565b6000614b80602c83615400565b9150614b8b82615a3c565b604082019050919050565b6000614ba3601e83615400565b9150614bae82615a8b565b602082019050919050565b6000614bc6603883615400565b9150614bd182615ab4565b604082019050919050565b6000614be9602a83615400565b9150614bf482615b03565b604082019050919050565b6000614c0c602983615400565b9150614c1782615b52565b604082019050919050565b6000614c2f602e83615400565b9150614c3a82615ba1565b604082019050919050565b6000614c52602283615400565b9150614c5d82615bf0565b604082019050919050565b6000614c75602083615400565b9150614c8082615c3f565b602082019050919050565b6000614c98602c83615400565b9150614ca382615c68565b604082019050919050565b6000614cbb602083615400565b9150614cc682615cb7565b602082019050919050565b6000614cde602f83615400565b9150614ce982615ce0565b604082019050919050565b6000614d01601083615400565b9150614d0c82615d2f565b602082019050919050565b6000614d24601083615400565b9150614d2f82615d58565b602082019050919050565b6000614d47602183615400565b9150614d5282615d81565b604082019050919050565b6000614d6a600083615411565b9150614d7582615dd0565b600082019050919050565b6000614d8d603183615400565b9150614d9882615dd3565b604082019050919050565b6000614db0602c83615400565b9150614dbb82615e22565b604082019050919050565b6000614dd3602b83615400565b9150614dde82615e71565b604082019050919050565b6000614df6601983615400565b9150614e0182615ec0565b602082019050919050565b604082016000820151614e226000850182614e3b565b506020820151614e356020850182614e3b565b50505050565b614e44816155a5565b82525050565b614e53816155a5565b82525050565b6000614e658285614a2a565b9150614e718284614a2a565b9150614e7c82614d5d565b91508190509392505050565b6000602082019050614e9d600083018461492d565b92915050565b6000608082019050614eb8600083018761492d565b614ec5602083018661492d565b614ed26040830185614e4a565b8181036060830152614ee481846149a9565b905095945050505050565b60006020820190508181036000830152614f09818461493c565b905092915050565b6000602082019050614f26600083018461499a565b92915050565b6000602082019050614f4160008301846149e2565b92915050565b60006020820190508181036000830152614f6181846149f1565b905092915050565b60006020820190508181036000830152614f8281614a5b565b9050919050565b60006020820190508181036000830152614fa281614a7e565b9050919050565b60006020820190508181036000830152614fc281614aa1565b9050919050565b60006020820190508181036000830152614fe281614ac4565b9050919050565b6000602082019050818103600083015261500281614ae7565b9050919050565b6000602082019050818103600083015261502281614b0a565b9050919050565b6000602082019050818103600083015261504281614b2d565b9050919050565b6000602082019050818103600083015261506281614b50565b9050919050565b6000602082019050818103600083015261508281614b73565b9050919050565b600060208201905081810360008301526150a281614b96565b9050919050565b600060208201905081810360008301526150c281614bb9565b9050919050565b600060208201905081810360008301526150e281614bdc565b9050919050565b6000602082019050818103600083015261510281614bff565b9050919050565b6000602082019050818103600083015261512281614c22565b9050919050565b6000602082019050818103600083015261514281614c45565b9050919050565b6000602082019050818103600083015261516281614c68565b9050919050565b6000602082019050818103600083015261518281614c8b565b9050919050565b600060208201905081810360008301526151a281614cae565b9050919050565b600060208201905081810360008301526151c281614cd1565b9050919050565b600060208201905081810360008301526151e281614cf4565b9050919050565b6000602082019050818103600083015261520281614d17565b9050919050565b6000602082019050818103600083015261522281614d3a565b9050919050565b6000602082019050818103600083015261524281614d80565b9050919050565b6000602082019050818103600083015261526281614da3565b9050919050565b6000602082019050818103600083015261528281614dc6565b9050919050565b600060208201905081810360008301526152a281614de9565b9050919050565b60006020820190506152be6000830184614e4a565b92915050565b60006040820190506152d96000830185614e4a565b6152e66020830184614e4a565b9392505050565b60006152f7615308565b90506153038282615642565b919050565b6000604051905090565b600067ffffffffffffffff82111561532d5761532c6157d8565b5b602082029050602081019050919050565b600067ffffffffffffffff821115615359576153586157d8565b5b61536282615825565b9050602081019050919050565b600067ffffffffffffffff82111561538a576153896157d8565b5b61539382615825565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000615427826155a5565b9150615432836155a5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115615467576154666156ed565b5b828201905092915050565b600061547d826155a5565b9150615488836155a5565b9250826154985761549761571c565b5b828204905092915050565b60006154ae826155a5565b91506154b9836155a5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156154f2576154f16156ed565b5b828202905092915050565b6000615508826155a5565b9150615513836155a5565b925082821015615526576155256156ed565b5b828203905092915050565b600061553c82615585565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006155c7826155af565b9050919050565b82818337600083830152505050565b60005b838110156155fb5780820151818401526020810190506155e0565b8381111561560a576000848401525b50505050565b6000600282049050600182168061562857607f821691505b6020821081141561563c5761563b61574b565b5b50919050565b61564b82615825565b810181811067ffffffffffffffff8211171561566a576156696157d8565b5b80604052505050565b600061567e826155a5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156156b1576156b06156ed565b5b600182019050919050565b60006156c7826155a5565b91506156d2836155a5565b9250826156e2576156e161571c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f496e76616c696420416d6f756e74000000000000000000000000000000000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4e4654207374617465732061726520756e72657665616c6564206e6f77210000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f524e473a2043616c6c6572206973206e6f742074686520534f4d20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4f766572666c6f7720616d6f756e742100000000000000000000000000000000600082015250565b7f496e7661696c696420616d6f756e742100000000000000000000000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f646964206e6f74206765742072616e646f6d206e756d62657200000000000000600082015250565b615ef281615531565b8114615efd57600080fd5b50565b615f0981615543565b8114615f1457600080fd5b50565b615f208161554f565b8114615f2b57600080fd5b50565b615f3781615559565b8114615f4257600080fd5b50565b615f4e816155a5565b8114615f5957600080fd5b5056fea264697066735822122010822d77b7062bec34e2c97f7e90a06a70fd780606c67d8703c975fd32d80b0064736f6c63430008070033