608060405234801561001057600080fd5b50613012806100206000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80636352211e116100de578063b88d4fde11610097578063e3204d0511610071578063e3204d05146104f1578063e985e9c514610521578063ec81d19414610551578063f08f4f64146105815761018e565b8063b88d4fde14610489578063c05b3847146104a5578063c87b56dd146104c15761018e565b80636352211e1461038f57806370a08231146103bf5780637ecebe00146103ef5780638ec552dc1461041f57806395d89b411461044f578063a22cb4651461046d5761018e565b806323b872dd1161014b57806342842e0e1161012557806342842e0e146102f757806342966c68146103135780634af1dc7a1461032f5780634f6ccce71461035f5761018e565b806323b872dd1461027b5780632dc643d9146102975780632f745c59146102c75761018e565b806301ffc9a71461019357806306fdde03146101c3578063081812fc146101e1578063095ea7b31461021157806318160ddd1461022d57806320fa728a1461024b575b600080fd5b6101ad60048036038101906101a89190611f83565b6105b1565b6040516101ba9190611fcb565b60405180910390f35b6101cb610753565b6040516101d89190612076565b60405180910390f35b6101fb60048036038101906101f691906120ce565b610790565b604051610208919061213c565b60405180910390f35b61022b60048036038101906102269190612183565b6107c4565b005b6102356107f6565b60405161024291906121d2565b60405180910390f35b61026560048036038101906102609190612252565b61080c565b60405161027291906121d2565b60405180910390f35b6102956004803603810190610290919061229f565b61084a565b005b6102b160048036038101906102ac91906120ce565b61087c565b6040516102be919061213c565b60405180910390f35b6102e160048036038101906102dc9190612183565b6108c5565b6040516102ee91906121d2565b60405180910390f35b610311600480360381019061030c919061229f565b61096d565b005b61032d600480360381019061032891906120ce565b61099f565b005b610349600480360381019061034491906122f2565b6109d9565b60405161035691906121d2565b60405180910390f35b610379600480360381019061037491906120ce565b610a2b565b60405161038691906121d2565b60405180910390f35b6103a960048036038101906103a491906120ce565b610a5c565b6040516103b6919061213c565b60405180910390f35b6103d960048036038101906103d491906122f2565b610b52565b6040516103e691906121d2565b60405180910390f35b610409600480360381019061040491906122f2565b610bb7565b60405161041691906121d2565b60405180910390f35b61043960048036038101906104349190612343565b610c09565b60405161044691906121d2565b60405180910390f35b610457610c23565b6040516104649190612076565b60405180910390f35b610487600480360381019061048291906123b8565b610c60565b005b6104a3600480360381019061049e919061244e565b610c92565b005b6104bf60048036038101906104ba91906124d6565b610cc4565b005b6104db60048036038101906104d691906120ce565b610ce6565b6040516104e89190612076565b60405180910390f35b61050b600480360381019061050691906120ce565b610d08565b604051610518919061213c565b60405180910390f35b61053b60048036038101906105369190612536565b610d51565b6040516105489190611fcb565b60405180910390f35b61056b600480360381019061056691906120ce565b610d85565b6040516105789190612076565b60405180910390f35b61059b600480360381019061059691906120ce565b610e36565b6040516105a891906126a1565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061067c57507f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106e457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061074c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60606040518060400160405280600c81526020017f70726f66696c654c6f6769630000000000000000000000000000000000000000815250905090565b60006040517fe405ba7400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fe405ba7400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610800611052565b60000180549050905090565b6000610816611052565b6002016000848460405161082b929190612702565b6040518091039020815260200190815260200160002054905092915050565b6040517fe405ba7400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610886611052565b600301600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000808214806108dd575060006108db84610b52565b145b61091c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109139061278d565b60405180910390fd5b610924611052565b60040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040517fe405ba7400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109a761107f565b6040517fe405ba7400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109e3611052565b60040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610a35611052565b6000018281548110610a4a57610a496127ad565b5b90600052602060002001549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16610a7d611052565b600301600084815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b029061284e565b60405180910390fd5b610b13611052565b600301600083815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600080610b5d611052565b60040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403610baa576000610bad565b60015b60ff169050919050565b6000610bc1611052565b60060160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610c1361107f565b610c1c826110f6565b9050919050565b60606040518060400160405280600281526020017f504c000000000000000000000000000000000000000000000000000000000000815250905090565b6040517fe405ba7400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fe405ba7400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ccc61107f565b610cd633846113d5565b610ce1838383611446565b505050565b60606040518060a00160405280606b8152602001612f72606b91399050919050565b6000610d12611052565b600301600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006040517fe405ba7400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060610d8f611052565b60030160008381526020019081526020016000206003018054610db19061289d565b80601f0160208091040260200160405190810160405280929190818152602001828054610ddd9061289d565b8015610e2a5780601f10610dff57610100808354040283529160200191610e2a565b820191906000526020600020905b815481529060010190602001808311610e0d57829003601f168201915b50505050509050919050565b610e3e611e94565b610e46611052565b60030160008381526020019081526020016000206040518060e0016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382018054610f2b9061289d565b80601f0160208091040260200160405190810160405280929190818152602001828054610f579061289d565b8015610fa45780601f10610f7957610100808354040283529160200191610fa4565b820191906000526020600020905b815481529060010190602001808311610f8757829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020016005820154815250509050919050565b6000807f10aa9473e25f24b4646556f29fae350afa098f70e67880cf993038a2de16ac9d90508091505090565b600280811115611092576110916128ce565b5b61109a6114f3565b60000160009054906101000a900460ff1660028111156110bd576110bc6128ce565b5b036110f4576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60008061111183806000019061110c919061290c565b611520565b9050600061111d611052565b60020190506000816000848152602001908152602001600020541461116e576040517f902815b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611179336118fa565b90506000611185611052565b600301600083815260200190815260200160002090508580600001906111ab919061290c565b8260030191826111bc929190612b55565b5081836000868152602001908152602001600020819055506000808780602001906111e79190612c25565b90501461124d57611207838880602001906112029190612c25565b611af0565b9050808260010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600087604001351461134d576000611263611052565b60030160008960400135815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061130757503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b1561133e576040517f5a05a1b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87604001358360050181905550505b3373ffffffffffffffffffffffffffffffffffffffff16837fc3e816a3a7917fe2faca0b8db5b61eab43b0b71dd787f97f498c3693386e68fe898060000190611396919061290c565b858c604001358d80606001906113ac9190612c25565b426040516113c09796959493929190612cf3565b60405180910390a38295505050505050919050565b6113de81611bee565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611442576040517ff194fae500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000611453848484611af0565b90508061145e611052565b600301600086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550837f5f2df89327f936ab28956ce4465a04af0df6f876700143cfc4bf46e9cf2bdab482426040516114e5929190612d58565b60405180910390a250505050565b6000807f19130c7988b568675c2d102610dc020a5cfa71d929c94414fd679aaa05e7a96290508091505090565b60008083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600460ff16815110806115815750600f60ff168151115b156115b8576040517f3eb64ab300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008151905060005b818110156118e7577f30000000000000000000000000000000000000000000000000000000000000008382815181106115fd576115fc6127ad565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916108061169457507f7a00000000000000000000000000000000000000000000000000000000000000838281518110611665576116646127ad565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916115b8061176757507f39000000000000000000000000000000000000000000000000000000000000008382815181106116ce576116cd6127ad565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611801561176657507f4100000000000000000000000000000000000000000000000000000000000000838281518110611737576117366127ad565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916105b5b8061183a57507f5a000000000000000000000000000000000000000000000000000000000000008382815181106117a1576117a06127ad565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611801561183957507f610000000000000000000000000000000000000000000000000000000000000083828151811061180a576118096127ad565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916105b5b80156118a557507f5f00000000000000000000000000000000000000000000000000000000000000838281518110611875576118746127ad565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614155b156118dc576040517f2edfc66c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060010190506115c1565b5081805190602001209250505092915050565b600080611905611052565b905060008160040160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611982576040517f547802a500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816005016000815461199590612db0565b91905081905590506119a681611c37565b8382600301600083815260200190815260200160002060040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504282600301600083815260200190815260200160002060040160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550808260040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48092505050919050565b60008282600090601492611b0693929190612e02565b90611b119190612e74565b60601c9050611b1f81611c93565b600083836014908092611b3493929190612e02565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505090508173ffffffffffffffffffffffffffffffffffffffff166302fafca086836040518363ffffffff1660e01b8152600401611bb4929190612f17565b600060405180830381600087803b158015611bce57600080fd5b505af1158015611be2573d6000803e3d6000fd5b50505050509392505050565b6000611bf8611052565b600301600083815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000611c41611052565b9050806000018054905081600101600084815260200190815260200160002081905550806000018290806001815401808255809150506001900390600052602060002001600090919091909150555050565b611c9b611d56565b60080160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580611d1c5750611d1a817f0cf3964100000000000000000000000000000000000000000000000000000000611d83565b155b15611d53576040517f69bbbf9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b6000807f1e7189ec9144118c0ba7c7e713eb334095b8a3aa5a269a69c014b88fa0aebebf90508091505090565b6000611d8e83611da8565b8015611da05750611d9f8383611df5565b5b905092915050565b6000611dd4827f01ffc9a700000000000000000000000000000000000000000000000000000000611df5565b8015611dee5750611dec8263ffffffff60e01b611df5565b155b9050919050565b60008082604051602401611e099190612f56565b6040516020818303038152906040526301ffc9a760e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000806000602060008551602087018a617530fa92503d91506000519050828015611e7c575060208210155b8015611e885750600081115b94505050505092915050565b6040518060e0016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160006bffffffffffffffffffffffff168152602001600081525090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611f6081611f2b565b8114611f6b57600080fd5b50565b600081359050611f7d81611f57565b92915050565b600060208284031215611f9957611f98611f21565b5b6000611fa784828501611f6e565b91505092915050565b60008115159050919050565b611fc581611fb0565b82525050565b6000602082019050611fe06000830184611fbc565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612020578082015181840152602081019050612005565b60008484015250505050565b6000601f19601f8301169050919050565b600061204882611fe6565b6120528185611ff1565b9350612062818560208601612002565b61206b8161202c565b840191505092915050565b60006020820190508181036000830152612090818461203d565b905092915050565b6000819050919050565b6120ab81612098565b81146120b657600080fd5b50565b6000813590506120c8816120a2565b92915050565b6000602082840312156120e4576120e3611f21565b5b60006120f2848285016120b9565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612126826120fb565b9050919050565b6121368161211b565b82525050565b6000602082019050612151600083018461212d565b92915050565b6121608161211b565b811461216b57600080fd5b50565b60008135905061217d81612157565b92915050565b6000806040838503121561219a57612199611f21565b5b60006121a88582860161216e565b92505060206121b9858286016120b9565b9150509250929050565b6121cc81612098565b82525050565b60006020820190506121e760008301846121c3565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612212576122116121ed565b5b8235905067ffffffffffffffff81111561222f5761222e6121f2565b5b60208301915083600182028301111561224b5761224a6121f7565b5b9250929050565b6000806020838503121561226957612268611f21565b5b600083013567ffffffffffffffff81111561228757612286611f26565b5b612293858286016121fc565b92509250509250929050565b6000806000606084860312156122b8576122b7611f21565b5b60006122c68682870161216e565b93505060206122d78682870161216e565b92505060406122e8868287016120b9565b9150509250925092565b60006020828403121561230857612307611f21565b5b60006123168482850161216e565b91505092915050565b600080fd5b60006080828403121561233a5761233961231f565b5b81905092915050565b60006020828403121561235957612358611f21565b5b600082013567ffffffffffffffff81111561237757612376611f26565b5b61238384828501612324565b91505092915050565b61239581611fb0565b81146123a057600080fd5b50565b6000813590506123b28161238c565b92915050565b600080604083850312156123cf576123ce611f21565b5b60006123dd8582860161216e565b92505060206123ee858286016123a3565b9150509250929050565b60008083601f84011261240e5761240d6121ed565b5b8235905067ffffffffffffffff81111561242b5761242a6121f2565b5b602083019150836001820283011115612447576124466121f7565b5b9250929050565b60008060008060006080868803121561246a57612469611f21565b5b60006124788882890161216e565b95505060206124898882890161216e565b945050604061249a888289016120b9565b935050606086013567ffffffffffffffff8111156124bb576124ba611f26565b5b6124c7888289016123f8565b92509250509295509295909350565b6000806000604084860312156124ef576124ee611f21565b5b60006124fd868287016120b9565b935050602084013567ffffffffffffffff81111561251e5761251d611f26565b5b61252a868287016123f8565b92509250509250925092565b6000806040838503121561254d5761254c611f21565b5b600061255b8582860161216e565b925050602061256c8582860161216e565b9150509250929050565b61257f81612098565b82525050565b61258e8161211b565b82525050565b600082825260208201905092915050565b60006125b082611fe6565b6125ba8185612594565b93506125ca818560208601612002565b6125d38161202c565b840191505092915050565b60006bffffffffffffffffffffffff82169050919050565b6125ff816125de565b82525050565b600060e08301600083015161261d6000860182612576565b5060208301516126306020860182612585565b5060408301516126436040860182612585565b506060830151848203606086015261265b82826125a5565b91505060808301516126706080860182612585565b5060a083015161268360a08601826125f6565b5060c083015161269660c0860182612576565b508091505092915050565b600060208201905081810360008301526126bb8184612605565b905092915050565b600081905092915050565b82818337600083830152505050565b60006126e983856126c3565b93506126f68385846126ce565b82840190509392505050565b600061270f8284866126dd565b91508190509392505050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000612777602b83611ff1565b91506127828261271b565b604082019050919050565b600060208201905081810360008301526127a68161276a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000612838602983611ff1565b9150612843826127dc565b604082019050919050565b600060208201905081810360008301526128678161282b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806128b557607f821691505b6020821081036128c8576128c761286e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112612929576129286128fd565b5b80840192508235915067ffffffffffffffff82111561294b5761294a612902565b5b60208301925060018202360383131561296757612966612907565b5b509250929050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612a0b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826129ce565b612a1586836129ce565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612a52612a4d612a4884612098565b612a2d565b612098565b9050919050565b6000819050919050565b612a6c83612a37565b612a80612a7882612a59565b8484546129db565b825550505050565b600090565b612a95612a88565b612aa0818484612a63565b505050565b5b81811015612ac457612ab9600082612a8d565b600181019050612aa6565b5050565b601f821115612b0957612ada816129a9565b612ae3846129be565b81016020851015612af2578190505b612b06612afe856129be565b830182612aa5565b50505b505050565b600082821c905092915050565b6000612b2c60001984600802612b0e565b1980831691505092915050565b6000612b458383612b1b565b9150826002028217905092915050565b612b5f838361296f565b67ffffffffffffffff811115612b7857612b7761297a565b5b612b82825461289d565b612b8d828285612ac8565b6000601f831160018114612bbc5760008415612baa578287013590505b612bb48582612b39565b865550612c1c565b601f198416612bca866129a9565b60005b82811015612bf257848901358255600182019150602085019450602081019050612bcd565b86831015612c0f5784890135612c0b601f891682612b1b565b8355505b6001600288020188555050505b50505050505050565b60008083356001602003843603038112612c4257612c416128fd565b5b80840192508235915067ffffffffffffffff821115612c6457612c63612902565b5b602083019250600182023603831315612c8057612c7f612907565b5b509250929050565b6000612c948385611ff1565b9350612ca18385846126ce565b612caa8361202c565b840190509392505050565b600082825260208201905092915050565b6000612cd28385612cb5565b9350612cdf8385846126ce565b612ce88361202c565b840190509392505050565b600060a0820190508181036000830152612d0e81898b612c88565b9050612d1d602083018861212d565b612d2a60408301876121c3565b8181036060830152612d3d818587612cc6565b9050612d4c60808301846121c3565b98975050505050505050565b6000604082019050612d6d600083018561212d565b612d7a60208301846121c3565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612dbb82612098565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ded57612dec612d81565b5b600182019050919050565b600080fd5b600080fd5b60008085851115612e1657612e15612df8565b5b83861115612e2757612e26612dfd565b5b6001850283019150848603905094509492505050565b600082905092915050565b60007fffffffffffffffffffffffffffffffffffffffff00000000000000000000000082169050919050565b6000612e808383612e3d565b82612e8b8135612e48565b92506014821015612ecb57612ec67fffffffffffffffffffffffffffffffffffffffff000000000000000000000000836014036008026129ce565b831692505b505092915050565b600081519050919050565b6000612ee982612ed3565b612ef38185612cb5565b9350612f03818560208601612002565b612f0c8161202c565b840191505092915050565b6000604082019050612f2c60008301856121c3565b8181036020830152612f3e8184612ede565b90509392505050565b612f5081611f2b565b82525050565b6000602082019050612f6b6000830184612f47565b9291505056fe68747470733a2f2f77686974652d617070726f7072696174652d706172726f74666973682d3633392e6d7970696e6174612e636c6f75642f697066732f516d5847467a6f724b546247507450384b4c7776707462787863484b63624165574c684c64394a69486b65657531a2646970667358221220a151e0dbc1f6ad3cfc27d23251228bcefe9b0a7104c1cd9f544b78ca3bf9e62064736f6c63430008140033