60806040526363249d80600d55636325ef00600e556363274080600f55670354a6ba7a1800006010556703e2c284391c00006011556703e2c284391c000060125561045760135560026014556002601555600260165560016019556001601a553480156200006c57600080fd5b506040518060400160405280600581526020017f58424f52470000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f58424f52470000000000000000000000000000000000000000000000000000008152508160029080519060200190620000f192919062000972565b5080600390805190602001906200010a92919062000972565b506200011b6200027e60201b60201c565b600081905550505062000143620001376200028760201b60201c565b6200028f60201b60201c565b6200016c6000801b7370e4336d246664d97b8d2183a3281045b40f48676200035560201b60201c565b6103cf601d600073b98750782e30306d4caa5f6139a44ec23cab838573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506019601d600073e5d2c3eb042ad8c577f70832525656a37749a7f773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200024673b98750782e30306d4caa5f6139a44ec23cab838560016200044760201b60201c565b60405180608001604052806053815260200162005d9d60539139600a90805190602001906200027792919062000972565b5062000c73565b60006001905090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200036782826200046d60201b60201c565b620004435760016009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003e86200028760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b62000469828260405180602001604052806000815250620004d860201b60201c565b5050565b60006009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b620004ea83836200058960201b60201c565b60008373ffffffffffffffffffffffffffffffffffffffff163b146200058457600080549050600083820390505b6200053360008683806001019450866200078860201b60201c565b6200056a576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110620005185781600054146200058157600080fd5b50505b505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620005f7576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082141562000633576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620006486000848385620008ea60201b60201c565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550620006d783620006b96000866000620008f060201b60201c565b620006ca856200092060201b60201c565b176200093060201b60201c565b60046000838152602001908152602001600020819055506000819050600083830190505b818060010192508573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4808210620006fb578060008190555050506200078360008483856200095b60201b60201c565b505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02620007b66200096160201b60201c565b8786866040518563ffffffff1660e01b8152600401620007da949392919062000b26565b6020604051808303816000875af19250505080156200081957506040513d601f19601f8201168201806040525081019062000816919062000bdc565b60015b62000897573d80600081146200084c576040519150601f19603f3d011682016040523d82523d6000602084013e62000851565b606091505b506000815114156200088f576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b50505050565b60008060e883901c905060e86200090f8686846200096960201b60201c565b62ffffff16901b9150509392505050565b60006001821460e11b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b600033905090565b60009392505050565b828054620009809062000c3d565b90600052602060002090601f016020900481019282620009a45760008555620009f0565b82601f10620009bf57805160ff1916838001178555620009f0565b82800160010185558215620009f0579182015b82811115620009ef578251825591602001919060010190620009d2565b5b509050620009ff919062000a03565b5090565b5b8082111562000a1e57600081600090555060010162000a04565b5090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a4f8262000a22565b9050919050565b62000a618162000a42565b82525050565b6000819050919050565b62000a7c8162000a67565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101562000abe57808201518184015260208101905062000aa1565b8381111562000ace576000848401525b50505050565b6000601f19601f8301169050919050565b600062000af28262000a82565b62000afe818562000a8d565b935062000b1081856020860162000a9e565b62000b1b8162000ad4565b840191505092915050565b600060808201905062000b3d600083018762000a56565b62000b4c602083018662000a56565b62000b5b604083018562000a71565b818103606083015262000b6f818462000ae5565b905095945050505050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62000bb68162000b7f565b811462000bc257600080fd5b50565b60008151905062000bd68162000bab565b92915050565b60006020828403121562000bf55762000bf462000b7a565b5b600062000c058482850162000bc5565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c5657607f821691505b6020821081141562000c6d5762000c6c62000c0e565b5b50919050565b61511a8062000c836000396000f3fe6080604052600436106102935760003560e01c80636352211e1161015a578063a217fddf116100c1578063ceb1bbf41161007a578063ceb1bbf4146109ed578063d111515d14610a16578063d547741f14610a2d578063deec2fce14610a56578063e985e9c514610a83578063f2fde38b14610ac057610293565b8063a217fddf146108dd578063a22cb46514610908578063b88d4fde14610931578063bc63f02e1461095a578063bd9a548b14610983578063c87b56dd146109b057610293565b806390fbbd711161011357806390fbbd71146107e957806391d148541461081257806392ed4b101461084f57806395d89b411461086b5780639e852f7514610896578063a1ebf35d146108b257610293565b80636352211e146106d757806370a0823114610714578063715018a61461075157806373532802146107685780637f8c4ed0146107915780638da5cb5b146107be57610293565b80632db11544116101fe57806342842e0e116101b757806342842e0e146105dc57806342966c68146106055780634c0f38c21461062e57806351cff8d914610659578063552a9cc91461068257806355f804b3146106ae57610293565b80632db11544146104dc5780632f1968e7146104f85780632f2ff15d1461053657806336568abe1461055f57806336f3ec76146105885780633eb427a0146105b157610293565b806318160ddd1161025057806318160ddd146103b85780631e0fbfa2146103e357806323b872dd1461040e578063248a9ca31461043757806325dc61fb146104745780632d0335ab1461049f57610293565b806301ffc9a71461029857806306fdde03146102d5578063081812fc14610300578063095ea7b31461033d5780630e41cdfa1461036657806317395a5f1461038f575b600080fd5b3480156102a457600080fd5b506102bf60048036038101906102ba9190613988565b610ae9565b6040516102cc91906139d0565b60405180910390f35b3480156102e157600080fd5b506102ea610be3565b6040516102f79190613a84565b60405180910390f35b34801561030c57600080fd5b5061032760048036038101906103229190613adc565b610c75565b6040516103349190613b4a565b60405180910390f35b34801561034957600080fd5b50610364600480360381019061035f9190613b91565b610cf4565b005b34801561037257600080fd5b5061038d60048036038101906103889190613c36565b610e38565b005b34801561039b57600080fd5b506103b660048036038101906103b19190613c96565b611092565b005b3480156103c457600080fd5b506103cd6110b4565b6040516103da9190613cf8565b60405180910390f35b3480156103ef57600080fd5b506103f86110cb565b6040516104059190613d2c565b60405180910390f35b34801561041a57600080fd5b5061043560048036038101906104309190613d47565b6110ef565b005b34801561044357600080fd5b5061045e60048036038101906104599190613dc6565b611414565b60405161046b9190613d2c565b60405180910390f35b34801561048057600080fd5b50610489611434565b60405161049691906139d0565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c19190613df3565b611447565b6040516104d39190613cf8565b60405180910390f35b6104f660048036038101906104f19190613adc565b611490565b005b34801561050457600080fd5b5061051f600480360381019061051a9190613df3565b6115cc565b60405161052d929190613e20565b60405180910390f35b34801561054257600080fd5b5061055d60048036038101906105589190613e49565b611658565b005b34801561056b57600080fd5b5061058660048036038101906105819190613e49565b611679565b005b34801561059457600080fd5b506105af60048036038101906105aa9190613c96565b6116fc565b005b3480156105bd57600080fd5b506105c661171e565b6040516105d39190613d2c565b60405180910390f35b3480156105e857600080fd5b5061060360048036038101906105fe9190613d47565b611742565b005b34801561061157600080fd5b5061062c60048036038101906106279190613adc565b611762565b005b34801561063a57600080fd5b506106436117e4565b6040516106509190613cf8565b60405180910390f35b34801561066557600080fd5b50610680600480360381019061067b9190613df3565b6117ee565b005b34801561068e57600080fd5b50610697611a59565b6040516106a5929190613e20565b60405180910390f35b3480156106ba57600080fd5b506106d560048036038101906106d09190613edf565b611a6a565b005b3480156106e357600080fd5b506106fe60048036038101906106f99190613adc565b611ad8565b60405161070b9190613b4a565b60405180910390f35b34801561072057600080fd5b5061073b60048036038101906107369190613df3565b611aea565b6040516107489190613cf8565b60405180910390f35b34801561075d57600080fd5b50610766611ba3565b005b34801561077457600080fd5b5061078f600480360381019061078a9190613adc565b611bb7565b005b34801561079d57600080fd5b506107a6611c57565b6040516107b593929190613f2c565b60405180910390f35b3480156107ca57600080fd5b506107d3611c70565b6040516107e09190613b4a565b60405180910390f35b3480156107f557600080fd5b50610810600480360381019061080b9190613c96565b611c9a565b005b34801561081e57600080fd5b5061083960048036038101906108349190613e49565b611cbc565b60405161084691906139d0565b60405180910390f35b61086960048036038101906108649190613c36565b611d27565b005b34801561087757600080fd5b50610880612042565b60405161088d9190613a84565b60405180910390f35b6108b060048036038101906108ab9190613c36565b6120d4565b005b3480156108be57600080fd5b506108c76123ef565b6040516108d49190613d2c565b60405180910390f35b3480156108e957600080fd5b506108f2612413565b6040516108ff9190613d2c565b60405180910390f35b34801561091457600080fd5b5061092f600480360381019061092a9190613f8f565b61241a565b005b34801561093d57600080fd5b50610958600480360381019061095391906140ff565b612592565b005b34801561096657600080fd5b50610981600480360381019061097c9190614182565b612605565b005b34801561098f57600080fd5b50610998612695565b6040516109a793929190613f2c565b60405180910390f35b3480156109bc57600080fd5b506109d760048036038101906109d29190613adc565b6126ae565b6040516109e49190613a84565b60405180910390f35b3480156109f957600080fd5b50610a146004803603810190610a0f91906141c2565b61274d565b005b348015610a2257600080fd5b50610a2b612767565b005b348015610a3957600080fd5b50610a546004803603810190610a4f9190613e49565b6127dc565b005b348015610a6257600080fd5b50610a6b6127fd565b604051610a7a93929190613f2c565b60405180910390f35b348015610a8f57600080fd5b50610aaa6004803603810190610aa59190614202565b612816565b604051610ab791906139d0565b60405180910390f35b348015610acc57600080fd5b50610ae76004803603810190610ae29190613df3565b6128aa565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b4457506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b745750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610bdc57507f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b606060028054610bf290614271565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1e90614271565b8015610c6b5780601f10610c4057610100808354040283529160200191610c6b565b820191906000526020600020905b815481529060010190602001808311610c4e57829003601f168201915b5050505050905090565b6000610c808261292e565b610cb6576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610cff82611ad8565b90508073ffffffffffffffffffffffffffffffffffffffff16610d2061298d565b73ffffffffffffffffffffffffffffffffffffffff1614610d8357610d4c81610d4761298d565b612816565b610d82576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b601654831115610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e74906142ef565b60405180910390fd5b60135483610e896110b4565b610e93919061433e565b1115610ed4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecb906143e0565b60405180910390fd5b60006001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f22919061433e565b9050610fec7fc0d53b6b38dafcad2617ec1d5660bc901206f6e857c2d4538ad90ae7220802f57374338262a35ec73567ad6a04946976f1a6cb647a631ed13d1b338886604051602001610f7793929190614469565b60405160208183030381529060405287876040518463ffffffff1660e01b8152600401610fa693929190614528565b602060405180830381865af4158015610fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe79190614576565b611cbc565b61102b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611022906145ef565b60405180910390fd5b6001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461107b919061433e565b9250508190555061108c3385612995565b50505050565b61109a6129b3565b82600d8190555081600e8190555080600f81905550505050565b60006110be612a31565b6001546000540303905090565b7f3a2f235c9daaf33349d300aadff2f15078a89df81bcfdd45ba11c8f816bddc6f81565b60006110fa82612a3a565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611161576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061116d84612b08565b91509150611183818761117e61298d565b612b2f565b6111cf576111988661119361298d565b612816565b6111ce576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611236576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112438686866001612b73565b801561124e57600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001019190508190555061131c856112f8888887612b79565b7c020000000000000000000000000000000000000000000000000000000017612ba1565b600460008681526020019081526020016000208190555060007c0200000000000000000000000000000000000000000000000000000000841614156113a45760006001850190506000600460008381526020019081526020016000205414156113a25760005481146113a1578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461140c8686866001612bcc565b505050505050565b600060096000838152602001908152602001600020600101549050919050565b600b60009054906101000a900460ff1681565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b8060125461149e919061460f565b34146114df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d6906146b5565b60405180910390fd5b601654811115611524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151b906142ef565b60405180910390fd5b601354816115306110b4565b61153a919061433e565b111561157b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611572906143e0565b60405180910390fd5b600f5442116115bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b690614721565b60405180910390fd5b6115c93382612995565b50565b600080601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491509150915091565b61166182611414565b61166a81612bd2565b6116748383612be6565b505050565b611681612cc7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146116ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e5906147b3565b60405180910390fd5b6116f88282612ccf565b5050565b6117046129b3565b826010819055508160118190555080601281905550505050565b7fc0d53b6b38dafcad2617ec1d5660bc901206f6e857c2d4538ad90ae7220802f581565b61175d83838360405180602001604052806000815250612592565b505050565b3373ffffffffffffffffffffffffffffffffffffffff1661178282611ad8565b73ffffffffffffffffffffffffffffffffffffffff16146117d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cf9061481f565b60405180910390fd5b6117e181612db1565b50565b6000601354905090565b6000601d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611870576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118679061488b565b60405180910390fd5b6000601b5447611880919061433e565b90506000601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103e8601d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611912919061460f565b61191c91906148da565b611926919061490b565b905080601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611973919061433e565b601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080601b546119c4919061433e565b601b8190555060008111611a0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a049061498b565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a53573d6000803e3d6000fd5b50505050565b600080601954601a54915091509091565b611a726129b3565b600b60009054906101000a900460ff1615611ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab9906149f7565b60405180910390fd5b8181600a9190611ad3929190613879565b505050565b6000611ae382612a3a565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b52576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b611bab6129b3565b611bb56000612dbf565b565b611bbf6129b3565b6013548110611c03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfa90614a63565b60405180910390fd5b611c0b6110b4565b811015611c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4490614acf565b60405180910390fd5b8060138190555050565b6000806000601454601554601654925092509250909192565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611ca26129b3565b826014819055508160158190555080601681905550505050565b60006009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b82601154611d35919061460f565b3414611d76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6d906146b5565b60405180910390fd5b601554831115611dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db2906142ef565b60405180910390fd5b60135483611dc76110b4565b611dd1919061433e565b1115611e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e09906143e0565b60405180910390fd5b600e544211611e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4d90614721565b60405180910390fd5b601a54601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed090614b3b565b60405180910390fd5b6001601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f29919061433e565b92505081905550611ff47fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f707374338262a35ec73567ad6a04946976f1a6cb647a631ed13d1b33604051602001611f7f9190614bb2565b60405160208183030381529060405286866040518463ffffffff1660e01b8152600401611fae93929190614528565b602060405180830381865af4158015611fcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fef9190614576565b611cbc565b612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a906145ef565b60405180910390fd5b61203d3384612995565b505050565b60606003805461205190614271565b80601f016020809104026020016040519081016040528092919081815260200182805461207d90614271565b80156120ca5780601f1061209f576101008083540402835291602001916120ca565b820191906000526020600020905b8154815290600101906020018083116120ad57829003601f168201915b5050505050905090565b826010546120e2919061460f565b3414612123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211a906146b5565b60405180910390fd5b601454831115612168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215f906142ef565b60405180910390fd5b601354836121746110b4565b61217e919061433e565b11156121bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b6906143e0565b60405180910390fd5b600d544211612203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fa90614721565b60405180910390fd5b601954601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410612286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227d90614c24565b60405180910390fd5b6001601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122d6919061433e565b925050819055506123a17fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f707374338262a35ec73567ad6a04946976f1a6cb647a631ed13d1b3360405160200161232c9190614c90565b60405160208183030381529060405286866040518463ffffffff1660e01b815260040161235b93929190614528565b602060405180830381865af4158015612378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239c9190614576565b611cbc565b6123e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d7906145ef565b60405180910390fd5b6123ea3384612995565b505050565b7fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f7081565b6000801b81565b61242261298d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612487576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806007600061249461298d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661254161298d565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161258691906139d0565b60405180910390a35050565b61259d8484846110ef565b60008373ffffffffffffffffffffffffffffffffffffffff163b146125ff576125c884848484612e85565b6125fe576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b7f3a2f235c9daaf33349d300aadff2f15078a89df81bcfdd45ba11c8f816bddc6f61262f81612bd2565b6013548361263b6110b4565b612645919061433e565b1115612686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267d906143e0565b60405180910390fd5b6126908284612995565b505050565b6000806000601054601154601254925092509250909192565b60606126b98261292e565b6126ef576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006126f9612fd6565b905060008151141561271a5760405180602001604052806000815250612745565b8061272484613068565b604051602001612735929190614ce7565b6040516020818303038152906040525b915050919050565b6127556129b3565b8160198190555080601a819055505050565b61276f6129b3565b600b60009054906101000a900460ff16156127bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b690614d57565b60405180910390fd5b6001600b60006101000a81548160ff021916908315150217905550565b6127e582611414565b6127ee81612bd2565b6127f88383612ccf565b505050565b6000806000600d54600e54600f54925092509250909192565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6128b26129b3565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291990614de9565b60405180910390fd5b61292b81612dbf565b50565b600081612939612a31565b11158015612948575060005482105b8015612986575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b6129af8282604051806020016040528060008152506130c2565b5050565b6129bb612cc7565b73ffffffffffffffffffffffffffffffffffffffff166129d9611c70565b73ffffffffffffffffffffffffffffffffffffffff1614612a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2690614e55565b60405180910390fd5b565b60006001905090565b60008082905080612a49612a31565b11612ad157600054811015612ad05760006004600083815260200190815260200160002054905060007c010000000000000000000000000000000000000000000000000000000082161415612ace575b6000811415612ac4576004600083600190039350838152602001908152602001600020549050612a99565b8092505050612b03565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8612b9086868461315f565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b612be381612bde612cc7565b613168565b50565b612bf08282611cbc565b612cc35760016009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612c68612cc7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600033905090565b612cd98282611cbc565b15612dad5760006009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612d52612cc7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b612dbc816000613205565b50565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612eab61298d565b8786866040518563ffffffff1660e01b8152600401612ecd9493929190614ebf565b6020604051808303816000875af1925050508015612f0957506040513d601f19601f82011682018060405250810190612f069190614f20565b60015b612f83573d8060008114612f39576040519150601f19603f3d011682016040523d82523d6000602084013e612f3e565b606091505b50600081511415612f7b576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600a8054612fe590614271565b80601f016020809104026020016040519081016040528092919081815260200182805461301190614271565b801561305e5780601f106130335761010080835404028352916020019161305e565b820191906000526020600020905b81548152906001019060200180831161304157829003601f168201915b5050505050905090565b60606080604051019050806040528082600183039250600a81066030018353600a810490505b80156130ae57600183039250600a81066030018353600a8104905061308e565b508181036020830392508083525050919050565b6130cc8383613459565b60008373ffffffffffffffffffffffffffffffffffffffff163b1461315a57600080549050600083820390505b61310c6000868380600101945086612e85565b613142576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106130f957816000541461315757600080fd5b50505b505050565b60009392505050565b6131728282611cbc565b613201576131978173ffffffffffffffffffffffffffffffffffffffff16601461362d565b6131a58360001c602061362d565b6040516020016131b6929190614fe5565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131f89190613a84565b60405180910390fd5b5050565b600061321083612a3a565b9050600081905060008061322386612b08565b91509150841561328c5761323f818461323a61298d565b612b2f565b61328b576132548361324f61298d565b612816565b61328a576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5b61329a836000886001612b73565b80156132a557600082555b600160806001901b03600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555061334d8361330a85600088612b79565b7c02000000000000000000000000000000000000000000000000000000007c01000000000000000000000000000000000000000000000000000000001717612ba1565b600460008881526020019081526020016000208190555060007c0200000000000000000000000000000000000000000000000000000000851614156133d55760006001870190506000600460008381526020019081526020016000205414156133d35760005481146133d2578460046000838152602001908152602001600020819055505b5b505b85600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461343f836000886001612bcc565b600160008154809291906001019190505550505050505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156134c6576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000821415613501576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61350e6000848385612b73565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550613585836135766000866000612b79565b61357f85613869565b17612ba1565b60046000838152602001908152602001600020819055506000819050600083830190505b818060010192508573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082106135a9578060008190555050506136286000848385612bcc565b505050565b606060006002836002613640919061460f565b61364a919061433e565b67ffffffffffffffff81111561366357613662613fd4565b5b6040519080825280601f01601f1916602001820160405280156136955781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106136cd576136cc61501f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106137315761373061501f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002613771919061460f565b61377b919061433e565b90505b600181111561381b577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106137bd576137bc61501f565b5b1a60f81b8282815181106137d4576137d361501f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806138149061504e565b905061377e565b506000841461385f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613856906150c4565b60405180910390fd5b8091505092915050565b60006001821460e11b9050919050565b82805461388590614271565b90600052602060002090601f0160209004810192826138a757600085556138ee565b82601f106138c057803560ff19168380011785556138ee565b828001600101855582156138ee579182015b828111156138ed5782358255916020019190600101906138d2565b5b5090506138fb91906138ff565b5090565b5b80821115613918576000816000905550600101613900565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61396581613930565b811461397057600080fd5b50565b6000813590506139828161395c565b92915050565b60006020828403121561399e5761399d613926565b5b60006139ac84828501613973565b91505092915050565b60008115159050919050565b6139ca816139b5565b82525050565b60006020820190506139e560008301846139c1565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a25578082015181840152602081019050613a0a565b83811115613a34576000848401525b50505050565b6000601f19601f8301169050919050565b6000613a56826139eb565b613a6081856139f6565b9350613a70818560208601613a07565b613a7981613a3a565b840191505092915050565b60006020820190508181036000830152613a9e8184613a4b565b905092915050565b6000819050919050565b613ab981613aa6565b8114613ac457600080fd5b50565b600081359050613ad681613ab0565b92915050565b600060208284031215613af257613af1613926565b5b6000613b0084828501613ac7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613b3482613b09565b9050919050565b613b4481613b29565b82525050565b6000602082019050613b5f6000830184613b3b565b92915050565b613b6e81613b29565b8114613b7957600080fd5b50565b600081359050613b8b81613b65565b92915050565b60008060408385031215613ba857613ba7613926565b5b6000613bb685828601613b7c565b9250506020613bc785828601613ac7565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112613bf657613bf5613bd1565b5b8235905067ffffffffffffffff811115613c1357613c12613bd6565b5b602083019150836001820283011115613c2f57613c2e613bdb565b5b9250929050565b600080600060408486031215613c4f57613c4e613926565b5b6000613c5d86828701613ac7565b935050602084013567ffffffffffffffff811115613c7e57613c7d61392b565b5b613c8a86828701613be0565b92509250509250925092565b600080600060608486031215613caf57613cae613926565b5b6000613cbd86828701613ac7565b9350506020613cce86828701613ac7565b9250506040613cdf86828701613ac7565b9150509250925092565b613cf281613aa6565b82525050565b6000602082019050613d0d6000830184613ce9565b92915050565b6000819050919050565b613d2681613d13565b82525050565b6000602082019050613d416000830184613d1d565b92915050565b600080600060608486031215613d6057613d5f613926565b5b6000613d6e86828701613b7c565b9350506020613d7f86828701613b7c565b9250506040613d9086828701613ac7565b9150509250925092565b613da381613d13565b8114613dae57600080fd5b50565b600081359050613dc081613d9a565b92915050565b600060208284031215613ddc57613ddb613926565b5b6000613dea84828501613db1565b91505092915050565b600060208284031215613e0957613e08613926565b5b6000613e1784828501613b7c565b91505092915050565b6000604082019050613e356000830185613ce9565b613e426020830184613ce9565b9392505050565b60008060408385031215613e6057613e5f613926565b5b6000613e6e85828601613db1565b9250506020613e7f85828601613b7c565b9150509250929050565b60008083601f840112613e9f57613e9e613bd1565b5b8235905067ffffffffffffffff811115613ebc57613ebb613bd6565b5b602083019150836001820283011115613ed857613ed7613bdb565b5b9250929050565b60008060208385031215613ef657613ef5613926565b5b600083013567ffffffffffffffff811115613f1457613f1361392b565b5b613f2085828601613e89565b92509250509250929050565b6000606082019050613f416000830186613ce9565b613f4e6020830185613ce9565b613f5b6040830184613ce9565b949350505050565b613f6c816139b5565b8114613f7757600080fd5b50565b600081359050613f8981613f63565b92915050565b60008060408385031215613fa657613fa5613926565b5b6000613fb485828601613b7c565b9250506020613fc585828601613f7a565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61400c82613a3a565b810181811067ffffffffffffffff8211171561402b5761402a613fd4565b5b80604052505050565b600061403e61391c565b905061404a8282614003565b919050565b600067ffffffffffffffff82111561406a57614069613fd4565b5b61407382613a3a565b9050602081019050919050565b82818337600083830152505050565b60006140a261409d8461404f565b614034565b9050828152602081018484840111156140be576140bd613fcf565b5b6140c9848285614080565b509392505050565b600082601f8301126140e6576140e5613bd1565b5b81356140f684826020860161408f565b91505092915050565b6000806000806080858703121561411957614118613926565b5b600061412787828801613b7c565b945050602061413887828801613b7c565b935050604061414987828801613ac7565b925050606085013567ffffffffffffffff81111561416a5761416961392b565b5b614176878288016140d1565b91505092959194509250565b6000806040838503121561419957614198613926565b5b60006141a785828601613ac7565b92505060206141b885828601613b7c565b9150509250929050565b600080604083850312156141d9576141d8613926565b5b60006141e785828601613ac7565b92505060206141f885828601613ac7565b9150509250929050565b6000806040838503121561421957614218613926565b5b600061422785828601613b7c565b925050602061423885828601613b7c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061428957607f821691505b6020821081141561429d5761429c614242565b5b50919050565b7f4132000000000000000000000000000000000000000000000000000000000000600082015250565b60006142d96002836139f6565b91506142e4826142a3565b602082019050919050565b60006020820190508181036000830152614308816142cc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061434982613aa6565b915061435483613aa6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156143895761438861430f565b5b828201905092915050565b7f4133000000000000000000000000000000000000000000000000000000000000600082015250565b60006143ca6002836139f6565b91506143d582614394565b602082019050919050565b600060208201905081810360008301526143f9816143bd565b9050919050565b60008160601b9050919050565b600061441882614400565b9050919050565b600061442a8261440d565b9050919050565b61444261443d82613b29565b61441f565b82525050565b6000819050919050565b61446361445e82613aa6565b614448565b82525050565b60006144758286614431565b6014820191506144858285614452565b6020820191506144958284614452565b602082019150819050949350505050565b600081519050919050565b600082825260208201905092915050565b60006144cd826144a6565b6144d781856144b1565b93506144e7818560208601613a07565b6144f081613a3a565b840191505092915050565b600061450783856144b1565b9350614514838584614080565b61451d83613a3a565b840190509392505050565b6000604082019050818103600083015261454281866144c2565b905081810360208301526145578184866144fb565b9050949350505050565b60008151905061457081613b65565b92915050565b60006020828403121561458c5761458b613926565b5b600061459a84828501614561565b91505092915050565b7f4135000000000000000000000000000000000000000000000000000000000000600082015250565b60006145d96002836139f6565b91506145e4826145a3565b602082019050919050565b60006020820190508181036000830152614608816145cc565b9050919050565b600061461a82613aa6565b915061462583613aa6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561465e5761465d61430f565b5b828202905092915050565b7f4131000000000000000000000000000000000000000000000000000000000000600082015250565b600061469f6002836139f6565b91506146aa82614669565b602082019050919050565b600060208201905081810360008301526146ce81614692565b9050919050565b7f4134000000000000000000000000000000000000000000000000000000000000600082015250565b600061470b6002836139f6565b9150614716826146d5565b602082019050919050565b6000602082019050818103600083015261473a816146fe565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061479d602f836139f6565b91506147a882614741565b604082019050919050565b600060208201905081810360008301526147cc81614790565b9050919050565b7f4138000000000000000000000000000000000000000000000000000000000000600082015250565b60006148096002836139f6565b9150614814826147d3565b602082019050919050565b60006020820190508181036000830152614838816147fc565b9050919050565b7f4131310000000000000000000000000000000000000000000000000000000000600082015250565b60006148756003836139f6565b91506148808261483f565b602082019050919050565b600060208201905081810360008301526148a481614868565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006148e582613aa6565b91506148f083613aa6565b925082614900576148ff6148ab565b5b828204905092915050565b600061491682613aa6565b915061492183613aa6565b9250828210156149345761493361430f565b5b828203905092915050565b7f4131320000000000000000000000000000000000000000000000000000000000600082015250565b60006149756003836139f6565b91506149808261493f565b602082019050919050565b600060208201905081810360008301526149a481614968565b9050919050565b7f4131300000000000000000000000000000000000000000000000000000000000600082015250565b60006149e16003836139f6565b91506149ec826149ab565b602082019050919050565b60006020820190508181036000830152614a10816149d4565b9050919050565b7f4136000000000000000000000000000000000000000000000000000000000000600082015250565b6000614a4d6002836139f6565b9150614a5882614a17565b602082019050919050565b60006020820190508181036000830152614a7c81614a40565b9050919050565b7f4137000000000000000000000000000000000000000000000000000000000000600082015250565b6000614ab96002836139f6565b9150614ac482614a83565b602082019050919050565b60006020820190508181036000830152614ae881614aac565b9050919050565b7f4131340000000000000000000000000000000000000000000000000000000000600082015250565b6000614b256003836139f6565b9150614b3082614aef565b602082019050919050565b60006020820190508181036000830152614b5481614b18565b9050919050565b600081905092915050565b7f414c000000000000000000000000000000000000000000000000000000000000600082015250565b6000614b9c600283614b5b565b9150614ba782614b66565b600282019050919050565b6000614bbe8284614431565b601482019150614bcd82614b8f565b915081905092915050565b7f4131330000000000000000000000000000000000000000000000000000000000600082015250565b6000614c0e6003836139f6565b9150614c1982614bd8565b602082019050919050565b60006020820190508181036000830152614c3d81614c01565b9050919050565b7f574c000000000000000000000000000000000000000000000000000000000000600082015250565b6000614c7a600283614b5b565b9150614c8582614c44565b600282019050919050565b6000614c9c8284614431565b601482019150614cab82614c6d565b915081905092915050565b6000614cc1826139eb565b614ccb8185614b5b565b9350614cdb818560208601613a07565b80840191505092915050565b6000614cf38285614cb6565b9150614cff8284614cb6565b91508190509392505050565b7f4139000000000000000000000000000000000000000000000000000000000000600082015250565b6000614d416002836139f6565b9150614d4c82614d0b565b602082019050919050565b60006020820190508181036000830152614d7081614d34565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614dd36026836139f6565b9150614dde82614d77565b604082019050919050565b60006020820190508181036000830152614e0281614dc6565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614e3f6020836139f6565b9150614e4a82614e09565b602082019050919050565b60006020820190508181036000830152614e6e81614e32565b9050919050565b600082825260208201905092915050565b6000614e91826144a6565b614e9b8185614e75565b9350614eab818560208601613a07565b614eb481613a3a565b840191505092915050565b6000608082019050614ed46000830187613b3b565b614ee16020830186613b3b565b614eee6040830185613ce9565b8181036060830152614f008184614e86565b905095945050505050565b600081519050614f1a8161395c565b92915050565b600060208284031215614f3657614f35613926565b5b6000614f4484828501614f0b565b91505092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614f83601783614b5b565b9150614f8e82614f4d565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000614fcf601183614b5b565b9150614fda82614f99565b601182019050919050565b6000614ff082614f76565b9150614ffc8285614cb6565b915061500782614fc2565b91506150138284614cb6565b91508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061505982613aa6565b9150600082141561506d5761506c61430f565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006150ae6020836139f6565b91506150b982615078565b602082019050919050565b600060208201905081810360008301526150dd816150a1565b905091905056fea264697066735822122045308b0f913d6d66684751b4eade950c0ed6a9712dbbbfd6f6aaf816b41651bc64736f6c634300080b003368747470733a2f2f6e6566747572652e6d7970696e6174612e636c6f75642f697066732f516d4e664c76685966333771387177764b626a454337414a74584852354e32663566456936506d365a5157644e342f