0x60806040523480156200001157600080fd5b506040518060400160405280600d81526020017f526f6269746963204561676c65000000000000000000000000000000000000008152506040518060400160405280600481526020017f5242434500000000000000000000000000000000000000000000000000000000815250816000908051906020019062000096929190620001a6565b508060019080519060200190620000af929190620001a6565b505050620000d2620000c6620000d860201b60201c565b620000e060201b60201c565b620002bb565b600033905090565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001b49062000285565b90600052602060002090601f016020900481019282620001d8576000855562000224565b82601f10620001f357805160ff191683800117855562000224565b8280016001018555821562000224579182015b828111156200022357825182559160200191906001019062000206565b5b50905062000233919062000237565b5090565b5b808211156200025257600081600090555060010162000238565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200029e57607f821691505b60208210811415620002b557620002b462000256565b5b50919050565b61365580620002cb6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063b88d4fde11610071578063b88d4fde14610343578063c87b56dd1461035f578063d204c45e1461038f578063e985e9c5146103ab578063f2fde38b146103db5761012c565b806370a08231146102b1578063715018a6146102e15780638da5cb5b146102eb57806395d89b4114610309578063a22cb465146103275761012c565b806323b872dd116100f457806323b872dd146101e95780632f745c591461020557806342842e0e146102355780634f6ccce7146102515780636352211e146102815761012c565b806301ffc9a71461013157806306fdde0314610161578063081812fc1461017f578063095ea7b3146101af57806318160ddd146101cb575b600080fd5b61014b60048036038101906101469190612443565b6103f7565b604051610158919061248b565b60405180910390f35b610169610409565b604051610176919061253f565b60405180910390f35b61019960048036038101906101949190612597565b61049b565b6040516101a69190612605565b60405180910390f35b6101c960048036038101906101c4919061264c565b6104e1565b005b6101d36105f9565b6040516101e0919061269b565b60405180910390f35b61020360048036038101906101fe91906126b6565b610606565b005b61021f600480360381019061021a919061264c565b610666565b60405161022c919061269b565b60405180910390f35b61024f600480360381019061024a91906126b6565b61070b565b005b61026b60048036038101906102669190612597565b61072b565b604051610278919061269b565b60405180910390f35b61029b60048036038101906102969190612597565b61079c565b6040516102a89190612605565b60405180910390f35b6102cb60048036038101906102c69190612709565b610823565b6040516102d8919061269b565b60405180910390f35b6102e96108db565b005b6102f36108ef565b6040516103009190612605565b60405180910390f35b610311610919565b60405161031e919061253f565b60405180910390f35b610341600480360381019061033c9190612762565b6109ab565b005b61035d600480360381019061035891906128d7565b6109c1565b005b61037960048036038101906103749190612597565b610a23565b604051610386919061253f565b60405180910390f35b6103a960048036038101906103a491906129fb565b610a35565b005b6103c560048036038101906103c09190612a57565b610a6e565b6040516103d2919061248b565b60405180910390f35b6103f560048036038101906103f09190612709565b610b02565b005b600061040282610b86565b9050919050565b60606000805461041890612ac6565b80601f016020809104026020016040519081016040528092919081815260200182805461044490612ac6565b80156104915780601f1061046657610100808354040283529160200191610491565b820191906000526020600020905b81548152906001019060200180831161047457829003601f168201915b5050505050905090565b60006104a682610be7565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104ec8261079c565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561055d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055490612b6a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661057c610c32565b73ffffffffffffffffffffffffffffffffffffffff1614806105ab57506105aa816105a5610c32565b610a6e565b5b6105ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e190612bfc565b60405180910390fd5b6105f48383610c3a565b505050565b6000600880549050905090565b610617610611610c32565b82610cf3565b610656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064d90612c8e565b60405180910390fd5b610661838383610d88565b505050565b600061067183610823565b82106106b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a990612d20565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610726838383604051806020016040528060008152506109c1565b505050565b60006107356105f9565b8210610776576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076d90612db2565b60405180910390fd5b6008828154811061078a57610789612dd2565b5b90600052602060002001549050919050565b6000806107a883611082565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081190612e4d565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088b90612edf565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108e36110bf565b6108ed600061113d565b565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461092890612ac6565b80601f016020809104026020016040519081016040528092919081815260200182805461095490612ac6565b80156109a15780601f10610976576101008083540402835291602001916109a1565b820191906000526020600020905b81548152906001019060200180831161098457829003601f168201915b5050505050905090565b6109bd6109b6610c32565b8383611203565b5050565b6109d26109cc610c32565b83610cf3565b610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0890612c8e565b60405180910390fd5b610a1d84848484611370565b50505050565b6060610a2e826113cc565b9050919050565b610a3d6110bf565b6000610a49600c6114df565b9050610a55600c6114ed565b610a5f8382611503565b610a698183611521565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610b0a6110bf565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7190612f71565b60405180910390fd5b610b838161113d565b50565b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610be05750610bdf826115cc565b5b9050919050565b610bf081611646565b610c2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2690612e4d565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610cad8361079c565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610cff8361079c565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610d415750610d408185610a6e565b5b80610d7f57508373ffffffffffffffffffffffffffffffffffffffff16610d678461049b565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610da88261079c565b73ffffffffffffffffffffffffffffffffffffffff1614610dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df590613003565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6590613095565b60405180910390fd5b610e7b8383836001611687565b8273ffffffffffffffffffffffffffffffffffffffff16610e9b8261079c565b73ffffffffffffffffffffffffffffffffffffffff1614610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890613003565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461107d8383836001611699565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6110c7610c32565b73ffffffffffffffffffffffffffffffffffffffff166110e56108ef565b73ffffffffffffffffffffffffffffffffffffffff161461113b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113290613101565b60405180910390fd5b565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112699061316d565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611363919061248b565b60405180910390a3505050565b61137b848484610d88565b6113878484848461169f565b6113c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd906131ff565b60405180910390fd5b50505050565b60606113d782610be7565b6000600a600084815260200190815260200160002080546113f790612ac6565b80601f016020809104026020016040519081016040528092919081815260200182805461142390612ac6565b80156114705780601f1061144557610100808354040283529160200191611470565b820191906000526020600020905b81548152906001019060200180831161145357829003601f168201915b505050505090506000611481611836565b90506000815114156114975781925050506114da565b6000825111156114cc5780826040516020016114b492919061325b565b604051602081830303815290604052925050506114da565b6114d58461184d565b925050505b919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b61151d8282604051806020016040528060008152506118b5565b5050565b61152a82611646565b611569576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611560906132f1565b60405180910390fd5b80600a60008481526020019081526020016000209080519060200190611590929190612334565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516115c0919061269b565b60405180910390a15050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061163f575061163e82611910565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661166883611082565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b611693848484846119f2565b50505050565b50505050565b60006116c08473ffffffffffffffffffffffffffffffffffffffff16611b52565b15611829578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026116e9610c32565b8786866040518563ffffffff1660e01b815260040161170b9493929190613366565b602060405180830381600087803b15801561172557600080fd5b505af192505050801561175657506040513d601f19601f8201168201806040525081019061175391906133c7565b60015b6117d9573d8060008114611786576040519150601f19603f3d011682016040523d82523d6000602084013e61178b565b606091505b506000815114156117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c8906131ff565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061182e565b600190505b949350505050565b606060405180602001604052806000815250905090565b606061185882610be7565b6000611862611836565b9050600081511161188257604051806020016040528060008152506118ad565b8061188c84611b75565b60405160200161189d92919061325b565b6040516020818303038152906040525b915050919050565b6118bf8383611c4d565b6118cc600084848461169f565b61190b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611902906131ff565b60405180910390fd5b505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806119db57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806119eb57506119ea82611e6b565b5b9050919050565b6119fe84848484611ed5565b6001811115611a42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3990613466565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611a8a57611a8581611edb565b611ac9565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611ac857611ac78582611f24565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611b0c57611b0781612091565b611b4b565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611b4a57611b498482612162565b5b5b5050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606060006001611b84846121e1565b01905060008167ffffffffffffffff811115611ba357611ba26127ac565b5b6040519080825280601f01601f191660200182016040528015611bd55781602001600182028036833780820191505090505b509050600082602001820190505b600115611c42578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611c2c57611c2b613486565b5b0494506000851415611c3d57611c42565b611be3565b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb490613501565b60405180910390fd5b611cc681611646565b15611d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfd9061356d565b60405180910390fd5b611d14600083836001611687565b611d1d81611646565b15611d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d549061356d565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611e67600083836001611699565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001611f3184610823565b611f3b91906135bc565b9050600060076000848152602001908152602001600020549050818114612020576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506120a591906135bc565b90506000600960008481526020019081526020016000205490506000600883815481106120d5576120d4612dd2565b5b9060005260206000200154905080600883815481106120f7576120f6612dd2565b5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480612146576121456135f0565b5b6001900381819060005260206000200160009055905550505050565b600061216d83610823565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061223f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161223557612234613486565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061227c576d04ee2d6d415b85acef8100000000838161227257612271613486565b5b0492506020810190505b662386f26fc1000083106122ab57662386f26fc1000083816122a1576122a0613486565b5b0492506010810190505b6305f5e10083106122d4576305f5e10083816122ca576122c9613486565b5b0492506008810190505b61271083106122f95761271083816122ef576122ee613486565b5b0492506004810190505b6064831061231c576064838161231257612311613486565b5b0492506002810190505b600a831061232b576001810190505b80915050919050565b82805461234090612ac6565b90600052602060002090601f01602090048101928261236257600085556123a9565b82601f1061237b57805160ff19168380011785556123a9565b828001600101855582156123a9579182015b828111156123a857825182559160200191906001019061238d565b5b5090506123b691906123ba565b5090565b5b808211156123d35760008160009055506001016123bb565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612420816123eb565b811461242b57600080fd5b50565b60008135905061243d81612417565b92915050565b600060208284031215612459576124586123e1565b5b60006124678482850161242e565b91505092915050565b60008115159050919050565b61248581612470565b82525050565b60006020820190506124a0600083018461247c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124e05780820151818401526020810190506124c5565b838111156124ef576000848401525b50505050565b6000601f19601f8301169050919050565b6000612511826124a6565b61251b81856124b1565b935061252b8185602086016124c2565b612534816124f5565b840191505092915050565b600060208201905081810360008301526125598184612506565b905092915050565b6000819050919050565b61257481612561565b811461257f57600080fd5b50565b6000813590506125918161256b565b92915050565b6000602082840312156125ad576125ac6123e1565b5b60006125bb84828501612582565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125ef826125c4565b9050919050565b6125ff816125e4565b82525050565b600060208201905061261a60008301846125f6565b92915050565b612629816125e4565b811461263457600080fd5b50565b60008135905061264681612620565b92915050565b60008060408385031215612663576126626123e1565b5b600061267185828601612637565b925050602061268285828601612582565b9150509250929050565b61269581612561565b82525050565b60006020820190506126b0600083018461268c565b92915050565b6000806000606084860312156126cf576126ce6123e1565b5b60006126dd86828701612637565b93505060206126ee86828701612637565b92505060406126ff86828701612582565b9150509250925092565b60006020828403121561271f5761271e6123e1565b5b600061272d84828501612637565b91505092915050565b61273f81612470565b811461274a57600080fd5b50565b60008135905061275c81612736565b92915050565b60008060408385031215612779576127786123e1565b5b600061278785828601612637565b92505060206127988582860161274d565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127e4826124f5565b810181811067ffffffffffffffff82111715612803576128026127ac565b5b80604052505050565b60006128166123d7565b905061282282826127db565b919050565b600067ffffffffffffffff821115612842576128416127ac565b5b61284b826124f5565b9050602081019050919050565b82818337600083830152505050565b600061287a61287584612827565b61280c565b905082815260208101848484011115612896576128956127a7565b5b6128a1848285612858565b509392505050565b600082601f8301126128be576128bd6127a2565b5b81356128ce848260208601612867565b91505092915050565b600080600080608085870312156128f1576128f06123e1565b5b60006128ff87828801612637565b945050602061291087828801612637565b935050604061292187828801612582565b925050606085013567ffffffffffffffff811115612942576129416123e6565b5b61294e878288016128a9565b91505092959194509250565b600067ffffffffffffffff821115612975576129746127ac565b5b61297e826124f5565b9050602081019050919050565b600061299e6129998461295a565b61280c565b9050828152602081018484840111156129ba576129b96127a7565b5b6129c5848285612858565b509392505050565b600082601f8301126129e2576129e16127a2565b5b81356129f284826020860161298b565b91505092915050565b60008060408385031215612a1257612a116123e1565b5b6000612a2085828601612637565b925050602083013567ffffffffffffffff811115612a4157612a406123e6565b5b612a4d858286016129cd565b9150509250929050565b60008060408385031215612a6e57612a6d6123e1565b5b6000612a7c85828601612637565b9250506020612a8d85828601612637565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612ade57607f821691505b60208210811415612af257612af1612a97565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b546021836124b1565b9150612b5f82612af8565b604082019050919050565b60006020820190508181036000830152612b8381612b47565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612be6603d836124b1565b9150612bf182612b8a565b604082019050919050565b60006020820190508181036000830152612c1581612bd9565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612c78602d836124b1565b9150612c8382612c1c565b604082019050919050565b60006020820190508181036000830152612ca781612c6b565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000612d0a602b836124b1565b9150612d1582612cae565b604082019050919050565b60006020820190508181036000830152612d3981612cfd565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000612d9c602c836124b1565b9150612da782612d40565b604082019050919050565b60006020820190508181036000830152612dcb81612d8f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000612e376018836124b1565b9150612e4282612e01565b602082019050919050565b60006020820190508181036000830152612e6681612e2a565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000612ec96029836124b1565b9150612ed482612e6d565b604082019050919050565b60006020820190508181036000830152612ef881612ebc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612f5b6026836124b1565b9150612f6682612eff565b604082019050919050565b60006020820190508181036000830152612f8a81612f4e565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000612fed6025836124b1565b9150612ff882612f91565b604082019050919050565b6000602082019050818103600083015261301c81612fe0565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061307f6024836124b1565b915061308a82613023565b604082019050919050565b600060208201905081810360008301526130ae81613072565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006130eb6020836124b1565b91506130f6826130b5565b602082019050919050565b6000602082019050818103600083015261311a816130de565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006131576019836124b1565b915061316282613121565b602082019050919050565b600060208201905081810360008301526131868161314a565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006131e96032836124b1565b91506131f48261318d565b604082019050919050565b60006020820190508181036000830152613218816131dc565b9050919050565b600081905092915050565b6000613235826124a6565b61323f818561321f565b935061324f8185602086016124c2565b80840191505092915050565b6000613267828561322a565b9150613273828461322a565b91508190509392505050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b60006132db602e836124b1565b91506132e68261327f565b604082019050919050565b6000602082019050818103600083015261330a816132ce565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061333882613311565b613342818561331c565b93506133528185602086016124c2565b61335b816124f5565b840191505092915050565b600060808201905061337b60008301876125f6565b61338860208301866125f6565b613395604083018561268c565b81810360608301526133a7818461332d565b905095945050505050565b6000815190506133c181612417565b92915050565b6000602082840312156133dd576133dc6123e1565b5b60006133eb848285016133b2565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006134506035836124b1565b915061345b826133f4565b604082019050919050565b6000602082019050818103600083015261347f81613443565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006134eb6020836124b1565b91506134f6826134b5565b602082019050919050565b6000602082019050818103600083015261351a816134de565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613557601c836124b1565b915061356282613521565b602082019050919050565b600060208201905081810360008301526135868161354a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006135c782612561565b91506135d283612561565b9250828210156135e5576135e461358d565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122009547543826282d233e016fb28cdf9f586054a4a79938f0df6db4e0f3a1003db64736f6c63430008090033