@kingdomchain/wallet-client 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +130 -130
- package/dist/index.d.ts +53 -18
- package/dist/index.js +125 -61
- package/dist/index.js.map +1 -1
- package/package.json +77 -77
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/attestation.ts","../src/generated/google/protobuf/timestamp.ts","../src/generated/isatheword/kingdomchain/citizen/v1/tx.ts","../src/generated/isatheword/kingdomchain/compliance/v1/tx.ts","../src/generated/isatheword/kingdomchain/compliance/v1/compliance.ts","../src/registry.ts","../src/chainConstants.ts","../src/browserSigner.ts","../src/walletConnectSigner.ts","../src/embeddedWallet/types.ts","../src/embeddedWallet/signer.ts","../src/embeddedWallet/mnemonic.ts","../src/embeddedWallet/crypto.ts","../src/embeddedWallet/prf.ts","../src/embeddedWallet/backup.ts","../src/embeddedWallet/webauthn.ts","../src/embeddedWallet/storage.ts","../src/embeddedWallet/lockout.ts","../src/embeddedWallet/pin.ts","../src/embeddedWallet/passcode-denylist.json","../src/embeddedWallet/passcode-denylist.ts","../src/embeddedWallet/passcode-strength.ts","../src/embeddedWallet/wallet.ts","../src/submitApplication.ts"],"names":["BinaryWriter","BinaryReader","toTimestamp","fromTimestamp","ApplicationStatus","RecoveryAttestationStatus","englishWordlist","DirectSecp256k1Wallet","privateKey","toBase64","fromBase64","plaintext","signer","account","session"],"mappings":"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","file":"index.js","sourcesContent":["import { fromHex, toHex } from \"@cosmjs/encoding\";\nimport { sha256 } from \"@noble/hashes/sha256\";\nimport * as ed from \"@noble/ed25519\";\n\n/** Must match x/compliance/types/keys.go AttestationTypeCitizenshipApplication */\nexport const ATTESTATION_TYPE_CITIZENSHIP_APPLICATION = \"citizenship_application\";\n\n/** Must match x/compliance/types/keys.go AttestationTypeRecovery */\nexport const ATTESTATION_TYPE_RECOVERY = \"recovery\";\n\nexport interface AttestationPayloadInput {\n attestationType: string;\n chainId: string;\n intendedWallet: string;\n caseId: string;\n policyVersion: string;\n nonce: string;\n uniquenessReference: string;\n issuedAt: Date;\n expiresAt: Date;\n providerId: string;\n providerKeyVersion: bigint;\n citizenId?: bigint;\n oldWallet?: string;\n newWallet?: string;\n}\n\nfunction hashField(value: string): Uint8Array {\n return sha256(new TextEncoder().encode(value));\n}\n\n/** Format uint64 the same way Go strconv.FormatUint(v, 10) does. Rejects out-of-range values. */\nfunction formatUint64(value: bigint, fieldName: string): string {\n if (value < 0n) {\n throw new Error(`${fieldName} must be non-negative, got ${value}`);\n }\n if (value > 0xffff_ffff_ffff_ffffn) {\n throw new Error(`${fieldName} exceeds uint64 max, got ${value}`);\n }\n return value.toString(10);\n}\n\n/** Unix seconds truncated toward zero — matches Go time.Time.Unix(). */\nfunction unixSeconds(date: Date): number {\n return Math.trunc(date.getTime() / 1000);\n}\n\nfunction combineHashes(hashes: Uint8Array[]): string {\n const totalLen = hashes.reduce((acc, h) => acc + h.length, 0);\n const preimage = new Uint8Array(totalLen);\n let offset = 0;\n for (const h of hashes) {\n preimage.set(h, offset);\n offset += h.length;\n }\n return toHex(sha256(preimage));\n}\n\n/**\n * Canonical attestation payload — must match Go types.AttestationSignPayload bit-for-bit.\n */\nexport function attestationSignPayload(input: AttestationPayloadInput): string {\n const hashes = [\n hashField(input.attestationType),\n hashField(input.chainId),\n hashField(input.intendedWallet),\n hashField(input.caseId),\n hashField(input.policyVersion),\n hashField(input.nonce),\n hashField(input.uniquenessReference),\n hashField(String(unixSeconds(input.issuedAt))),\n hashField(String(unixSeconds(input.expiresAt))),\n hashField(input.providerId),\n hashField(formatUint64(input.providerKeyVersion, \"providerKeyVersion\")),\n ];\n if (input.attestationType === ATTESTATION_TYPE_RECOVERY) {\n hashes.push(\n hashField(formatUint64(input.citizenId ?? 0n, \"citizenId\")),\n hashField(input.oldWallet ?? \"\"),\n hashField(input.newWallet ?? \"\"),\n );\n }\n return combineHashes(hashes);\n}\n\nexport async function signAttestationPayload(privateKeySeed: Uint8Array, payload: string): Promise<string> {\n if (privateKeySeed.length !== 32) {\n throw new Error(\"invalid ed25519 seed size\");\n }\n const sig = await ed.signAsync(new TextEncoder().encode(payload), privateKeySeed);\n return toHex(sig);\n}\n\nexport async function publicKeyFromPrivateSeed(privateKeySeed: Uint8Array): Promise<string> {\n if (privateKeySeed.length !== 32) {\n throw new Error(\"invalid ed25519 seed size\");\n }\n const pub = await ed.getPublicKeyAsync(privateKeySeed);\n return toHex(pub);\n}\n\nexport function providerSeedFromHex(hex: string): Uint8Array {\n const seed = fromHex(hex);\n if (seed.length !== 32) {\n throw new Error(\"provider seed hex must decode to 32 bytes\");\n }\n return new Uint8Array(seed);\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: google/protobuf/timestamp.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\n\n/**\n * A Timestamp represents a point in time independent of any time zone or local\n * calendar, encoded as a count of seconds and fractions of seconds at\n * nanosecond resolution. The count is relative to an epoch at UTC midnight on\n * January 1, 1970, in the proleptic Gregorian calendar which extends the\n * Gregorian calendar backwards to year one.\n *\n * All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n * second table is needed for interpretation, using a [24-hour linear\n * smear](https://developers.google.com/time/smear).\n *\n * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n * restricting to that range, we ensure that we can convert to and from [RFC\n * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n *\n * # Examples\n *\n * Example 1: Compute Timestamp from POSIX `time()`.\n *\n * Timestamp timestamp;\n * timestamp.set_seconds(time(NULL));\n * timestamp.set_nanos(0);\n *\n * Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n *\n * struct timeval tv;\n * gettimeofday(&tv, NULL);\n *\n * Timestamp timestamp;\n * timestamp.set_seconds(tv.tv_sec);\n * timestamp.set_nanos(tv.tv_usec * 1000);\n *\n * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n *\n * FILETIME ft;\n * GetSystemTimeAsFileTime(&ft);\n * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n *\n * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n * Timestamp timestamp;\n * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n *\n * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n *\n * long millis = System.currentTimeMillis();\n *\n * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n * .setNanos((int) ((millis % 1000) * 1000000)).build();\n *\n * Example 5: Compute Timestamp from Java `Instant.now()`.\n *\n * Instant now = Instant.now();\n *\n * Timestamp timestamp =\n * Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n * .setNanos(now.getNano()).build();\n *\n * Example 6: Compute Timestamp from current time in Python.\n *\n * timestamp = Timestamp()\n * timestamp.GetCurrentTime()\n *\n * # JSON Mapping\n *\n * In JSON format, the Timestamp type is encoded as a string in the\n * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n * format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n * where {year} is always expressed using four digits while {month}, {day},\n * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n * are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n * is required. A proto3 JSON serializer should always use UTC (as indicated by\n * \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n * able to accept both UTC and other timezones (as indicated by an offset).\n *\n * For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n * 01:30 UTC on January 15, 2017.\n *\n * In JavaScript, one can convert a Date object to this format using the\n * standard\n * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n * method. In Python, a standard `datetime.datetime` object can be converted\n * to this format using\n * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n * the Joda Time's [`ISODateTimeFormat.dateTime()`](\n * http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n * ) to obtain a formatter capable of generating timestamps in this format.\n */\nexport interface Timestamp {\n /**\n * Represents seconds of UTC time since Unix epoch\n * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n * 9999-12-31T23:59:59Z inclusive.\n */\n seconds: bigint;\n /**\n * Non-negative fractions of a second at nanosecond resolution. Negative\n * second values with fractions must still have non-negative nanos values\n * that count forward in time. Must be from 0 to 999,999,999\n * inclusive.\n */\n nanos: number;\n}\n\nfunction createBaseTimestamp(): Timestamp {\n return { seconds: 0n, nanos: 0 };\n}\n\nexport const Timestamp: MessageFns<Timestamp> = {\n encode(message: Timestamp, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.seconds !== 0n) {\n if (BigInt.asIntN(64, message.seconds) !== message.seconds) {\n throw new globalThis.Error(\"value provided for field message.seconds of type int64 too large\");\n }\n writer.uint32(8).int64(message.seconds);\n }\n if (message.nanos !== 0) {\n writer.uint32(16).int32(message.nanos);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Timestamp {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTimestamp();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.seconds = reader.int64() as bigint;\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.nanos = reader.int32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<Timestamp>): Timestamp {\n return Timestamp.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Timestamp>): Timestamp {\n const message = createBaseTimestamp();\n message.seconds = (object.seconds !== undefined && object.seconds !== null) ? BigInt(object.seconds) : 0n;\n message.nanos = object.nanos ?? 0;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: isatheword/kingdomchain/citizen/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\n\nexport interface MsgIssueKCP {\n authority: string;\n application_id: string;\n wallet_address: string;\n uniqueness_commitment: string;\n decision_id: string;\n}\n\nexport interface MsgIssueKCPResponse {\n citizen_id: bigint;\n}\n\nexport interface MsgSuspendKCP {\n authority: string;\n citizen_id: bigint;\n reason_code: string;\n expires_at?: Date | undefined;\n}\n\nexport interface MsgSuspendKCPResponse {\n}\n\nexport interface MsgReactivateKCP {\n authority: string;\n citizen_id: bigint;\n}\n\nexport interface MsgReactivateKCPResponse {\n}\n\nexport interface MsgRevokeKCP {\n authority: string;\n citizen_id: bigint;\n reason_code: string;\n evidence_ref: string;\n}\n\nexport interface MsgRevokeKCPResponse {\n}\n\nexport interface MsgInitiateRecovery {\n authority: string;\n citizen_id: bigint;\n new_wallet: string;\n recovery_case_id: string;\n cooling_off_ends_at?: Date | undefined;\n}\n\nexport interface MsgInitiateRecoveryResponse {\n}\n\nexport interface MsgApproveRecovery {\n authority: string;\n recovery_case_id: string;\n}\n\nexport interface MsgApproveRecoveryResponse {\n}\n\nexport interface MsgFinalizeRecovery {\n authority: string;\n recovery_case_id: string;\n decision_id: string;\n}\n\nexport interface MsgFinalizeRecoveryResponse {\n}\n\nexport interface MsgCancelRecovery {\n authority: string;\n recovery_case_id: string;\n reason_code: string;\n}\n\nexport interface MsgCancelRecoveryResponse {\n}\n\nfunction createBaseMsgIssueKCP(): MsgIssueKCP {\n return { authority: \"\", application_id: \"\", wallet_address: \"\", uniqueness_commitment: \"\", decision_id: \"\" };\n}\n\nexport const MsgIssueKCP: MessageFns<MsgIssueKCP> = {\n encode(message: MsgIssueKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.application_id !== \"\") {\n writer.uint32(18).string(message.application_id);\n }\n if (message.wallet_address !== \"\") {\n writer.uint32(26).string(message.wallet_address);\n }\n if (message.uniqueness_commitment !== \"\") {\n writer.uint32(34).string(message.uniqueness_commitment);\n }\n if (message.decision_id !== \"\") {\n writer.uint32(42).string(message.decision_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIssueKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgIssueKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.wallet_address = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.uniqueness_commitment = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.decision_id = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgIssueKCP>): MsgIssueKCP {\n return MsgIssueKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgIssueKCP>): MsgIssueKCP {\n const message = createBaseMsgIssueKCP();\n message.authority = object.authority ?? \"\";\n message.application_id = object.application_id ?? \"\";\n message.wallet_address = object.wallet_address ?? \"\";\n message.uniqueness_commitment = object.uniqueness_commitment ?? \"\";\n message.decision_id = object.decision_id ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgIssueKCPResponse(): MsgIssueKCPResponse {\n return { citizen_id: 0n };\n}\n\nexport const MsgIssueKCPResponse: MessageFns<MsgIssueKCPResponse> = {\n encode(message: MsgIssueKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(8).uint64(message.citizen_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIssueKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgIssueKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgIssueKCPResponse>): MsgIssueKCPResponse {\n return MsgIssueKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgIssueKCPResponse>): MsgIssueKCPResponse {\n const message = createBaseMsgIssueKCPResponse();\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n return message;\n },\n};\n\nfunction createBaseMsgSuspendKCP(): MsgSuspendKCP {\n return { authority: \"\", citizen_id: 0n, reason_code: \"\", expires_at: undefined };\n}\n\nexport const MsgSuspendKCP: MessageFns<MsgSuspendKCP> = {\n encode(message: MsgSuspendKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendKCP>): MsgSuspendKCP {\n return MsgSuspendKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSuspendKCP>): MsgSuspendKCP {\n const message = createBaseMsgSuspendKCP();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.reason_code = object.reason_code ?? \"\";\n message.expires_at = object.expires_at ?? undefined;\n return message;\n },\n};\n\nfunction createBaseMsgSuspendKCPResponse(): MsgSuspendKCPResponse {\n return {};\n}\n\nexport const MsgSuspendKCPResponse: MessageFns<MsgSuspendKCPResponse> = {\n encode(_: MsgSuspendKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendKCPResponse>): MsgSuspendKCPResponse {\n return MsgSuspendKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSuspendKCPResponse>): MsgSuspendKCPResponse {\n const message = createBaseMsgSuspendKCPResponse();\n return message;\n },\n};\n\nfunction createBaseMsgReactivateKCP(): MsgReactivateKCP {\n return { authority: \"\", citizen_id: 0n };\n}\n\nexport const MsgReactivateKCP: MessageFns<MsgReactivateKCP> = {\n encode(message: MsgReactivateKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgReactivateKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgReactivateKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgReactivateKCP>): MsgReactivateKCP {\n return MsgReactivateKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgReactivateKCP>): MsgReactivateKCP {\n const message = createBaseMsgReactivateKCP();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n return message;\n },\n};\n\nfunction createBaseMsgReactivateKCPResponse(): MsgReactivateKCPResponse {\n return {};\n}\n\nexport const MsgReactivateKCPResponse: MessageFns<MsgReactivateKCPResponse> = {\n encode(_: MsgReactivateKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgReactivateKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgReactivateKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgReactivateKCPResponse>): MsgReactivateKCPResponse {\n return MsgReactivateKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgReactivateKCPResponse>): MsgReactivateKCPResponse {\n const message = createBaseMsgReactivateKCPResponse();\n return message;\n },\n};\n\nfunction createBaseMsgRevokeKCP(): MsgRevokeKCP {\n return { authority: \"\", citizen_id: 0n, reason_code: \"\", evidence_ref: \"\" };\n}\n\nexport const MsgRevokeKCP: MessageFns<MsgRevokeKCP> = {\n encode(message: MsgRevokeKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n if (message.evidence_ref !== \"\") {\n writer.uint32(34).string(message.evidence_ref);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRevokeKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.evidence_ref = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRevokeKCP>): MsgRevokeKCP {\n return MsgRevokeKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgRevokeKCP>): MsgRevokeKCP {\n const message = createBaseMsgRevokeKCP();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.reason_code = object.reason_code ?? \"\";\n message.evidence_ref = object.evidence_ref ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgRevokeKCPResponse(): MsgRevokeKCPResponse {\n return {};\n}\n\nexport const MsgRevokeKCPResponse: MessageFns<MsgRevokeKCPResponse> = {\n encode(_: MsgRevokeKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRevokeKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRevokeKCPResponse>): MsgRevokeKCPResponse {\n return MsgRevokeKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgRevokeKCPResponse>): MsgRevokeKCPResponse {\n const message = createBaseMsgRevokeKCPResponse();\n return message;\n },\n};\n\nfunction createBaseMsgInitiateRecovery(): MsgInitiateRecovery {\n return { authority: \"\", citizen_id: 0n, new_wallet: \"\", recovery_case_id: \"\", cooling_off_ends_at: undefined };\n}\n\nexport const MsgInitiateRecovery: MessageFns<MsgInitiateRecovery> = {\n encode(message: MsgInitiateRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(26).string(message.new_wallet);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(34).string(message.recovery_case_id);\n }\n if (message.cooling_off_ends_at !== undefined) {\n Timestamp.encode(toTimestamp(message.cooling_off_ends_at), writer.uint32(42).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgInitiateRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgInitiateRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.cooling_off_ends_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgInitiateRecovery>): MsgInitiateRecovery {\n return MsgInitiateRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgInitiateRecovery>): MsgInitiateRecovery {\n const message = createBaseMsgInitiateRecovery();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.new_wallet = object.new_wallet ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.cooling_off_ends_at = object.cooling_off_ends_at ?? undefined;\n return message;\n },\n};\n\nfunction createBaseMsgInitiateRecoveryResponse(): MsgInitiateRecoveryResponse {\n return {};\n}\n\nexport const MsgInitiateRecoveryResponse: MessageFns<MsgInitiateRecoveryResponse> = {\n encode(_: MsgInitiateRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgInitiateRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgInitiateRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgInitiateRecoveryResponse>): MsgInitiateRecoveryResponse {\n return MsgInitiateRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgInitiateRecoveryResponse>): MsgInitiateRecoveryResponse {\n const message = createBaseMsgInitiateRecoveryResponse();\n return message;\n },\n};\n\nfunction createBaseMsgApproveRecovery(): MsgApproveRecovery {\n return { authority: \"\", recovery_case_id: \"\" };\n}\n\nexport const MsgApproveRecovery: MessageFns<MsgApproveRecovery> = {\n encode(message: MsgApproveRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgApproveRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgApproveRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgApproveRecovery>): MsgApproveRecovery {\n return MsgApproveRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgApproveRecovery>): MsgApproveRecovery {\n const message = createBaseMsgApproveRecovery();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgApproveRecoveryResponse(): MsgApproveRecoveryResponse {\n return {};\n}\n\nexport const MsgApproveRecoveryResponse: MessageFns<MsgApproveRecoveryResponse> = {\n encode(_: MsgApproveRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgApproveRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgApproveRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgApproveRecoveryResponse>): MsgApproveRecoveryResponse {\n return MsgApproveRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgApproveRecoveryResponse>): MsgApproveRecoveryResponse {\n const message = createBaseMsgApproveRecoveryResponse();\n return message;\n },\n};\n\nfunction createBaseMsgFinalizeRecovery(): MsgFinalizeRecovery {\n return { authority: \"\", recovery_case_id: \"\", decision_id: \"\" };\n}\n\nexport const MsgFinalizeRecovery: MessageFns<MsgFinalizeRecovery> = {\n encode(message: MsgFinalizeRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.decision_id !== \"\") {\n writer.uint32(26).string(message.decision_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgFinalizeRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgFinalizeRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.decision_id = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgFinalizeRecovery>): MsgFinalizeRecovery {\n return MsgFinalizeRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgFinalizeRecovery>): MsgFinalizeRecovery {\n const message = createBaseMsgFinalizeRecovery();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.decision_id = object.decision_id ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgFinalizeRecoveryResponse(): MsgFinalizeRecoveryResponse {\n return {};\n}\n\nexport const MsgFinalizeRecoveryResponse: MessageFns<MsgFinalizeRecoveryResponse> = {\n encode(_: MsgFinalizeRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgFinalizeRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgFinalizeRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgFinalizeRecoveryResponse>): MsgFinalizeRecoveryResponse {\n return MsgFinalizeRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgFinalizeRecoveryResponse>): MsgFinalizeRecoveryResponse {\n const message = createBaseMsgFinalizeRecoveryResponse();\n return message;\n },\n};\n\nfunction createBaseMsgCancelRecovery(): MsgCancelRecovery {\n return { authority: \"\", recovery_case_id: \"\", reason_code: \"\" };\n}\n\nexport const MsgCancelRecovery: MessageFns<MsgCancelRecovery> = {\n encode(message: MsgCancelRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgCancelRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgCancelRecovery>): MsgCancelRecovery {\n return MsgCancelRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgCancelRecovery>): MsgCancelRecovery {\n const message = createBaseMsgCancelRecovery();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgCancelRecoveryResponse(): MsgCancelRecoveryResponse {\n return {};\n}\n\nexport const MsgCancelRecoveryResponse: MessageFns<MsgCancelRecoveryResponse> = {\n encode(_: MsgCancelRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgCancelRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgCancelRecoveryResponse>): MsgCancelRecoveryResponse {\n return MsgCancelRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgCancelRecoveryResponse>): MsgCancelRecoveryResponse {\n const message = createBaseMsgCancelRecoveryResponse();\n return message;\n },\n};\n\nexport type MsgDefinition = typeof MsgDefinition;\nexport const MsgDefinition = {\n name: \"Msg\",\n fullName: \"isatheword.kingdomchain.citizen.v1.Msg\",\n methods: {\n issueKCP: {\n name: \"IssueKCP\",\n requestType: MsgIssueKCP as typeof MsgIssueKCP,\n requestStream: false,\n responseType: MsgIssueKCPResponse as typeof MsgIssueKCPResponse,\n responseStream: false,\n options: {},\n },\n suspendKCP: {\n name: \"SuspendKCP\",\n requestType: MsgSuspendKCP as typeof MsgSuspendKCP,\n requestStream: false,\n responseType: MsgSuspendKCPResponse as typeof MsgSuspendKCPResponse,\n responseStream: false,\n options: {},\n },\n reactivateKCP: {\n name: \"ReactivateKCP\",\n requestType: MsgReactivateKCP as typeof MsgReactivateKCP,\n requestStream: false,\n responseType: MsgReactivateKCPResponse as typeof MsgReactivateKCPResponse,\n responseStream: false,\n options: {},\n },\n revokeKCP: {\n name: \"RevokeKCP\",\n requestType: MsgRevokeKCP as typeof MsgRevokeKCP,\n requestStream: false,\n responseType: MsgRevokeKCPResponse as typeof MsgRevokeKCPResponse,\n responseStream: false,\n options: {},\n },\n initiateRecovery: {\n name: \"InitiateRecovery\",\n requestType: MsgInitiateRecovery as typeof MsgInitiateRecovery,\n requestStream: false,\n responseType: MsgInitiateRecoveryResponse as typeof MsgInitiateRecoveryResponse,\n responseStream: false,\n options: {},\n },\n approveRecovery: {\n name: \"ApproveRecovery\",\n requestType: MsgApproveRecovery as typeof MsgApproveRecovery,\n requestStream: false,\n responseType: MsgApproveRecoveryResponse as typeof MsgApproveRecoveryResponse,\n responseStream: false,\n options: {},\n },\n finalizeRecovery: {\n name: \"FinalizeRecovery\",\n requestType: MsgFinalizeRecovery as typeof MsgFinalizeRecovery,\n requestStream: false,\n responseType: MsgFinalizeRecoveryResponse as typeof MsgFinalizeRecoveryResponse,\n responseStream: false,\n options: {},\n },\n cancelRecovery: {\n name: \"CancelRecovery\",\n requestType: MsgCancelRecovery as typeof MsgCancelRecovery,\n requestStream: false,\n responseType: MsgCancelRecoveryResponse as typeof MsgCancelRecoveryResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: isatheword/kingdomchain/compliance/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\n\nexport interface MsgRegisterProvider {\n authority: string;\n provider_id: string;\n public_key: string;\n key_version: bigint;\n supported_assurance_levels: string[];\n supported_jurisdictions: string[];\n active_from?: Date | undefined;\n active_until?: Date | undefined;\n}\n\nexport interface MsgRegisterProviderResponse {\n}\n\nexport interface MsgSuspendProvider {\n authority: string;\n provider_id: string;\n reason_code: string;\n}\n\nexport interface MsgSuspendProviderResponse {\n}\n\nexport interface MsgSubmitApplication {\n applicant_wallet: string;\n application_id: string;\n provider_id: string;\n provider_key_version: bigint;\n chain_id: string;\n case_id: string;\n policy_version: string;\n nonce: string;\n uniqueness_reference: string;\n issued_at?: Date | undefined;\n expires_at?: Date | undefined;\n signature: string;\n}\n\nexport interface MsgSubmitApplicationResponse {\n}\n\nexport interface MsgSubmitRecoveryAttestation {\n applicant_wallet: string;\n recovery_case_id: string;\n provider_id: string;\n provider_key_version: bigint;\n chain_id: string;\n case_id: string;\n policy_version: string;\n nonce: string;\n uniqueness_reference: string;\n citizen_id: bigint;\n old_wallet: string;\n new_wallet: string;\n issued_at?: Date | undefined;\n expires_at?: Date | undefined;\n signature: string;\n}\n\nexport interface MsgSubmitRecoveryAttestationResponse {\n}\n\nexport interface MsgDecideApplication {\n authority: string;\n application_id: string;\n approved: boolean;\n reason_code: string;\n}\n\nexport interface MsgDecideApplicationResponse {\n}\n\nexport interface MsgDecideRecoveryAttestation {\n authority: string;\n recovery_case_id: string;\n approved: boolean;\n reason_code: string;\n}\n\nexport interface MsgDecideRecoveryAttestationResponse {\n}\n\nfunction createBaseMsgRegisterProvider(): MsgRegisterProvider {\n return {\n authority: \"\",\n provider_id: \"\",\n public_key: \"\",\n key_version: 0n,\n supported_assurance_levels: [],\n supported_jurisdictions: [],\n active_from: undefined,\n active_until: undefined,\n };\n}\n\nexport const MsgRegisterProvider: MessageFns<MsgRegisterProvider> = {\n encode(message: MsgRegisterProvider, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(18).string(message.provider_id);\n }\n if (message.public_key !== \"\") {\n writer.uint32(26).string(message.public_key);\n }\n if (message.key_version !== 0n) {\n if (BigInt.asUintN(64, message.key_version) !== message.key_version) {\n throw new globalThis.Error(\"value provided for field message.key_version of type uint64 too large\");\n }\n writer.uint32(32).uint64(message.key_version);\n }\n for (const v of message.supported_assurance_levels) {\n writer.uint32(42).string(v!);\n }\n for (const v of message.supported_jurisdictions) {\n writer.uint32(50).string(v!);\n }\n if (message.active_from !== undefined) {\n Timestamp.encode(toTimestamp(message.active_from), writer.uint32(58).fork()).join();\n }\n if (message.active_until !== undefined) {\n Timestamp.encode(toTimestamp(message.active_until), writer.uint32(66).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterProvider {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRegisterProvider();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.public_key = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.key_version = reader.uint64() as bigint;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.supported_assurance_levels.push(reader.string());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.supported_jurisdictions.push(reader.string());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.active_from = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.active_until = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRegisterProvider>): MsgRegisterProvider {\n return MsgRegisterProvider.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgRegisterProvider>): MsgRegisterProvider {\n const message = createBaseMsgRegisterProvider();\n message.authority = object.authority ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.public_key = object.public_key ?? \"\";\n message.key_version = (object.key_version !== undefined && object.key_version !== null)\n ? BigInt(object.key_version)\n : 0n;\n message.supported_assurance_levels = object.supported_assurance_levels?.map((e) => e) || [];\n message.supported_jurisdictions = object.supported_jurisdictions?.map((e) => e) || [];\n message.active_from = object.active_from ?? undefined;\n message.active_until = object.active_until ?? undefined;\n return message;\n },\n};\n\nfunction createBaseMsgRegisterProviderResponse(): MsgRegisterProviderResponse {\n return {};\n}\n\nexport const MsgRegisterProviderResponse: MessageFns<MsgRegisterProviderResponse> = {\n encode(_: MsgRegisterProviderResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterProviderResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRegisterProviderResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRegisterProviderResponse>): MsgRegisterProviderResponse {\n return MsgRegisterProviderResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgRegisterProviderResponse>): MsgRegisterProviderResponse {\n const message = createBaseMsgRegisterProviderResponse();\n return message;\n },\n};\n\nfunction createBaseMsgSuspendProvider(): MsgSuspendProvider {\n return { authority: \"\", provider_id: \"\", reason_code: \"\" };\n}\n\nexport const MsgSuspendProvider: MessageFns<MsgSuspendProvider> = {\n encode(message: MsgSuspendProvider, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(18).string(message.provider_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendProvider {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendProvider();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendProvider>): MsgSuspendProvider {\n return MsgSuspendProvider.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSuspendProvider>): MsgSuspendProvider {\n const message = createBaseMsgSuspendProvider();\n message.authority = object.authority ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSuspendProviderResponse(): MsgSuspendProviderResponse {\n return {};\n}\n\nexport const MsgSuspendProviderResponse: MessageFns<MsgSuspendProviderResponse> = {\n encode(_: MsgSuspendProviderResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendProviderResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendProviderResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendProviderResponse>): MsgSuspendProviderResponse {\n return MsgSuspendProviderResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSuspendProviderResponse>): MsgSuspendProviderResponse {\n const message = createBaseMsgSuspendProviderResponse();\n return message;\n },\n};\n\nfunction createBaseMsgSubmitApplication(): MsgSubmitApplication {\n return {\n applicant_wallet: \"\",\n application_id: \"\",\n provider_id: \"\",\n provider_key_version: 0n,\n chain_id: \"\",\n case_id: \"\",\n policy_version: \"\",\n nonce: \"\",\n uniqueness_reference: \"\",\n issued_at: undefined,\n expires_at: undefined,\n signature: \"\",\n };\n}\n\nexport const MsgSubmitApplication: MessageFns<MsgSubmitApplication> = {\n encode(message: MsgSubmitApplication, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.applicant_wallet !== \"\") {\n writer.uint32(10).string(message.applicant_wallet);\n }\n if (message.application_id !== \"\") {\n writer.uint32(18).string(message.application_id);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(26).string(message.provider_id);\n }\n if (message.provider_key_version !== 0n) {\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\n }\n writer.uint32(32).uint64(message.provider_key_version);\n }\n if (message.chain_id !== \"\") {\n writer.uint32(42).string(message.chain_id);\n }\n if (message.case_id !== \"\") {\n writer.uint32(50).string(message.case_id);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(58).string(message.policy_version);\n }\n if (message.nonce !== \"\") {\n writer.uint32(66).string(message.nonce);\n }\n if (message.uniqueness_reference !== \"\") {\n writer.uint32(74).string(message.uniqueness_reference);\n }\n if (message.issued_at !== undefined) {\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(82).fork()).join();\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(90).fork()).join();\n }\n if (message.signature !== \"\") {\n writer.uint32(98).string(message.signature);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitApplication {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitApplication();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.provider_key_version = reader.uint64() as bigint;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.chain_id = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.case_id = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.nonce = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.uniqueness_reference = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.signature = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitApplication>): MsgSubmitApplication {\n return MsgSubmitApplication.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSubmitApplication>): MsgSubmitApplication {\n const message = createBaseMsgSubmitApplication();\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.application_id = object.application_id ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\n ? BigInt(object.provider_key_version)\n : 0n;\n message.chain_id = object.chain_id ?? \"\";\n message.case_id = object.case_id ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.nonce = object.nonce ?? \"\";\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\n message.issued_at = object.issued_at ?? undefined;\n message.expires_at = object.expires_at ?? undefined;\n message.signature = object.signature ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSubmitApplicationResponse(): MsgSubmitApplicationResponse {\n return {};\n}\n\nexport const MsgSubmitApplicationResponse: MessageFns<MsgSubmitApplicationResponse> = {\n encode(_: MsgSubmitApplicationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitApplicationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitApplicationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitApplicationResponse>): MsgSubmitApplicationResponse {\n return MsgSubmitApplicationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSubmitApplicationResponse>): MsgSubmitApplicationResponse {\n const message = createBaseMsgSubmitApplicationResponse();\n return message;\n },\n};\n\nfunction createBaseMsgSubmitRecoveryAttestation(): MsgSubmitRecoveryAttestation {\n return {\n applicant_wallet: \"\",\n recovery_case_id: \"\",\n provider_id: \"\",\n provider_key_version: 0n,\n chain_id: \"\",\n case_id: \"\",\n policy_version: \"\",\n nonce: \"\",\n uniqueness_reference: \"\",\n citizen_id: 0n,\n old_wallet: \"\",\n new_wallet: \"\",\n issued_at: undefined,\n expires_at: undefined,\n signature: \"\",\n };\n}\n\nexport const MsgSubmitRecoveryAttestation: MessageFns<MsgSubmitRecoveryAttestation> = {\n encode(message: MsgSubmitRecoveryAttestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.applicant_wallet !== \"\") {\n writer.uint32(10).string(message.applicant_wallet);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(26).string(message.provider_id);\n }\n if (message.provider_key_version !== 0n) {\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\n }\n writer.uint32(32).uint64(message.provider_key_version);\n }\n if (message.chain_id !== \"\") {\n writer.uint32(42).string(message.chain_id);\n }\n if (message.case_id !== \"\") {\n writer.uint32(50).string(message.case_id);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(58).string(message.policy_version);\n }\n if (message.nonce !== \"\") {\n writer.uint32(66).string(message.nonce);\n }\n if (message.uniqueness_reference !== \"\") {\n writer.uint32(74).string(message.uniqueness_reference);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(80).uint64(message.citizen_id);\n }\n if (message.old_wallet !== \"\") {\n writer.uint32(90).string(message.old_wallet);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(98).string(message.new_wallet);\n }\n if (message.issued_at !== undefined) {\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(106).fork()).join();\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(114).fork()).join();\n }\n if (message.signature !== \"\") {\n writer.uint32(122).string(message.signature);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitRecoveryAttestation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitRecoveryAttestation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.provider_key_version = reader.uint64() as bigint;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.chain_id = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.case_id = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.nonce = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.uniqueness_reference = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 80) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.old_wallet = reader.string();\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n case 13: {\n if (tag !== 106) {\n break;\n }\n\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 14: {\n if (tag !== 114) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 15: {\n if (tag !== 122) {\n break;\n }\n\n message.signature = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitRecoveryAttestation>): MsgSubmitRecoveryAttestation {\n return MsgSubmitRecoveryAttestation.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSubmitRecoveryAttestation>): MsgSubmitRecoveryAttestation {\n const message = createBaseMsgSubmitRecoveryAttestation();\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\n ? BigInt(object.provider_key_version)\n : 0n;\n message.chain_id = object.chain_id ?? \"\";\n message.case_id = object.case_id ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.nonce = object.nonce ?? \"\";\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.old_wallet = object.old_wallet ?? \"\";\n message.new_wallet = object.new_wallet ?? \"\";\n message.issued_at = object.issued_at ?? undefined;\n message.expires_at = object.expires_at ?? undefined;\n message.signature = object.signature ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSubmitRecoveryAttestationResponse(): MsgSubmitRecoveryAttestationResponse {\n return {};\n}\n\nexport const MsgSubmitRecoveryAttestationResponse: MessageFns<MsgSubmitRecoveryAttestationResponse> = {\n encode(_: MsgSubmitRecoveryAttestationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitRecoveryAttestationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitRecoveryAttestationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitRecoveryAttestationResponse>): MsgSubmitRecoveryAttestationResponse {\n return MsgSubmitRecoveryAttestationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSubmitRecoveryAttestationResponse>): MsgSubmitRecoveryAttestationResponse {\n const message = createBaseMsgSubmitRecoveryAttestationResponse();\n return message;\n },\n};\n\nfunction createBaseMsgDecideApplication(): MsgDecideApplication {\n return { authority: \"\", application_id: \"\", approved: false, reason_code: \"\" };\n}\n\nexport const MsgDecideApplication: MessageFns<MsgDecideApplication> = {\n encode(message: MsgDecideApplication, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.application_id !== \"\") {\n writer.uint32(18).string(message.application_id);\n }\n if (message.approved !== false) {\n writer.uint32(24).bool(message.approved);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(34).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideApplication {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideApplication();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.approved = reader.bool();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideApplication>): MsgDecideApplication {\n return MsgDecideApplication.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgDecideApplication>): MsgDecideApplication {\n const message = createBaseMsgDecideApplication();\n message.authority = object.authority ?? \"\";\n message.application_id = object.application_id ?? \"\";\n message.approved = object.approved ?? false;\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgDecideApplicationResponse(): MsgDecideApplicationResponse {\n return {};\n}\n\nexport const MsgDecideApplicationResponse: MessageFns<MsgDecideApplicationResponse> = {\n encode(_: MsgDecideApplicationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideApplicationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideApplicationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideApplicationResponse>): MsgDecideApplicationResponse {\n return MsgDecideApplicationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgDecideApplicationResponse>): MsgDecideApplicationResponse {\n const message = createBaseMsgDecideApplicationResponse();\n return message;\n },\n};\n\nfunction createBaseMsgDecideRecoveryAttestation(): MsgDecideRecoveryAttestation {\n return { authority: \"\", recovery_case_id: \"\", approved: false, reason_code: \"\" };\n}\n\nexport const MsgDecideRecoveryAttestation: MessageFns<MsgDecideRecoveryAttestation> = {\n encode(message: MsgDecideRecoveryAttestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.approved !== false) {\n writer.uint32(24).bool(message.approved);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(34).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideRecoveryAttestation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideRecoveryAttestation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.approved = reader.bool();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideRecoveryAttestation>): MsgDecideRecoveryAttestation {\n return MsgDecideRecoveryAttestation.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgDecideRecoveryAttestation>): MsgDecideRecoveryAttestation {\n const message = createBaseMsgDecideRecoveryAttestation();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.approved = object.approved ?? false;\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgDecideRecoveryAttestationResponse(): MsgDecideRecoveryAttestationResponse {\n return {};\n}\n\nexport const MsgDecideRecoveryAttestationResponse: MessageFns<MsgDecideRecoveryAttestationResponse> = {\n encode(_: MsgDecideRecoveryAttestationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideRecoveryAttestationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideRecoveryAttestationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideRecoveryAttestationResponse>): MsgDecideRecoveryAttestationResponse {\n return MsgDecideRecoveryAttestationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgDecideRecoveryAttestationResponse>): MsgDecideRecoveryAttestationResponse {\n const message = createBaseMsgDecideRecoveryAttestationResponse();\n return message;\n },\n};\n\nexport type MsgDefinition = typeof MsgDefinition;\nexport const MsgDefinition = {\n name: \"Msg\",\n fullName: \"isatheword.kingdomchain.compliance.v1.Msg\",\n methods: {\n registerProvider: {\n name: \"RegisterProvider\",\n requestType: MsgRegisterProvider as typeof MsgRegisterProvider,\n requestStream: false,\n responseType: MsgRegisterProviderResponse as typeof MsgRegisterProviderResponse,\n responseStream: false,\n options: {},\n },\n suspendProvider: {\n name: \"SuspendProvider\",\n requestType: MsgSuspendProvider as typeof MsgSuspendProvider,\n requestStream: false,\n responseType: MsgSuspendProviderResponse as typeof MsgSuspendProviderResponse,\n responseStream: false,\n options: {},\n },\n submitApplication: {\n name: \"SubmitApplication\",\n requestType: MsgSubmitApplication as typeof MsgSubmitApplication,\n requestStream: false,\n responseType: MsgSubmitApplicationResponse as typeof MsgSubmitApplicationResponse,\n responseStream: false,\n options: {},\n },\n submitRecoveryAttestation: {\n name: \"SubmitRecoveryAttestation\",\n requestType: MsgSubmitRecoveryAttestation as typeof MsgSubmitRecoveryAttestation,\n requestStream: false,\n responseType: MsgSubmitRecoveryAttestationResponse as typeof MsgSubmitRecoveryAttestationResponse,\n responseStream: false,\n options: {},\n },\n decideApplication: {\n name: \"DecideApplication\",\n requestType: MsgDecideApplication as typeof MsgDecideApplication,\n requestStream: false,\n responseType: MsgDecideApplicationResponse as typeof MsgDecideApplicationResponse,\n responseStream: false,\n options: {},\n },\n decideRecoveryAttestation: {\n name: \"DecideRecoveryAttestation\",\n requestType: MsgDecideRecoveryAttestation as typeof MsgDecideRecoveryAttestation,\n requestStream: false,\n responseType: MsgDecideRecoveryAttestationResponse as typeof MsgDecideRecoveryAttestationResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: isatheword/kingdomchain/compliance/v1/compliance.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\n\nexport enum ProviderStatus {\n PROVIDER_STATUS_UNSPECIFIED = 0,\n PROVIDER_STATUS_ACTIVE = 1,\n PROVIDER_STATUS_SUSPENDED = 2,\n PROVIDER_STATUS_REVOKED = 3,\n UNRECOGNIZED = -1,\n}\n\nexport enum AttestationType {\n ATTESTATION_TYPE_UNSPECIFIED = 0,\n ATTESTATION_TYPE_CITIZENSHIP_APPLICATION = 1,\n ATTESTATION_TYPE_RECOVERY = 2,\n UNRECOGNIZED = -1,\n}\n\nexport enum ApplicationStatus {\n APPLICATION_STATUS_UNSPECIFIED = 0,\n APPLICATION_STATUS_SUBMITTED = 1,\n APPLICATION_STATUS_PENDING_REVIEW = 2,\n APPLICATION_STATUS_APPROVED = 3,\n APPLICATION_STATUS_REJECTED = 4,\n UNRECOGNIZED = -1,\n}\n\nexport enum RecoveryAttestationStatus {\n RECOVERY_ATTESTATION_STATUS_UNSPECIFIED = 0,\n RECOVERY_ATTESTATION_STATUS_SUBMITTED = 1,\n RECOVERY_ATTESTATION_STATUS_PENDING_REVIEW = 2,\n RECOVERY_ATTESTATION_STATUS_APPROVED = 3,\n RECOVERY_ATTESTATION_STATUS_REJECTED = 4,\n UNRECOGNIZED = -1,\n}\n\nexport interface ProviderRecord {\n provider_id: string;\n public_key: string;\n key_version: bigint;\n supported_assurance_levels: string[];\n supported_jurisdictions: string[];\n active_from?: Date | undefined;\n active_until?: Date | undefined;\n status: ProviderStatus;\n}\n\nexport interface Attestation {\n attestation_id: string;\n provider_id: string;\n provider_key_version: bigint;\n attestation_type: AttestationType;\n chain_id: string;\n intended_wallet: string;\n case_id: string;\n policy_version: string;\n nonce: string;\n uniqueness_reference: string;\n issued_at?: Date | undefined;\n expires_at?: Date | undefined;\n consumed: boolean;\n signature: string;\n citizen_id: bigint;\n old_wallet: string;\n new_wallet: string;\n}\n\nexport interface Application {\n application_id: string;\n applicant_wallet: string;\n status: ApplicationStatus;\n attestation_id: string;\n uniqueness_commitment: string;\n policy_version: string;\n decision_reason_code: string;\n submitted_at?: Date | undefined;\n decided_at?: Date | undefined;\n}\n\nexport interface RecoveryAttestationCase {\n recovery_case_id: string;\n applicant_wallet: string;\n status: RecoveryAttestationStatus;\n attestation_id: string;\n citizen_id: bigint;\n old_wallet: string;\n new_wallet: string;\n policy_version: string;\n decision_reason_code: string;\n submitted_at?: Date | undefined;\n decided_at?: Date | undefined;\n}\n\nfunction createBaseProviderRecord(): ProviderRecord {\n return {\n provider_id: \"\",\n public_key: \"\",\n key_version: 0n,\n supported_assurance_levels: [],\n supported_jurisdictions: [],\n active_from: undefined,\n active_until: undefined,\n status: 0,\n };\n}\n\nexport const ProviderRecord: MessageFns<ProviderRecord> = {\n encode(message: ProviderRecord, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.provider_id !== \"\") {\n writer.uint32(10).string(message.provider_id);\n }\n if (message.public_key !== \"\") {\n writer.uint32(18).string(message.public_key);\n }\n if (message.key_version !== 0n) {\n if (BigInt.asUintN(64, message.key_version) !== message.key_version) {\n throw new globalThis.Error(\"value provided for field message.key_version of type uint64 too large\");\n }\n writer.uint32(24).uint64(message.key_version);\n }\n for (const v of message.supported_assurance_levels) {\n writer.uint32(34).string(v!);\n }\n for (const v of message.supported_jurisdictions) {\n writer.uint32(42).string(v!);\n }\n if (message.active_from !== undefined) {\n Timestamp.encode(toTimestamp(message.active_from), writer.uint32(50).fork()).join();\n }\n if (message.active_until !== undefined) {\n Timestamp.encode(toTimestamp(message.active_until), writer.uint32(58).fork()).join();\n }\n if (message.status !== 0) {\n writer.uint32(64).int32(message.status);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ProviderRecord {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProviderRecord();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.public_key = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.key_version = reader.uint64() as bigint;\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.supported_assurance_levels.push(reader.string());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.supported_jurisdictions.push(reader.string());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.active_from = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.active_until = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 8: {\n if (tag !== 64) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<ProviderRecord>): ProviderRecord {\n return ProviderRecord.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ProviderRecord>): ProviderRecord {\n const message = createBaseProviderRecord();\n message.provider_id = object.provider_id ?? \"\";\n message.public_key = object.public_key ?? \"\";\n message.key_version = (object.key_version !== undefined && object.key_version !== null)\n ? BigInt(object.key_version)\n : 0n;\n message.supported_assurance_levels = object.supported_assurance_levels?.map((e) => e) || [];\n message.supported_jurisdictions = object.supported_jurisdictions?.map((e) => e) || [];\n message.active_from = object.active_from ?? undefined;\n message.active_until = object.active_until ?? undefined;\n message.status = object.status ?? 0;\n return message;\n },\n};\n\nfunction createBaseAttestation(): Attestation {\n return {\n attestation_id: \"\",\n provider_id: \"\",\n provider_key_version: 0n,\n attestation_type: 0,\n chain_id: \"\",\n intended_wallet: \"\",\n case_id: \"\",\n policy_version: \"\",\n nonce: \"\",\n uniqueness_reference: \"\",\n issued_at: undefined,\n expires_at: undefined,\n consumed: false,\n signature: \"\",\n citizen_id: 0n,\n old_wallet: \"\",\n new_wallet: \"\",\n };\n}\n\nexport const Attestation: MessageFns<Attestation> = {\n encode(message: Attestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.attestation_id !== \"\") {\n writer.uint32(10).string(message.attestation_id);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(18).string(message.provider_id);\n }\n if (message.provider_key_version !== 0n) {\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\n }\n writer.uint32(24).uint64(message.provider_key_version);\n }\n if (message.attestation_type !== 0) {\n writer.uint32(32).int32(message.attestation_type);\n }\n if (message.chain_id !== \"\") {\n writer.uint32(42).string(message.chain_id);\n }\n if (message.intended_wallet !== \"\") {\n writer.uint32(50).string(message.intended_wallet);\n }\n if (message.case_id !== \"\") {\n writer.uint32(58).string(message.case_id);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(66).string(message.policy_version);\n }\n if (message.nonce !== \"\") {\n writer.uint32(74).string(message.nonce);\n }\n if (message.uniqueness_reference !== \"\") {\n writer.uint32(82).string(message.uniqueness_reference);\n }\n if (message.issued_at !== undefined) {\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(90).fork()).join();\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(98).fork()).join();\n }\n if (message.consumed !== false) {\n writer.uint32(104).bool(message.consumed);\n }\n if (message.signature !== \"\") {\n writer.uint32(114).string(message.signature);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(120).uint64(message.citizen_id);\n }\n if (message.old_wallet !== \"\") {\n writer.uint32(130).string(message.old_wallet);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(138).string(message.new_wallet);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Attestation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAttestation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.attestation_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.provider_key_version = reader.uint64() as bigint;\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.attestation_type = reader.int32() as any;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.chain_id = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.intended_wallet = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.case_id = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.nonce = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.uniqueness_reference = reader.string();\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 13: {\n if (tag !== 104) {\n break;\n }\n\n message.consumed = reader.bool();\n continue;\n }\n case 14: {\n if (tag !== 114) {\n break;\n }\n\n message.signature = reader.string();\n continue;\n }\n case 15: {\n if (tag !== 120) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 16: {\n if (tag !== 130) {\n break;\n }\n\n message.old_wallet = reader.string();\n continue;\n }\n case 17: {\n if (tag !== 138) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<Attestation>): Attestation {\n return Attestation.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Attestation>): Attestation {\n const message = createBaseAttestation();\n message.attestation_id = object.attestation_id ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\n ? BigInt(object.provider_key_version)\n : 0n;\n message.attestation_type = object.attestation_type ?? 0;\n message.chain_id = object.chain_id ?? \"\";\n message.intended_wallet = object.intended_wallet ?? \"\";\n message.case_id = object.case_id ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.nonce = object.nonce ?? \"\";\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\n message.issued_at = object.issued_at ?? undefined;\n message.expires_at = object.expires_at ?? undefined;\n message.consumed = object.consumed ?? false;\n message.signature = object.signature ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.old_wallet = object.old_wallet ?? \"\";\n message.new_wallet = object.new_wallet ?? \"\";\n return message;\n },\n};\n\nfunction createBaseApplication(): Application {\n return {\n application_id: \"\",\n applicant_wallet: \"\",\n status: 0,\n attestation_id: \"\",\n uniqueness_commitment: \"\",\n policy_version: \"\",\n decision_reason_code: \"\",\n submitted_at: undefined,\n decided_at: undefined,\n };\n}\n\nexport const Application: MessageFns<Application> = {\n encode(message: Application, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.application_id !== \"\") {\n writer.uint32(10).string(message.application_id);\n }\n if (message.applicant_wallet !== \"\") {\n writer.uint32(18).string(message.applicant_wallet);\n }\n if (message.status !== 0) {\n writer.uint32(24).int32(message.status);\n }\n if (message.attestation_id !== \"\") {\n writer.uint32(34).string(message.attestation_id);\n }\n if (message.uniqueness_commitment !== \"\") {\n writer.uint32(42).string(message.uniqueness_commitment);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(50).string(message.policy_version);\n }\n if (message.decision_reason_code !== \"\") {\n writer.uint32(58).string(message.decision_reason_code);\n }\n if (message.submitted_at !== undefined) {\n Timestamp.encode(toTimestamp(message.submitted_at), writer.uint32(66).fork()).join();\n }\n if (message.decided_at !== undefined) {\n Timestamp.encode(toTimestamp(message.decided_at), writer.uint32(74).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Application {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseApplication();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.attestation_id = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.uniqueness_commitment = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.decision_reason_code = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.submitted_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.decided_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<Application>): Application {\n return Application.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Application>): Application {\n const message = createBaseApplication();\n message.application_id = object.application_id ?? \"\";\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.status = object.status ?? 0;\n message.attestation_id = object.attestation_id ?? \"\";\n message.uniqueness_commitment = object.uniqueness_commitment ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.decision_reason_code = object.decision_reason_code ?? \"\";\n message.submitted_at = object.submitted_at ?? undefined;\n message.decided_at = object.decided_at ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRecoveryAttestationCase(): RecoveryAttestationCase {\n return {\n recovery_case_id: \"\",\n applicant_wallet: \"\",\n status: 0,\n attestation_id: \"\",\n citizen_id: 0n,\n old_wallet: \"\",\n new_wallet: \"\",\n policy_version: \"\",\n decision_reason_code: \"\",\n submitted_at: undefined,\n decided_at: undefined,\n };\n}\n\nexport const RecoveryAttestationCase: MessageFns<RecoveryAttestationCase> = {\n encode(message: RecoveryAttestationCase, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.recovery_case_id !== \"\") {\n writer.uint32(10).string(message.recovery_case_id);\n }\n if (message.applicant_wallet !== \"\") {\n writer.uint32(18).string(message.applicant_wallet);\n }\n if (message.status !== 0) {\n writer.uint32(24).int32(message.status);\n }\n if (message.attestation_id !== \"\") {\n writer.uint32(34).string(message.attestation_id);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(40).uint64(message.citizen_id);\n }\n if (message.old_wallet !== \"\") {\n writer.uint32(50).string(message.old_wallet);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(58).string(message.new_wallet);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(66).string(message.policy_version);\n }\n if (message.decision_reason_code !== \"\") {\n writer.uint32(74).string(message.decision_reason_code);\n }\n if (message.submitted_at !== undefined) {\n Timestamp.encode(toTimestamp(message.submitted_at), writer.uint32(82).fork()).join();\n }\n if (message.decided_at !== undefined) {\n Timestamp.encode(toTimestamp(message.decided_at), writer.uint32(90).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RecoveryAttestationCase {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRecoveryAttestationCase();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.attestation_id = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 40) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.old_wallet = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.decision_reason_code = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.submitted_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.decided_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<RecoveryAttestationCase>): RecoveryAttestationCase {\n return RecoveryAttestationCase.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RecoveryAttestationCase>): RecoveryAttestationCase {\n const message = createBaseRecoveryAttestationCase();\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.status = object.status ?? 0;\n message.attestation_id = object.attestation_id ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.old_wallet = object.old_wallet ?? \"\";\n message.new_wallet = object.new_wallet ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.decision_reason_code = object.decision_reason_code ?? \"\";\n message.submitted_at = object.submitted_at ?? undefined;\n message.decided_at = object.decided_at ?? undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","import { GeneratedType, Registry } from \"@cosmjs/proto-signing\";\nimport { defaultRegistryTypes } from \"@cosmjs/stargate\";\nimport { BinaryWriter } from \"@bufbuild/protobuf/wire\";\n\nimport {\n MsgApproveRecovery,\n MsgCancelRecovery,\n MsgFinalizeRecovery,\n MsgInitiateRecovery,\n MsgIssueKCP,\n MsgReactivateKCP,\n MsgRevokeKCP,\n MsgSuspendKCP,\n} from \"./generated/isatheword/kingdomchain/citizen/v1/tx\";\nimport {\n MsgDecideApplication,\n MsgDecideRecoveryAttestation,\n MsgRegisterProvider,\n MsgSubmitApplication,\n MsgSubmitRecoveryAttestation,\n MsgSuspendProvider,\n} from \"./generated/isatheword/kingdomchain/compliance/v1/tx\";\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: Uint8Array): T;\n fromPartial(object: Partial<T>): T;\n}\n\n/** Adapt ts-proto @bufbuild MessageFns to CosmJS Registry (encode().finish()). */\nfunction wrapMsgFns<T>(msgFns: MessageFns<T>): GeneratedType {\n return {\n encode: (message: T) => msgFns.encode(message) as any,\n decode: (input: Uint8Array) => msgFns.decode(input),\n fromPartial: (object: Partial<T>) => msgFns.fromPartial(object),\n };\n}\n\nconst COMPLIANCE_MSG_TYPES: ReadonlyArray<[string, GeneratedType]> = [\n [\"/isatheword.kingdomchain.compliance.v1.MsgRegisterProvider\", wrapMsgFns(MsgRegisterProvider)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgSuspendProvider\", wrapMsgFns(MsgSuspendProvider)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgSubmitApplication\", wrapMsgFns(MsgSubmitApplication)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgSubmitRecoveryAttestation\", wrapMsgFns(MsgSubmitRecoveryAttestation)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgDecideApplication\", wrapMsgFns(MsgDecideApplication)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgDecideRecoveryAttestation\", wrapMsgFns(MsgDecideRecoveryAttestation)],\n];\n\nconst CITIZEN_MSG_TYPES: ReadonlyArray<[string, GeneratedType]> = [\n [\"/isatheword.kingdomchain.citizen.v1.MsgIssueKCP\", wrapMsgFns(MsgIssueKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgSuspendKCP\", wrapMsgFns(MsgSuspendKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgReactivateKCP\", wrapMsgFns(MsgReactivateKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgRevokeKCP\", wrapMsgFns(MsgRevokeKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgInitiateRecovery\", wrapMsgFns(MsgInitiateRecovery)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgApproveRecovery\", wrapMsgFns(MsgApproveRecovery)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgFinalizeRecovery\", wrapMsgFns(MsgFinalizeRecovery)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgCancelRecovery\", wrapMsgFns(MsgCancelRecovery)],\n];\n\n/** CosmJS registry: standard Cosmos SDK types + Kingdom Chain citizen/compliance messages. */\nexport function createKingdomChainRegistry(): Registry {\n return new Registry([...defaultRegistryTypes, ...COMPLIANCE_MSG_TYPES, ...CITIZEN_MSG_TYPES]);\n}\n\nexport { MsgSubmitApplication, MsgSubmitRecoveryAttestation } from \"./generated/isatheword/kingdomchain/compliance/v1/tx\";\nexport { ApplicationStatus, RecoveryAttestationStatus } from \"./generated/isatheword/kingdomchain/compliance/v1/compliance\";\n","/**\n * Kingdom Chain on-chain denom and display metadata.\n *\n * Sources:\n * - x/supply/types/constants.go (UkdrDenom = \"ukdr\")\n * - TOKENOMICS_COSMOS_SPEC.md (1 KDR = 1,000,000 ukdr)\n * - app/app.go + app/config.go (bech32 prefix, coin type)\n */\n\n/** Base (minimal) denom registered in x/supply. */\nexport const UKDR_MINIMAL_DENOM = \"ukdr\";\n\n/** Human-readable display symbol. */\nexport const UKDR_DISPLAY_DENOM = \"KDR\";\n\n/** ukdr is a micro-unit: 10^6 ukdr = 1 KDR. */\nexport const UKDR_DECIMALS = 6;\n\n/** Account / validator bech32 prefix (AccountAddressPrefix in app/app.go). */\nexport const BECH32_PREFIX = \"king\";\n\n/** SLIP-0044 coin type (ChainCoinType in app/app.go). */\nexport const CHAIN_COIN_TYPE = 118;\n\n/** Devnet default chain ID (override via env when a permanent node exists). */\nexport const DEFAULT_CHAIN_ID = \"kingdomchain-e2e\";\n\nexport const DEFAULT_RPC_URL = \"http://127.0.0.1:26657\";\nexport const DEFAULT_REST_URL = \"http://127.0.0.1:1317\";\n","import type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\nimport { SigningStargateClient } from \"@cosmjs/stargate\";\n\nimport {\n BECH32_PREFIX,\n CHAIN_COIN_TYPE,\n UKDR_DECIMALS,\n UKDR_DISPLAY_DENOM,\n UKDR_MINIMAL_DENOM,\n} from \"./chainConstants\";\nimport { createKingdomChainRegistry } from \"./registry\";\n\n/** Keplr/Leap-compatible currency entry. */\nexport interface ChainCurrency {\n coinDenom: string;\n coinMinimalDenom: string;\n coinDecimals: number;\n gasPriceStep?: { low: number; average: number; high: number };\n}\n\n/** Keplr/Leap-compatible ChainInfo for experimentalSuggestChain. */\nexport interface ChainInfo {\n chainId: string;\n chainName: string;\n rpc: string;\n rest: string;\n bip44: { coinType: number };\n bech32Config: {\n bech32PrefixAccAddr: string;\n bech32PrefixAccPub: string;\n bech32PrefixValAddr: string;\n bech32PrefixValPub: string;\n bech32PrefixConsAddr: string;\n bech32PrefixConsPub: string;\n };\n currencies: ChainCurrency[];\n feeCurrencies: ChainCurrency[];\n stakeCurrency: ChainCurrency;\n}\n\n/** Subset of Keplr/Leap window API used for chain connect. */\nexport interface BrowserWalletApi {\n experimentalSuggestChain(chainInfo: ChainInfo): Promise<void>;\n enable(chainId: string): Promise<void>;\n getOfflineSigner(chainId: string): OfflineDirectSigner;\n}\n\nexport class WalletNotInstalledError extends Error {\n constructor(public readonly walletName: string) {\n super(`${walletName} extension is not installed. Install it and refresh the page.`);\n this.name = \"WalletNotInstalledError\";\n }\n}\n\nexport class WalletConnectionError extends Error {\n constructor(\n public readonly walletName: string,\n public readonly step: \"suggestChain\" | \"enable\" | \"getOfflineSigner\",\n cause?: unknown,\n ) {\n const stepLabel =\n step === \"suggestChain\"\n ? \"chain suggestion\"\n : step === \"enable\"\n ? \"connection request\"\n : \"offline signer retrieval\";\n super(`${walletName} failed during ${stepLabel}.`, { cause });\n this.name = \"WalletConnectionError\";\n }\n}\n\n/** @deprecated Use WalletConnectionError — kept for backward compatibility in tests/demo. */\nexport class WalletConnectionRejectedError extends WalletConnectionError {\n constructor(walletName: string, step: \"suggestChain\" | \"enable\", cause?: unknown) {\n super(walletName, step, cause);\n this.name = \"WalletConnectionRejectedError\";\n }\n}\n\nexport class WalletAccountError extends Error {\n constructor(public readonly walletName: string) {\n super(`${walletName} returned no usable accounts. Reconnect the wallet and try again.`);\n this.name = \"WalletAccountError\";\n }\n}\n\nexport class InvalidChainConfigError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"InvalidChainConfigError\";\n }\n}\n\nexport class RpcConnectionError extends Error {\n constructor(\n public readonly rpcUrl: string,\n cause?: unknown,\n ) {\n super(`Failed to connect to RPC endpoint ${rpcUrl}. Is the node running and reachable?`, { cause });\n this.name = \"RpcConnectionError\";\n }\n}\n\n/** Cosmostation exposes a Keplr-compatible provider at providers.keplr. */\nexport interface CosmostationWindowApi {\n providers?: {\n keplr?: BrowserWalletApi;\n };\n}\n\ndeclare global {\n interface Window {\n keplr?: BrowserWalletApi;\n leap?: BrowserWalletApi;\n cosmostation?: CosmostationWindowApi;\n }\n}\n\nconst UKDR_CURRENCY: ChainCurrency = {\n coinDenom: UKDR_DISPLAY_DENOM,\n coinMinimalDenom: UKDR_MINIMAL_DENOM,\n coinDecimals: UKDR_DECIMALS,\n};\n\n/** E2E devnet uses minimum-gas-prices = \"0ukdr\" (scripts/citizen-compliance-e2e/run.sh). */\nconst UKDR_FEE_CURRENCY: ChainCurrency = {\n ...UKDR_CURRENCY,\n gasPriceStep: { low: 0, average: 0, high: 0.025 },\n};\n\nfunction isWalletApiPresent(api: unknown): api is BrowserWalletApi {\n if (api == null || typeof api !== \"object\") {\n return false;\n }\n const candidate = api as BrowserWalletApi;\n return (\n typeof candidate.experimentalSuggestChain === \"function\" &&\n typeof candidate.enable === \"function\" &&\n typeof candidate.getOfflineSigner === \"function\"\n );\n}\n\n/** Validate chain endpoint inputs before passing to Keplr/Leap. */\nexport function validateChainConfig(chainId: string, rpcUrl: string, restUrl: string): void {\n if (!chainId.trim()) {\n throw new InvalidChainConfigError(\"chainId is required\");\n }\n if (!rpcUrl.trim()) {\n throw new InvalidChainConfigError(\"rpcUrl is required\");\n }\n if (!restUrl.trim()) {\n throw new InvalidChainConfigError(\"restUrl is required\");\n }\n}\n\nexport function isKeplrAvailable(): boolean {\n return typeof window !== \"undefined\" && isWalletApiPresent(window.keplr);\n}\n\nexport function isLeapAvailable(): boolean {\n return typeof window !== \"undefined\" && isWalletApiPresent(window.leap);\n}\n\n/** Keplr-compatible API injected by the Cosmostation extension. */\nexport function getCosmostationKeplrApi(): BrowserWalletApi | undefined {\n if (typeof window === \"undefined\") {\n return undefined;\n }\n const api = window.cosmostation?.providers?.keplr;\n return isWalletApiPresent(api) ? api : undefined;\n}\n\nexport function isCosmostationAvailable(): boolean {\n return getCosmostationKeplrApi() != null;\n}\n\n/** Build ChainInfo for Keplr/Leap experimentalSuggestChain. */\nexport function buildKingdomChainInfo(\n chainId: string,\n rpcUrl: string,\n restUrl: string,\n chainName = \"Kingdom Chain\",\n): ChainInfo {\n validateChainConfig(chainId, rpcUrl, restUrl);\n\n const accPub = `${BECH32_PREFIX}pub`;\n const valAddr = `${BECH32_PREFIX}valoper`;\n const valPub = `${BECH32_PREFIX}valoperpub`;\n const consAddr = `${BECH32_PREFIX}valcons`;\n const consPub = `${BECH32_PREFIX}valconspub`;\n\n return {\n chainId,\n chainName,\n rpc: rpcUrl,\n rest: restUrl,\n bip44: { coinType: CHAIN_COIN_TYPE },\n bech32Config: {\n bech32PrefixAccAddr: BECH32_PREFIX,\n bech32PrefixAccPub: accPub,\n bech32PrefixValAddr: valAddr,\n bech32PrefixValPub: valPub,\n bech32PrefixConsAddr: consAddr,\n bech32PrefixConsPub: consPub,\n },\n currencies: [UKDR_CURRENCY],\n feeCurrencies: [UKDR_FEE_CURRENCY],\n stakeCurrency: UKDR_CURRENCY,\n };\n}\n\nasync function assertSignerHasAccount(signer: OfflineDirectSigner, walletName: string): Promise<void> {\n let accounts;\n try {\n accounts = await signer.getAccounts();\n } catch (err) {\n throw new WalletConnectionError(walletName, \"getOfflineSigner\", err);\n }\n if (accounts.length === 0 || !accounts[0]?.address?.trim()) {\n throw new WalletAccountError(walletName);\n }\n}\n\n/** Suggest chain, request access, return CosmJS OfflineDirectSigner. */\nexport async function suggestAndConnect(\n walletApi: BrowserWalletApi,\n chainInfo: ChainInfo,\n walletName = \"Wallet\",\n): Promise<OfflineDirectSigner> {\n try {\n await walletApi.experimentalSuggestChain(chainInfo);\n } catch (err) {\n throw new WalletConnectionRejectedError(walletName, \"suggestChain\", err);\n }\n\n try {\n await walletApi.enable(chainInfo.chainId);\n } catch (err) {\n throw new WalletConnectionRejectedError(walletName, \"enable\", err);\n }\n\n let signer: OfflineDirectSigner;\n try {\n signer = walletApi.getOfflineSigner(chainInfo.chainId);\n } catch (err) {\n throw new WalletConnectionError(walletName, \"getOfflineSigner\", err);\n }\n\n await assertSignerHasAccount(signer, walletName);\n return signer;\n}\n\nfunction resolveWalletApi(\n getter: () => BrowserWalletApi | undefined,\n walletName: string,\n): BrowserWalletApi {\n if (!isWalletApiPresent(getter())) {\n throw new WalletNotInstalledError(walletName);\n }\n const api = getter();\n if (!isWalletApiPresent(api)) {\n throw new WalletNotInstalledError(walletName);\n }\n return api;\n}\n\nexport async function connectKeplr(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\n const api = resolveWalletApi(() => window.keplr, \"Keplr\");\n return suggestAndConnect(api, chainInfo, \"Keplr\");\n}\n\nexport async function connectLeap(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\n const api = resolveWalletApi(() => window.leap, \"Leap\");\n return suggestAndConnect(api, chainInfo, \"Leap\");\n}\n\nexport async function connectCosmostation(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\n const api = resolveWalletApi(getCosmostationKeplrApi, \"Cosmostation\");\n return suggestAndConnect(api, chainInfo, \"Cosmostation\");\n}\n\n/** SigningStargateClient wired with Kingdom Chain custom message registry. */\nexport async function createBrowserSigningClient(\n rpcUrl: string,\n signer: OfflineDirectSigner,\n): Promise<SigningStargateClient> {\n if (!rpcUrl.trim()) {\n throw new InvalidChainConfigError(\"rpcUrl is required\");\n }\n try {\n return await SigningStargateClient.connectWithSigner(rpcUrl, signer, {\n registry: createKingdomChainRegistry(),\n });\n } catch (err) {\n throw new RpcConnectionError(rpcUrl, err);\n }\n}\n","import SignClient from \"@walletconnect/sign-client\";\nimport type { ProposalTypes, SessionTypes } from \"@walletconnect/types\";\nimport type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\nimport type { AccountData, DirectSignResponse } from \"@cosmjs/proto-signing\";\nimport type { SignDoc } from \"cosmjs-types/cosmos/tx/v1beta1/tx\";\nimport { fromBase64, toBase64 } from \"@cosmjs/encoding\";\n\nexport const WALLETCONNECT_COSMOS_NAMESPACE = \"cosmos\";\n\nexport const WALLETCONNECT_COSMOS_METHODS = [\n \"cosmos_getAccounts\",\n \"cosmos_signDirect\",\n \"cosmos_signAmino\",\n] as const;\n\nexport interface WalletConnectMetadata {\n name: string;\n description: string;\n url: string;\n icons: string[];\n}\n\nexport interface WalletConnectChainConfig {\n chainId: string;\n projectId: string;\n metadata: WalletConnectMetadata;\n relayUrl?: string;\n}\n\nexport interface WalletConnectConnectResult {\n uri: string;\n session: SessionTypes.Struct;\n signer: OfflineDirectSigner;\n}\n\nexport class WalletConnectNotInitializedError extends Error {\n constructor() {\n super(\"WalletConnect Sign Client is not initialized.\");\n this.name = \"WalletConnectNotInitializedError\";\n }\n}\n\nexport class WalletConnectSessionError extends Error {\n constructor(message: string, cause?: unknown) {\n super(message, { cause });\n this.name = \"WalletConnectSessionError\";\n }\n}\n\nexport class WalletConnectSigningError extends Error {\n constructor(message: string, cause?: unknown) {\n super(message, { cause });\n this.name = \"WalletConnectSigningError\";\n }\n}\n\n/** WalletConnect chain id: `cosmos:{chainId}`. */\nexport function toWalletConnectCosmosChainId(chainId: string): string {\n return `${WALLETCONNECT_COSMOS_NAMESPACE}:${chainId}`;\n}\n\nexport function parseWalletConnectAccount(\n account: string,\n): { namespace: string; chainId: string; address: string } {\n const parts = account.split(\":\");\n if (parts.length !== 3) {\n throw new WalletConnectSessionError(`Invalid WalletConnect account id: ${account}`);\n }\n const [namespace, chainId, address] = parts;\n return { namespace, chainId, address };\n}\n\nexport function buildRequiredCosmosNamespaces(chainId: string): ProposalTypes.RequiredNamespaces {\n const wcChainId = toWalletConnectCosmosChainId(chainId);\n return {\n [WALLETCONNECT_COSMOS_NAMESPACE]: {\n methods: [...WALLETCONNECT_COSMOS_METHODS],\n chains: [wcChainId],\n events: [],\n },\n };\n}\n\nexport async function initWalletConnectClient(\n config: WalletConnectChainConfig,\n): Promise<SignClient> {\n if (!config.projectId.trim()) {\n throw new WalletConnectSessionError(\"WalletConnect projectId is required\");\n }\n if (!config.chainId.trim()) {\n throw new WalletConnectSessionError(\"chainId is required\");\n }\n\n return SignClient.init({\n projectId: config.projectId,\n metadata: config.metadata,\n relayUrl: config.relayUrl,\n });\n}\n\nexport function createWalletConnectOfflineSigner(\n client: SignClient,\n session: SessionTypes.Struct,\n chainId: string,\n): OfflineDirectSigner {\n const wcChainId = toWalletConnectCosmosChainId(chainId);\n const accounts = session.namespaces[WALLETCONNECT_COSMOS_NAMESPACE]?.accounts ?? [];\n const chainAccounts = accounts\n .map(parseWalletConnectAccount)\n .filter((entry) => entry.chainId === chainId);\n\n if (chainAccounts.length === 0) {\n throw new WalletConnectSessionError(\n `WalletConnect session has no accounts for chain ${chainId}`,\n );\n }\n\n const primaryAddress = chainAccounts[0].address;\n\n return {\n getAccounts: async (): Promise<AccountData[]> => {\n try {\n const response = (await client.request({\n topic: session.topic,\n chainId: wcChainId,\n request: {\n method: \"cosmos_getAccounts\",\n params: {},\n },\n })) as { address: string; algo: string; pubkey: string }[];\n\n if (Array.isArray(response) && response.length > 0) {\n return response.map((account) => ({\n address: account.address,\n algo: account.algo as AccountData[\"algo\"],\n pubkey: fromBase64(account.pubkey),\n }));\n }\n } catch {\n // Some wallets omit cosmos_getAccounts; fall back to session account list.\n }\n\n return chainAccounts.map((account) => ({\n address: account.address,\n algo: \"secp256k1\",\n pubkey: new Uint8Array(0),\n }));\n },\n\n signDirect: async (signerAddress: string, signDoc: SignDoc): Promise<DirectSignResponse> => {\n if (signerAddress !== primaryAddress) {\n throw new WalletConnectSigningError(\n `WalletConnect signer address mismatch: expected ${primaryAddress}, got ${signerAddress}`,\n );\n }\n\n try {\n const result = (await client.request({\n topic: session.topic,\n chainId: wcChainId,\n request: {\n method: \"cosmos_signDirect\",\n params: {\n signerAddress,\n signDoc: {\n chainId: signDoc.chainId,\n accountNumber: signDoc.accountNumber.toString(),\n authInfoBytes: toBase64(signDoc.authInfoBytes),\n bodyBytes: toBase64(signDoc.bodyBytes),\n },\n },\n },\n })) as {\n signature: { pub_key: { type: string; value: string }; signature: string };\n signed?: {\n chainId: string;\n accountNumber: string;\n authInfoBytes: string;\n bodyBytes: string;\n };\n };\n\n return {\n signed: {\n chainId: result.signed?.chainId ?? signDoc.chainId,\n accountNumber: BigInt(result.signed?.accountNumber ?? signDoc.accountNumber),\n authInfoBytes: result.signed?.authInfoBytes\n ? fromBase64(result.signed.authInfoBytes)\n : signDoc.authInfoBytes,\n bodyBytes: result.signed?.bodyBytes\n ? fromBase64(result.signed.bodyBytes)\n : signDoc.bodyBytes,\n },\n signature: {\n pub_key: {\n type: result.signature.pub_key.type,\n value: result.signature.pub_key.value,\n },\n signature: result.signature.signature,\n },\n };\n } catch (err) {\n throw new WalletConnectSigningError(\"WalletConnect cosmos_signDirect failed.\", err);\n }\n },\n };\n}\n\n/** Pair with a mobile wallet; returns WC URI (for QR) and approval promise. */\nexport async function connectWalletConnect(\n client: SignClient,\n chainId: string,\n options?: { pairingTopic?: string },\n): Promise<WalletConnectConnectResult> {\n const { uri, approval } = await client.connect({\n pairingTopic: options?.pairingTopic,\n requiredNamespaces: buildRequiredCosmosNamespaces(chainId),\n });\n\n if (!uri) {\n throw new WalletConnectSessionError(\"WalletConnect did not return a pairing URI\");\n }\n\n const session = await approval();\n const signer = createWalletConnectOfflineSigner(client, session, chainId);\n const accounts = await signer.getAccounts();\n if (accounts.length === 0 || !accounts[0]?.address?.trim()) {\n throw new WalletConnectSessionError(\"WalletConnect session returned no usable accounts\");\n }\n\n return { uri, session, signer };\n}\n\nexport async function disconnectWalletConnect(\n client: SignClient,\n session: SessionTypes.Struct,\n reason = \"User disconnected\",\n): Promise<void> {\n await client.disconnect({\n topic: session.topic,\n reason: { code: 6000, message: reason },\n });\n}\n\nexport async function restoreWalletConnectSession(\n client: SignClient,\n chainId: string,\n): Promise<{ session: SessionTypes.Struct; signer: OfflineDirectSigner } | null> {\n const sessions = client.session.getAll();\n const wcChainId = toWalletConnectCosmosChainId(chainId);\n const active = sessions.find((session) => {\n const chains = session.namespaces[WALLETCONNECT_COSMOS_NAMESPACE]?.chains ?? [];\n return chains.includes(wcChainId);\n });\n\n if (!active) {\n return null;\n }\n\n const signer = createWalletConnectOfflineSigner(client, active, chainId);\n return { session: active, signer };\n}\n","/** Embedded wallet vault format version. */\nexport const EMBEDDED_WALLET_VAULT_VERSION = 1;\n\nexport const EMBEDDED_WALLET_KDF_PRF = \"webauthn-prf\" as const;\nexport const EMBEDDED_WALLET_KDF_PBKDF2 = \"pbkdf2-passkey\" as const;\nexport const EMBEDDED_WALLET_KDF_PIN = \"pbkdf2-pin\" as const;\n\nexport type EmbeddedWalletKdf =\n | typeof EMBEDDED_WALLET_KDF_PRF\n | typeof EMBEDDED_WALLET_KDF_PBKDF2\n | typeof EMBEDDED_WALLET_KDF_PIN;\n\n/** How the wallet key relates to its recovery phrase. */\nexport const EMBEDDED_WALLET_KEY_HD_DERIVED = \"hd-derived\" as const;\nexport const EMBEDDED_WALLET_KEY_DIRECT_ENTROPY = \"direct-entropy\" as const;\n\nexport type EmbeddedWalletKeyType =\n | typeof EMBEDDED_WALLET_KEY_HD_DERIVED\n | typeof EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n\n/** Plaintext wallet payload — never persisted unencrypted. */\nexport interface EmbeddedWalletPlaintext {\n privateKey: Uint8Array;\n hdPath: string;\n createdAt: string;\n /** Omitted in pre-phase-3 vaults; treated as direct-entropy when absent. */\n keyType?: EmbeddedWalletKeyType;\n /** Stored for hd-derived wallets so the phrase can be revealed later. */\n mnemonic?: string;\n}\n\n/** Warnings shown before revealing a recovery phrase. */\nexport interface EmbeddedWalletRecoveryPhraseWarning {\n id: \"general\" | \"direct-entropy-portability\";\n title: string;\n body: string;\n}\n\nexport const EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING: EmbeddedWalletRecoveryPhraseWarning =\n {\n id: \"general\",\n title: \"Protect your recovery phrase\",\n body:\n \"Anyone with these words can access your funds. Never share them, never enter them on any other website, and Kingdom OS will never ask you for them.\",\n };\n\nexport const EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING: EmbeddedWalletRecoveryPhraseWarning =\n {\n id: \"direct-entropy-portability\",\n title: \"Kingdom OS recovery phrase only\",\n body:\n \"This phrase restores this wallet in Kingdom OS only. It will not import into Keplr, Exodus, or other standard Cosmos wallets.\",\n };\n\nexport interface EmbeddedWalletRecoveryPhraseReveal {\n mnemonic: string;\n keyType: EmbeddedWalletKeyType;\n address: string;\n warnings: EmbeddedWalletRecoveryPhraseWarning[];\n}\n\n/** Encrypted vault stored in IndexedDB and exported backup files. */\nexport interface EmbeddedWalletVaultV1 {\n version: typeof EMBEDDED_WALLET_VAULT_VERSION;\n kdf: EmbeddedWalletKdf;\n credentialId: string;\n publicAddress: string;\n iv: string;\n ciphertext: string;\n /** PBKDF2 salt (base64). Empty when kdf=webauthn-prf. */\n kdfSalt: string;\n /** PBKDF2 iterations. Zero when kdf=webauthn-prf. */\n kdfIterations: number;\n /** PRF eval salt (base64). Empty when kdf=pbkdf2-passkey. */\n prfSalt: string;\n /** Hard gate: must be true before any transaction is permitted. */\n backupAcknowledged: boolean;\n backupAcknowledgedAt?: string;\n createdAt: string;\n}\n\nexport interface EmbeddedWalletBackupFileV1 {\n format: \"kingdom-os-embedded-wallet-backup\";\n version: typeof EMBEDDED_WALLET_VAULT_VERSION;\n vault: EmbeddedWalletVaultV1;\n exportedAt: string;\n}\n\nexport class EmbeddedWalletBackupRequiredError extends Error {\n constructor() {\n super(\n \"Encrypted backup must be downloaded and acknowledged before the first transaction.\",\n );\n this.name = \"EmbeddedWalletBackupRequiredError\";\n }\n}\n\nexport class EmbeddedWalletVaultError extends Error {\n constructor(message: string, cause?: unknown) {\n super(message, { cause });\n this.name = \"EmbeddedWalletVaultError\";\n }\n}\n\nexport type PasscodeStrengthLabel = \"weak\" | \"fair\" | \"good\" | \"strong\";\n\nexport type PasscodeBlockReason = \"denylist\" | \"too_weak\" | \"numeric_short\";\n\n/** Thrown when too many failed passcode unlock attempts trigger a timed lockout. */\nexport class EmbeddedWalletLockoutError extends Error {\n readonly retryAfterMs: number;\n\n constructor(retryAfterMs: number) {\n super(`Passcode unlock temporarily locked; retry in ${Math.ceil(retryAfterMs / 1000)} seconds`);\n this.name = \"EmbeddedWalletLockoutError\";\n this.retryAfterMs = retryAfterMs;\n }\n}\n\n/** Thrown when a passcode is too weak or on the common-password denylist. */\nexport class EmbeddedWalletWeakPasscodeError extends Error {\n readonly reason: PasscodeBlockReason;\n\n constructor(reason: PasscodeBlockReason) {\n const messages: Record<PasscodeBlockReason, string> = {\n denylist: \"Passcode is too common; choose something less predictable\",\n too_weak: \"Passcode is too weak; use a longer or more varied passcode\",\n numeric_short: \"Numeric-only passcodes must be at least 12 digits\",\n };\n super(messages[reason]);\n this.name = \"EmbeddedWalletWeakPasscodeError\";\n this.reason = reason;\n }\n}\n","import { DirectSecp256k1Wallet } from \"@cosmjs/proto-signing\";\n\nimport { BECH32_PREFIX } from \"../chainConstants\";\nimport type { EmbeddedWalletPlaintext } from \"./types\";\nimport { EmbeddedWalletVaultError } from \"./types\";\n\nconst DEFAULT_HD_PATH = \"m/44'/118'/0'/0/0\";\n\n/** Build a CosmJS offline signer from decrypted vault plaintext. */\nexport async function embeddedPlaintextToSigner(\n plaintext: EmbeddedWalletPlaintext,\n prefix = BECH32_PREFIX,\n): Promise<DirectSecp256k1Wallet> {\n if (plaintext.privateKey.length !== 32) {\n throw new EmbeddedWalletVaultError(\n `Invalid secp256k1 private key length: ${plaintext.privateKey.length}`,\n );\n }\n return DirectSecp256k1Wallet.fromKey(plaintext.privateKey, prefix);\n}\n\nexport function defaultEmbeddedHdPath(): string {\n return DEFAULT_HD_PATH;\n}\n","import { Bip39, EnglishMnemonic, Slip10, Slip10Curve, stringToPath } from \"@cosmjs/crypto\";\nimport { DirectSecp256k1HdWallet, DirectSecp256k1Wallet } from \"@cosmjs/proto-signing\";\nimport { entropyToMnemonic, mnemonicToEntropy, validateMnemonic } from \"@scure/bip39\";\nimport { wordlist as englishWordlist } from \"@scure/bip39/wordlists/english\";\n\nimport { BECH32_PREFIX } from \"../chainConstants\";\nimport { defaultEmbeddedHdPath } from \"./signer\";\nimport {\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n EMBEDDED_WALLET_KEY_HD_DERIVED,\n type EmbeddedWalletKeyType,\n type EmbeddedWalletPlaintext,\n EmbeddedWalletVaultError,\n} from \"./types\";\n\nconst MNEMONIC_WORD_COUNT = 24;\n\n/** Normalize user input: trim, lowercase, collapse whitespace. */\nexport function normalizeRecoveryMnemonic(mnemonic: string): string {\n return mnemonic.trim().toLowerCase().replace(/\\s+/g, \" \");\n}\n\nexport function assertValidRecoveryMnemonic(mnemonic: string): void {\n const normalized = normalizeRecoveryMnemonic(mnemonic);\n if (!validateMnemonic(normalized, englishWordlist)) {\n throw new EmbeddedWalletVaultError(\"Recovery phrase is not a valid BIP-39 mnemonic\");\n }\n const words = normalized.split(\" \");\n if (words.length !== MNEMONIC_WORD_COUNT) {\n throw new EmbeddedWalletVaultError(\n `Recovery phrase must be ${MNEMONIC_WORD_COUNT} words, got ${words.length}`,\n );\n }\n}\n\nexport function resolvePlaintextKeyType(plaintext: EmbeddedWalletPlaintext): EmbeddedWalletKeyType {\n return plaintext.keyType ?? EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n}\n\n/** Encode a legacy raw 32-byte key as a 24-word BIP-39 mnemonic (entropy encoding, no HD). */\nexport function encodeDirectEntropyMnemonic(privateKey: Uint8Array): string {\n if (privateKey.length !== 32) {\n throw new EmbeddedWalletVaultError(\n `Direct-entropy mnemonic requires a 32-byte key, got ${privateKey.length}`,\n );\n }\n return entropyToMnemonic(privateKey, englishWordlist);\n}\n\n/** Decode a direct-entropy mnemonic back to the original 32-byte key. */\nexport function decodeDirectEntropyMnemonic(mnemonic: string): Uint8Array {\n assertValidRecoveryMnemonic(mnemonic);\n const entropy = mnemonicToEntropy(normalizeRecoveryMnemonic(mnemonic), englishWordlist);\n if (entropy.length !== 32) {\n throw new EmbeddedWalletVaultError(\n `Direct-entropy mnemonic must decode to 32 bytes, got ${entropy.length}`,\n );\n }\n return entropy;\n}\n\nexport async function derivePrivateKeyFromHdMnemonic(\n mnemonic: string,\n hdPath = defaultEmbeddedHdPath(),\n): Promise<Uint8Array> {\n assertValidRecoveryMnemonic(mnemonic);\n const seed = await Bip39.mnemonicToSeed(new EnglishMnemonic(normalizeRecoveryMnemonic(mnemonic)));\n const { privkey } = Slip10.derivePath(Slip10Curve.Secp256k1, seed, stringToPath(hdPath));\n return privkey;\n}\n\nexport async function addressFromPrivateKey(\n privateKey: Uint8Array,\n prefix = BECH32_PREFIX,\n): Promise<string> {\n const wallet = await DirectSecp256k1Wallet.fromKey(privateKey, prefix);\n const [account] = await wallet.getAccounts();\n return account.address;\n}\n\nexport async function addressFromHdMnemonic(\n mnemonic: string,\n hdPath = defaultEmbeddedHdPath(),\n prefix = BECH32_PREFIX,\n): Promise<string> {\n const wallet = await DirectSecp256k1HdWallet.fromMnemonic(normalizeRecoveryMnemonic(mnemonic), {\n prefix,\n hdPaths: [stringToPath(hdPath)],\n });\n const [account] = await wallet.getAccounts();\n return account.address;\n}\n\nexport async function createHdDerivedPlaintext(\n createdAt: string,\n hdPath = defaultEmbeddedHdPath(),\n): Promise<EmbeddedWalletPlaintext> {\n const hdWallet = await DirectSecp256k1HdWallet.generate(MNEMONIC_WORD_COUNT, {\n prefix: BECH32_PREFIX,\n hdPaths: [stringToPath(hdPath)],\n });\n const mnemonic = hdWallet.mnemonic;\n const privateKey = await derivePrivateKeyFromHdMnemonic(mnemonic, hdPath);\n return {\n privateKey,\n hdPath,\n createdAt,\n keyType: EMBEDDED_WALLET_KEY_HD_DERIVED,\n mnemonic,\n };\n}\n\nexport async function plaintextFromRecoveryMnemonic(\n mnemonic: string,\n keyType: EmbeddedWalletKeyType,\n createdAt: string,\n hdPath = defaultEmbeddedHdPath(),\n): Promise<EmbeddedWalletPlaintext> {\n assertValidRecoveryMnemonic(mnemonic);\n const normalized = normalizeRecoveryMnemonic(mnemonic);\n\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\n const privateKey = await derivePrivateKeyFromHdMnemonic(normalized, hdPath);\n return {\n privateKey,\n hdPath,\n createdAt,\n keyType: EMBEDDED_WALLET_KEY_HD_DERIVED,\n mnemonic: normalized,\n };\n }\n\n const privateKey = decodeDirectEntropyMnemonic(normalized);\n return {\n privateKey,\n hdPath,\n createdAt,\n keyType: EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n };\n}\n\n/** Infer key type by matching an expected on-chain address, or default to hd-derived. */\nexport async function detectRecoveryMnemonicKeyType(\n mnemonic: string,\n expectedAddress: string,\n hdPath = defaultEmbeddedHdPath(),\n prefix = BECH32_PREFIX,\n): Promise<EmbeddedWalletKeyType> {\n assertValidRecoveryMnemonic(mnemonic);\n const normalized = normalizeRecoveryMnemonic(mnemonic);\n\n const hdAddress = await addressFromHdMnemonic(normalized, hdPath, prefix);\n if (hdAddress === expectedAddress) {\n return EMBEDDED_WALLET_KEY_HD_DERIVED;\n }\n\n const directKey = decodeDirectEntropyMnemonic(normalized);\n const directAddress = await addressFromPrivateKey(directKey, prefix);\n if (directAddress === expectedAddress) {\n return EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n }\n\n throw new EmbeddedWalletVaultError(\n \"Recovery phrase does not match the expected wallet address for either HD or direct-entropy decoding\",\n );\n}\n\nexport async function recoveryMnemonicAddress(\n mnemonic: string,\n keyType: EmbeddedWalletKeyType,\n hdPath = defaultEmbeddedHdPath(),\n prefix = BECH32_PREFIX,\n): Promise<string> {\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\n return addressFromHdMnemonic(mnemonic, hdPath, prefix);\n }\n const privateKey = decodeDirectEntropyMnemonic(mnemonic);\n return addressFromPrivateKey(privateKey, prefix);\n}\n\n/** Build the recovery phrase for an unlocked plaintext payload. */\nexport function recoveryMnemonicFromPlaintext(plaintext: EmbeddedWalletPlaintext): string {\n const keyType = resolvePlaintextKeyType(plaintext);\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\n if (!plaintext.mnemonic) {\n throw new EmbeddedWalletVaultError(\n \"HD-derived wallet is missing stored mnemonic; cannot reveal recovery phrase\",\n );\n }\n return normalizeRecoveryMnemonic(plaintext.mnemonic);\n }\n return encodeDirectEntropyMnemonic(plaintext.privateKey);\n}\n","import { toBase64, fromBase64 } from \"@cosmjs/encoding\";\n\nimport {\n EMBEDDED_WALLET_KDF_PBKDF2,\n EMBEDDED_WALLET_KDF_PIN,\n EMBEDDED_WALLET_KDF_PRF,\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n EMBEDDED_WALLET_VAULT_VERSION,\n EmbeddedWalletBackupRequiredError,\n type EmbeddedWalletKdf,\n type EmbeddedWalletKeyType,\n type EmbeddedWalletPlaintext,\n type EmbeddedWalletVaultV1,\n EmbeddedWalletVaultError,\n} from \"./types\";\nimport { resolvePlaintextKeyType } from \"./mnemonic\";\n\n/** Legacy passkey PBKDF2 fallback iteration count. */\nconst PBKDF2_ITERATIONS = 310_000;\nconst AES_GCM_IV_BYTES = 12;\n\nexport interface EncryptWalletOptions {\n kdf: EmbeddedWalletKdf;\n credentialId: Uint8Array;\n publicAddress: string;\n kek: Uint8Array;\n /** Required when kdf=pbkdf2-passkey or kdf=pbkdf2-pin */\n kdfSalt?: Uint8Array;\n /** Required when kdf=webauthn-prf */\n prfSalt?: Uint8Array;\n /** Override PBKDF2 iterations (defaults vary by kdf type). */\n kdfIterations?: number;\n backupAcknowledged?: boolean;\n}\n\nfunction pbkdf2IterationsForKdf(kdf: EmbeddedWalletKdf, override?: number): number {\n if (kdf === EMBEDDED_WALLET_KDF_PRF) {\n return 0;\n }\n if (override != null) {\n return override;\n }\n if (kdf === EMBEDDED_WALLET_KDF_PIN) {\n throw new EmbeddedWalletVaultError(\"PIN vault encryption requires explicit kdfIterations\");\n }\n return PBKDF2_ITERATIONS;\n}\n\nfunction assertKekLength(kek: Uint8Array): void {\n if (kek.length !== 32) {\n throw new EmbeddedWalletVaultError(`KEK must be 32 bytes, got ${kek.length}`);\n }\n}\n\nfunction serializePlaintext(payload: EmbeddedWalletPlaintext): Uint8Array {\n const keyType = resolvePlaintextKeyType(payload);\n const json: Record<string, string> = {\n privateKey: toBase64(payload.privateKey),\n hdPath: payload.hdPath,\n createdAt: payload.createdAt,\n keyType,\n };\n if (payload.mnemonic) {\n json.mnemonic = payload.mnemonic;\n }\n return new TextEncoder().encode(JSON.stringify(json));\n}\n\nfunction deserializePlaintext(bytes: Uint8Array): EmbeddedWalletPlaintext {\n let parsed: unknown;\n try {\n parsed = JSON.parse(new TextDecoder().decode(bytes));\n } catch (err) {\n throw new EmbeddedWalletVaultError(\"Failed to parse decrypted wallet payload\", err);\n }\n\n if (\n typeof parsed !== \"object\" ||\n parsed == null ||\n typeof (parsed as EmbeddedWalletPlaintext).hdPath !== \"string\" ||\n typeof (parsed as EmbeddedWalletPlaintext).createdAt !== \"string\" ||\n typeof (parsed as { privateKey?: unknown }).privateKey !== \"string\"\n ) {\n throw new EmbeddedWalletVaultError(\"Decrypted wallet payload has invalid shape\");\n }\n\n const record = parsed as {\n privateKey: string;\n hdPath: string;\n createdAt: string;\n keyType?: EmbeddedWalletKeyType;\n mnemonic?: string;\n };\n\n const plaintext: EmbeddedWalletPlaintext = {\n privateKey: fromBase64(record.privateKey),\n hdPath: record.hdPath,\n createdAt: record.createdAt,\n };\n\n if (record.keyType) {\n plaintext.keyType = record.keyType;\n } else {\n plaintext.keyType = EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n }\n\n if (typeof record.mnemonic === \"string\" && record.mnemonic.length > 0) {\n plaintext.mnemonic = record.mnemonic;\n }\n\n return plaintext;\n}\n\nexport async function deriveKekFromPrf(prfOutput: Uint8Array): Promise<Uint8Array> {\n if (prfOutput.length < 32) {\n throw new EmbeddedWalletVaultError(`PRF output must be at least 32 bytes, got ${prfOutput.length}`);\n }\n return prfOutput.slice(0, 32);\n}\n\n/** PBKDF2-SHA256 fallback when WebAuthn PRF is unavailable (Safari cross-device QR, etc.). */\nexport async function deriveKekFromPbkdf2(\n passkeyMaterial: Uint8Array,\n salt: Uint8Array,\n iterations = PBKDF2_ITERATIONS,\n): Promise<Uint8Array> {\n if (salt.length < 16) {\n throw new EmbeddedWalletVaultError(\"PBKDF2 salt must be at least 16 bytes\");\n }\n\n const keyMaterial = await crypto.subtle.importKey(\n \"raw\",\n new Uint8Array(passkeyMaterial),\n \"PBKDF2\",\n false,\n [\"deriveBits\"],\n );\n const derived = await crypto.subtle.deriveBits(\n { name: \"PBKDF2\", salt: new Uint8Array(salt), iterations, hash: \"SHA-256\" },\n keyMaterial,\n 256,\n );\n return new Uint8Array(derived);\n}\n\nexport function createPbkdf2Salt(): Uint8Array {\n const salt = new Uint8Array(32);\n crypto.getRandomValues(salt);\n return salt;\n}\n\nexport function createPasskeyMaterialFromAssertion(\n authenticatorData: Uint8Array,\n clientDataJSON: Uint8Array,\n): Uint8Array {\n const combined = new Uint8Array(authenticatorData.length + clientDataJSON.length);\n combined.set(authenticatorData, 0);\n combined.set(clientDataJSON, authenticatorData.length);\n return combined;\n}\n\nasync function importAesKey(kek: Uint8Array): Promise<CryptoKey> {\n assertKekLength(kek);\n const raw = new Uint8Array(kek);\n return crypto.subtle.importKey(\"raw\", raw, \"AES-GCM\", false, [\"encrypt\", \"decrypt\"]);\n}\n\nexport async function encryptWalletPayload(\n payload: EmbeddedWalletPlaintext,\n options: EncryptWalletOptions,\n): Promise<EmbeddedWalletVaultV1> {\n const iv = crypto.getRandomValues(new Uint8Array(AES_GCM_IV_BYTES));\n const aesKey = await importAesKey(options.kek);\n const plaintext = serializePlaintext(payload);\n const ciphertext = await crypto.subtle.encrypt(\n { name: \"AES-GCM\", iv },\n aesKey,\n new Uint8Array(plaintext),\n );\n\n if (\n (options.kdf === EMBEDDED_WALLET_KDF_PBKDF2 || options.kdf === EMBEDDED_WALLET_KDF_PIN) &&\n !options.kdfSalt\n ) {\n throw new EmbeddedWalletVaultError(\"PBKDF2 encryption requires kdfSalt\");\n }\n\n const iterations = pbkdf2IterationsForKdf(options.kdf, options.kdfIterations);\n\n return {\n version: EMBEDDED_WALLET_VAULT_VERSION,\n kdf: options.kdf,\n credentialId: toBase64(options.credentialId),\n publicAddress: options.publicAddress,\n iv: toBase64(iv),\n ciphertext: toBase64(new Uint8Array(ciphertext)),\n kdfSalt: options.kdfSalt ? toBase64(options.kdfSalt) : \"\",\n kdfIterations: iterations,\n prfSalt: options.prfSalt ? toBase64(options.prfSalt) : \"\",\n backupAcknowledged: options.backupAcknowledged ?? false,\n backupAcknowledgedAt: options.backupAcknowledged ? new Date().toISOString() : undefined,\n createdAt: payload.createdAt,\n };\n}\n\nexport async function decryptWalletPayload(\n vault: EmbeddedWalletVaultV1,\n kek: Uint8Array,\n): Promise<EmbeddedWalletPlaintext> {\n if (vault.version !== EMBEDDED_WALLET_VAULT_VERSION) {\n throw new EmbeddedWalletVaultError(`Unsupported vault version: ${vault.version}`);\n }\n\n const aesKey = await importAesKey(kek);\n const iv = fromBase64(vault.iv);\n const ciphertext = fromBase64(vault.ciphertext);\n\n let plaintextBytes: ArrayBuffer;\n try {\n plaintextBytes = await crypto.subtle.decrypt(\n { name: \"AES-GCM\", iv: new Uint8Array(iv) },\n aesKey,\n new Uint8Array(ciphertext),\n );\n } catch (err) {\n throw new EmbeddedWalletVaultError(\"Failed to decrypt wallet vault (wrong key or corrupted data)\", err);\n }\n\n return deserializePlaintext(new Uint8Array(plaintextBytes));\n}\n\nexport function markVaultBackupAcknowledged(vault: EmbeddedWalletVaultV1): EmbeddedWalletVaultV1 {\n const now = new Date().toISOString();\n return {\n ...vault,\n backupAcknowledged: true,\n backupAcknowledgedAt: now,\n };\n}\n\nexport function assertVaultPermitsTransaction(vault: EmbeddedWalletVaultV1): void {\n if (!vault.backupAcknowledged) {\n throw new EmbeddedWalletBackupRequiredError();\n }\n}\n","/**\n * WebAuthn PRF capability detection for embedded wallet KEK derivation.\n *\n * Safari does not expose PRF during cross-device QR-code WebAuthn flows — only\n * direct iCloud-synced passkeys. Callers must fall back to PBKDF2 in that case.\n */\n\nexport interface WebAuthnPrfCapabilities {\n /** Browser exposes PublicKeyCredential. */\n webAuthnAvailable: boolean;\n /** PRF extension likely usable on this device/browser combo. */\n prfLikelySupported: boolean;\n /** Human-readable reason when prfLikelySupported is false. */\n prfFallbackReason?: string;\n}\n\n/** Best-effort PRF support probe — PBKDF2 fallback remains mandatory. */\nexport function detectWebAuthnPrfCapabilities(): WebAuthnPrfCapabilities {\n if (typeof globalThis.PublicKeyCredential === \"undefined\") {\n return {\n webAuthnAvailable: false,\n prfLikelySupported: false,\n prfFallbackReason: \"WebAuthn is not available in this environment\",\n };\n }\n\n const ua = typeof navigator !== \"undefined\" ? navigator.userAgent : \"\";\n const isSafari = /Safari/i.test(ua) && !/Chrome|Chromium|CriOS|FxiOS/i.test(ua);\n\n // Safari cross-device QR WebAuthn cannot use PRF today — PBKDF2 is load-bearing.\n if (isSafari) {\n return {\n webAuthnAvailable: true,\n prfLikelySupported: false,\n prfFallbackReason:\n \"Safari does not support WebAuthn PRF for cross-device QR flows; use PBKDF2 fallback\",\n };\n }\n\n const getCaps = (\n PublicKeyCredential as unknown as {\n getClientCapabilities?: () => Promise<Record<string, boolean>>;\n }\n ).getClientCapabilities;\n\n if (typeof getCaps !== \"function\") {\n return {\n webAuthnAvailable: true,\n prfLikelySupported: true,\n };\n }\n\n return {\n webAuthnAvailable: true,\n prfLikelySupported: true,\n prfFallbackReason: undefined,\n };\n}\n\n/** Extract 32-byte PRF output from assertion clientExtensionResults. */\nexport function readPrfOutput(\n clientExtensionResults: AuthenticationExtensionsClientOutputs | undefined,\n): Uint8Array | null {\n const prf = clientExtensionResults?.prf as\n | { results?: Record<string, ArrayBuffer> }\n | undefined;\n const first = prf?.results?.first ?? (prf?.results ? Object.values(prf.results)[0] : undefined);\n if (!first || first.byteLength < 32) {\n return null;\n }\n return new Uint8Array(first).slice(0, 32);\n}\n\nexport function selectEmbeddedWalletKdf(\n caps: WebAuthnPrfCapabilities,\n prfOutput: Uint8Array | null,\n): \"webauthn-prf\" | \"pbkdf2-passkey\" {\n if (caps.prfLikelySupported && prfOutput && prfOutput.length >= 32) {\n return \"webauthn-prf\";\n }\n return \"pbkdf2-passkey\";\n}\n","import type { EmbeddedWalletBackupFileV1, EmbeddedWalletVaultV1 } from \"./types\";\nimport { EMBEDDED_WALLET_VAULT_VERSION } from \"./types\";\n\nexport function exportEncryptedBackup(vault: EmbeddedWalletVaultV1): EmbeddedWalletBackupFileV1 {\n return {\n format: \"kingdom-os-embedded-wallet-backup\",\n version: EMBEDDED_WALLET_VAULT_VERSION,\n vault: structuredClone(vault),\n exportedAt: new Date().toISOString(),\n };\n}\n\nexport function parseEncryptedBackup(json: string): EmbeddedWalletBackupFileV1 {\n let parsed: unknown;\n try {\n parsed = JSON.parse(json);\n } catch (err) {\n throw new Error(\"Backup file is not valid JSON\", { cause: err });\n }\n\n if (\n typeof parsed !== \"object\" ||\n parsed == null ||\n (parsed as EmbeddedWalletBackupFileV1).format !== \"kingdom-os-embedded-wallet-backup\" ||\n (parsed as EmbeddedWalletBackupFileV1).version !== EMBEDDED_WALLET_VAULT_VERSION ||\n typeof (parsed as EmbeddedWalletBackupFileV1).vault !== \"object\"\n ) {\n throw new Error(\"Unrecognized embedded wallet backup format\");\n }\n\n return parsed as EmbeddedWalletBackupFileV1;\n}\n\nexport function serializeBackupFile(backup: EmbeddedWalletBackupFileV1): string {\n return JSON.stringify(backup, null, 2);\n}\n","import { fromBase64, toBase64 } from \"@cosmjs/encoding\";\n\nimport { EmbeddedWalletVaultError } from \"./types\";\n\nexport const WEBAUTHN_RP_NAME = \"Kingdom OS\";\n\nexport interface PasskeyRegistrationResult {\n credentialId: Uint8Array;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n prfOutput: Uint8Array | null;\n prfSalt: Uint8Array;\n}\n\nexport interface PasskeyAssertionResult {\n credentialId: Uint8Array;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n prfOutput: Uint8Array | null;\n}\n\nexport class WebAuthnUnavailableError extends Error {\n constructor(message = \"WebAuthn is not available in this browser\") {\n super(message);\n this.name = \"WebAuthnUnavailableError\";\n }\n}\n\nexport class WebAuthnUserCancelledError extends Error {\n constructor(message = \"Passkey request was cancelled\") {\n super(message);\n this.name = \"WebAuthnUserCancelledError\";\n }\n}\n\nfunction randomChallenge(): BufferSource {\n return toBufferSource(crypto.getRandomValues(new Uint8Array(32)));\n}\n\n/** Copy bytes into a plain ArrayBuffer-backed Uint8Array for WebAuthn BufferSource typing. */\nfunction toBufferSource(bytes: Uint8Array): BufferSource {\n return Uint8Array.from(bytes);\n}\n\nfunction resolveRpId(explicit?: string): string {\n if (explicit?.trim()) {\n return explicit.trim();\n }\n if (typeof window !== \"undefined\" && window.location.hostname) {\n return window.location.hostname;\n }\n throw new EmbeddedWalletVaultError(\"rpId is required when window.location is unavailable\");\n}\n\nfunction mapWebAuthnError(err: unknown): Error {\n if (err instanceof DOMException) {\n if (err.name === \"NotAllowedError\") {\n return new WebAuthnUserCancelledError();\n }\n return new EmbeddedWalletVaultError(`WebAuthn failed: ${err.name}`, err);\n }\n return err instanceof Error ? err : new EmbeddedWalletVaultError(String(err));\n}\n\n/** Register a platform passkey; attempts PRF extension when supported. */\nexport async function registerPasskey(options: {\n userId: Uint8Array;\n userName: string;\n displayName: string;\n rpId?: string;\n prfSalt?: Uint8Array;\n}): Promise<PasskeyRegistrationResult> {\n if (typeof navigator === \"undefined\" || !navigator.credentials?.create) {\n throw new WebAuthnUnavailableError();\n }\n\n const rpId = resolveRpId(options.rpId);\n const prfSalt = options.prfSalt ?? crypto.getRandomValues(new Uint8Array(32));\n\n try {\n const credential = (await navigator.credentials.create({\n publicKey: {\n challenge: randomChallenge(),\n rp: { name: WEBAUTHN_RP_NAME, id: rpId },\n user: {\n id: toBufferSource(options.userId),\n name: options.userName,\n displayName: options.displayName,\n },\n pubKeyCredParams: [{ alg: -7, type: \"public-key\" }],\n authenticatorSelection: {\n residentKey: \"preferred\",\n userVerification: \"required\",\n },\n extensions: {\n prf: { eval: { first: toBufferSource(prfSalt) } },\n } as AuthenticationExtensionsClientInputs,\n },\n })) as PublicKeyCredential | null;\n\n if (!credential || !(credential.response instanceof AuthenticatorAttestationResponse)) {\n throw new EmbeddedWalletVaultError(\"Passkey registration returned no credential\");\n }\n\n const prfOutput = readPrfFromExtensions(credential.getClientExtensionResults());\n\n return {\n credentialId: new Uint8Array(credential.rawId),\n authenticatorData: new Uint8Array(credential.response.getAuthenticatorData()),\n clientDataJSON: new Uint8Array(credential.response.clientDataJSON),\n prfOutput,\n prfSalt,\n };\n } catch (err) {\n throw mapWebAuthnError(err);\n }\n}\n\n/** Assert an existing passkey; re-derives PRF output when extension succeeds. */\nexport async function assertPasskey(options: {\n credentialId: Uint8Array;\n rpId?: string;\n prfSalt?: Uint8Array;\n}): Promise<PasskeyAssertionResult> {\n if (typeof navigator === \"undefined\" || !navigator.credentials?.get) {\n throw new WebAuthnUnavailableError();\n }\n\n const rpId = resolveRpId(options.rpId);\n const extensions: AuthenticationExtensionsClientInputs = {};\n if (options.prfSalt) {\n extensions.prf = { eval: { first: toBufferSource(options.prfSalt) } };\n }\n\n try {\n const assertion = (await navigator.credentials.get({\n publicKey: {\n challenge: randomChallenge(),\n rpId,\n allowCredentials: [{ id: toBufferSource(options.credentialId), type: \"public-key\" }],\n userVerification: \"required\",\n extensions,\n },\n })) as PublicKeyCredential | null;\n\n if (!assertion || !(assertion.response instanceof AuthenticatorAssertionResponse)) {\n throw new EmbeddedWalletVaultError(\"Passkey assertion returned no credential\");\n }\n\n return {\n credentialId: new Uint8Array(assertion.rawId),\n authenticatorData: new Uint8Array(assertion.response.authenticatorData),\n clientDataJSON: new Uint8Array(assertion.response.clientDataJSON),\n prfOutput: readPrfFromExtensions(assertion.getClientExtensionResults()),\n };\n } catch (err) {\n throw mapWebAuthnError(err);\n }\n}\n\nfunction readPrfFromExtensions(\n results: AuthenticationExtensionsClientOutputs,\n): Uint8Array | null {\n const prf = results?.prf as { results?: { first?: ArrayBuffer } } | undefined;\n const first = prf?.results?.first;\n if (!first || first.byteLength < 32) {\n return null;\n }\n return new Uint8Array(first).slice(0, 32);\n}\n\nexport function encodeCredentialId(id: Uint8Array): string {\n return toBase64(id);\n}\n\nexport function decodeCredentialId(encoded: string): Uint8Array {\n return fromBase64(encoded);\n}\n","import type { EmbeddedWalletVaultV1 } from \"./types\";\n\nconst DB_NAME = \"kingdom-os-wallet\";\nconst DB_VERSION = 2;\nconst VAULT_STORE_NAME = \"vault\";\nconst LOCKOUT_STORE_NAME = \"passcode-lockout\";\nconst VAULT_PRIMARY_KEY = \"primary\";\n\nexport interface PasscodeLockoutRecord {\n failedAttempts: number;\n lockoutTier: number;\n lockedUntil: string | null;\n}\n\nfunction openDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(DB_NAME, DB_VERSION);\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB open failed\"));\n request.onupgradeneeded = () => {\n const db = request.result;\n if (!db.objectStoreNames.contains(VAULT_STORE_NAME)) {\n db.createObjectStore(VAULT_STORE_NAME);\n }\n if (!db.objectStoreNames.contains(LOCKOUT_STORE_NAME)) {\n db.createObjectStore(LOCKOUT_STORE_NAME);\n }\n };\n request.onsuccess = () => resolve(request.result);\n });\n}\n\nexport async function saveVaultToIndexedDb(vault: EmbeddedWalletVaultV1): Promise<void> {\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(VAULT_STORE_NAME, \"readwrite\");\n tx.objectStore(VAULT_STORE_NAME).put(vault, VAULT_PRIMARY_KEY);\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB write failed\"));\n });\n db.close();\n}\n\nexport async function loadVaultFromIndexedDb(): Promise<EmbeddedWalletVaultV1 | null> {\n const db = await openDb();\n const vault = await new Promise<EmbeddedWalletVaultV1 | null>((resolve, reject) => {\n const tx = db.transaction(VAULT_STORE_NAME, \"readonly\");\n const request = tx.objectStore(VAULT_STORE_NAME).get(VAULT_PRIMARY_KEY);\n request.onsuccess = () => resolve((request.result as EmbeddedWalletVaultV1 | undefined) ?? null);\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB read failed\"));\n });\n db.close();\n return vault;\n}\n\nexport async function clearVaultFromIndexedDb(): Promise<void> {\n const vault = await loadVaultFromIndexedDb();\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const storeNames = vault\n ? [VAULT_STORE_NAME, LOCKOUT_STORE_NAME]\n : [VAULT_STORE_NAME];\n const tx = db.transaction(storeNames, \"readwrite\");\n tx.objectStore(VAULT_STORE_NAME).delete(VAULT_PRIMARY_KEY);\n if (vault) {\n tx.objectStore(LOCKOUT_STORE_NAME).delete(vault.publicAddress);\n }\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB delete failed\"));\n });\n db.close();\n}\n\nexport async function loadPasscodeLockoutRecord(\n publicAddress: string,\n): Promise<PasscodeLockoutRecord | null> {\n const db = await openDb();\n const record = await new Promise<PasscodeLockoutRecord | null>((resolve, reject) => {\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readonly\");\n const request = tx.objectStore(LOCKOUT_STORE_NAME).get(publicAddress);\n request.onsuccess = () =>\n resolve((request.result as PasscodeLockoutRecord | undefined) ?? null);\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB read failed\"));\n });\n db.close();\n return record;\n}\n\nexport async function savePasscodeLockoutRecord(\n publicAddress: string,\n record: PasscodeLockoutRecord,\n): Promise<void> {\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readwrite\");\n tx.objectStore(LOCKOUT_STORE_NAME).put(record, publicAddress);\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB write failed\"));\n });\n db.close();\n}\n\nexport async function clearPasscodeLockoutRecord(publicAddress: string): Promise<void> {\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readwrite\");\n tx.objectStore(LOCKOUT_STORE_NAME).delete(publicAddress);\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB delete failed\"));\n });\n db.close();\n}\n","import {\n clearPasscodeLockoutRecord,\n loadPasscodeLockoutRecord,\n savePasscodeLockoutRecord,\n type PasscodeLockoutRecord,\n} from \"./storage\";\nimport { EmbeddedWalletLockoutError } from \"./types\";\n\n/** Consecutive wrong passcodes before lockout triggers. */\nexport const PASSCODE_LOCKOUT_FAILURE_THRESHOLD = 5;\n\n/** First lockout duration (milliseconds). */\nexport const PASSCODE_LOCKOUT_INITIAL_MS = 30_000;\n\n/** Maximum lockout duration (15 minutes). */\nexport const PASSCODE_LOCKOUT_MAX_MS = 900_000;\n\nfunction lockoutDurationMs(tier: number): number {\n const duration = PASSCODE_LOCKOUT_INITIAL_MS * 2 ** tier;\n return Math.min(duration, PASSCODE_LOCKOUT_MAX_MS);\n}\n\nfunction emptyRecord(): PasscodeLockoutRecord {\n return {\n failedAttempts: 0,\n lockoutTier: 0,\n lockedUntil: null,\n };\n}\n\nfunction computeRetryAfterMs(lockedUntil: string | null): number {\n if (!lockedUntil) {\n return 0;\n }\n const until = Date.parse(lockedUntil);\n if (Number.isNaN(until)) {\n return 0;\n }\n return Math.max(0, until - Date.now());\n}\n\n/** Throws when the vault is temporarily locked after too many failed unlock attempts. */\nexport async function assertPasscodeUnlockAllowed(publicAddress: string): Promise<void> {\n const record = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\n const retryAfterMs = computeRetryAfterMs(record.lockedUntil);\n if (retryAfterMs > 0) {\n throw new EmbeddedWalletLockoutError(retryAfterMs);\n }\n}\n\n/** Record a failed passcode unlock attempt; triggers lockout at threshold. */\nexport async function recordPasscodeUnlockFailure(publicAddress: string): Promise<void> {\n const existing = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\n\n const retryAfterMs = computeRetryAfterMs(existing.lockedUntil);\n if (retryAfterMs > 0) {\n return;\n }\n\n const failedAttempts = existing.failedAttempts + 1;\n if (failedAttempts < PASSCODE_LOCKOUT_FAILURE_THRESHOLD) {\n await savePasscodeLockoutRecord(publicAddress, {\n ...existing,\n failedAttempts,\n });\n return;\n }\n\n const durationMs = lockoutDurationMs(existing.lockoutTier);\n const lockedUntil = new Date(Date.now() + durationMs).toISOString();\n await savePasscodeLockoutRecord(publicAddress, {\n failedAttempts: 0,\n lockoutTier: existing.lockoutTier + 1,\n lockedUntil,\n });\n}\n\n/** Clear lockout state after a successful passcode unlock. */\nexport async function recordPasscodeUnlockSuccess(publicAddress: string): Promise<void> {\n await clearPasscodeLockoutRecord(publicAddress);\n}\n\nexport async function getPasscodeLockoutState(\n publicAddress: string,\n): Promise<PasscodeLockoutRecord & { retryAfterMs: number }> {\n const record = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\n return {\n ...record,\n retryAfterMs: computeRetryAfterMs(record.lockedUntil),\n };\n}\n\n/** @internal Test helper — reset lockout without clearing vault. */\nexport async function clearPasscodeLockoutForTests(publicAddress: string): Promise<void> {\n await clearPasscodeLockoutRecord(publicAddress);\n}\n","import { deriveKekFromPbkdf2 } from \"./crypto\";\nimport { EmbeddedWalletVaultError } from \"./types\";\n\n/** Minimum passcode length — alphanumeric passcode, not a 4–6 digit PIN. */\nexport const EMBEDDED_WALLET_PASSCODE_MIN_LENGTH = 8;\n\n/** Maximum passcode length (DoS guard for PBKDF2 input). */\nexport const EMBEDDED_WALLET_PASSCODE_MAX_LENGTH = 128;\n\n/**\n * OWASP-recommended PBKDF2-SHA256 iteration count (2023 guidance).\n * Uses native Web Crypto — no WASM bundle required.\n */\nexport const EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS = 600_000;\n\n/** Legacy passkey PBKDF2 fallback iteration count (pre-PIN vaults). */\nexport const EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS = 310_000;\n\nexport function normalizePasscode(passcode: string): string {\n return passcode.normalize(\"NFKC\");\n}\n\n/** Validate citizen-chosen passcode before KDF. */\nexport function assertValidPasscode(passcode: string): void {\n const normalized = normalizePasscode(passcode);\n if (normalized.length < EMBEDDED_WALLET_PASSCODE_MIN_LENGTH) {\n throw new EmbeddedWalletVaultError(\n `Passcode must be at least ${EMBEDDED_WALLET_PASSCODE_MIN_LENGTH} characters`,\n );\n }\n if (normalized.length > EMBEDDED_WALLET_PASSCODE_MAX_LENGTH) {\n throw new EmbeddedWalletVaultError(\n `Passcode must be at most ${EMBEDDED_WALLET_PASSCODE_MAX_LENGTH} characters`,\n );\n }\n}\n\nexport async function deriveKekFromPasscode(\n passcode: string,\n salt: Uint8Array,\n iterations = EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\n): Promise<Uint8Array> {\n assertValidPasscode(passcode);\n const material = new TextEncoder().encode(normalizePasscode(passcode));\n return deriveKekFromPbkdf2(material, salt, iterations);\n}\n","[\"password\",\"123456\",\"12345678\",\"1234\",\"qwerty\",\"12345\",\"dragon\",\"pussy\",\"baseball\",\"football\",\"letmein\",\"monkey\",\"696969\",\"abc123\",\"mustang\",\"michael\",\"shadow\",\"master\",\"jennifer\",\"111111\",\"2000\",\"jordan\",\"superman\",\"harley\",\"1234567\",\"fuckme\",\"hunter\",\"fuckyou\",\"trustno1\",\"ranger\",\"buster\",\"thomas\",\"tigger\",\"robert\",\"soccer\",\"fuck\",\"batman\",\"test\",\"pass\",\"killer\",\"hockey\",\"george\",\"charlie\",\"andrew\",\"michelle\",\"love\",\"sunshine\",\"jessica\",\"asshole\",\"6969\",\"pepper\",\"daniel\",\"access\",\"123456789\",\"654321\",\"joshua\",\"maggie\",\"starwars\",\"silver\",\"william\",\"dallas\",\"yankees\",\"123123\",\"ashley\",\"666666\",\"hello\",\"amanda\",\"orange\",\"biteme\",\"freedom\",\"computer\",\"sexy\",\"thunder\",\"nicole\",\"ginger\",\"heather\",\"hammer\",\"summer\",\"corvette\",\"taylor\",\"fucker\",\"austin\",\"1111\",\"merlin\",\"matthew\",\"121212\",\"golfer\",\"cheese\",\"princess\",\"martin\",\"chelsea\",\"patrick\",\"richard\",\"diamond\",\"yellow\",\"bigdog\",\"secret\",\"asdfgh\",\"sparky\",\"cowboy\",\"camaro\",\"anthony\",\"matrix\",\"falcon\",\"iloveyou\",\"bailey\",\"guitar\",\"jackson\",\"purple\",\"scooter\",\"phoenix\",\"aaaaaa\",\"morgan\",\"tigers\",\"porsche\",\"mickey\",\"maverick\",\"cookie\",\"nascar\",\"peanut\",\"justin\",\"131313\",\"money\",\"horny\",\"samantha\",\"panties\",\"steelers\",\"joseph\",\"snoopy\",\"boomer\",\"whatever\",\"iceman\",\"smokey\",\"gateway\",\"dakota\",\"cowboys\",\"eagles\",\"chicken\",\"dick\",\"black\",\"zxcvbn\",\"please\",\"andrea\",\"ferrari\",\"knight\",\"hardcore\",\"melissa\",\"compaq\",\"coffee\",\"booboo\",\"bitch\",\"johnny\",\"bulldog\",\"xxxxxx\",\"welcome\",\"james\",\"player\",\"ncc1701\",\"wizard\",\"scooby\",\"charles\",\"junior\",\"internet\",\"bigdick\",\"mike\",\"brandy\",\"tennis\",\"blowjob\",\"banana\",\"monster\",\"spider\",\"lakers\",\"miller\",\"rabbit\",\"enter\",\"mercedes\",\"brandon\",\"steven\",\"fender\",\"john\",\"yamaha\",\"diablo\",\"chris\",\"boston\",\"tiger\",\"marine\",\"chicago\",\"rangers\",\"gandalf\",\"winter\",\"bigtits\",\"barney\",\"edward\",\"raiders\",\"porn\",\"badboy\",\"blowme\",\"spanky\",\"bigdaddy\",\"johnson\",\"chester\",\"london\",\"midnight\",\"blue\",\"fishing\",\"000000\",\"hannah\",\"slayer\",\"11111111\",\"rachel\",\"sexsex\",\"redsox\",\"thx1138\",\"asdf\",\"marlboro\",\"panther\",\"zxcvbnm\",\"arsenal\",\"oliver\",\"qazwsx\",\"mother\",\"victoria\",\"7777777\",\"jasper\",\"angel\",\"david\",\"winner\",\"crystal\",\"golden\",\"butthead\",\"viking\",\"jack\",\"iwantu\",\"shannon\",\"murphy\",\"angels\",\"prince\",\"cameron\",\"girls\",\"madison\",\"wilson\",\"carlos\",\"hooters\",\"willie\",\"startrek\",\"captain\",\"maddog\",\"jasmine\",\"butter\",\"booger\",\"angela\",\"golf\",\"lauren\",\"rocket\",\"tiffany\",\"theman\",\"dennis\",\"liverpoo\",\"flower\",\"forever\",\"green\",\"jackie\",\"muffin\",\"turtle\",\"sophie\",\"danielle\",\"redskins\",\"toyota\",\"jason\",\"sierra\",\"winston\",\"debbie\",\"giants\",\"packers\",\"newyork\",\"jeremy\",\"casper\",\"bubba\",\"112233\",\"sandra\",\"lovers\",\"mountain\",\"united\",\"cooper\",\"driver\",\"tucker\",\"helpme\",\"fucking\",\"pookie\",\"lucky\",\"maxwell\",\"8675309\",\"bear\",\"suckit\",\"gators\",\"5150\",\"222222\",\"shithead\",\"fuckoff\",\"jaguar\",\"monica\",\"fred\",\"happy\",\"hotdog\",\"tits\",\"gemini\",\"lover\",\"xxxxxxxx\",\"777777\",\"canada\",\"nathan\",\"victor\",\"florida\",\"88888888\",\"nicholas\",\"rosebud\",\"metallic\",\"doctor\",\"trouble\",\"success\",\"stupid\",\"tomcat\",\"warrior\",\"peaches\",\"apples\",\"fish\",\"qwertyui\",\"magic\",\"buddy\",\"dolphins\",\"rainbow\",\"gunner\",\"987654\",\"freddy\",\"alexis\",\"braves\",\"cock\",\"2112\",\"1212\",\"cocacola\",\"xavier\",\"dolphin\",\"testing\",\"bond007\",\"member\",\"calvin\",\"voodoo\",\"7777\",\"samson\",\"alex\",\"apollo\",\"fire\",\"tester\",\"walter\",\"beavis\",\"voyager\",\"peter\",\"porno\",\"bonnie\",\"rush2112\",\"beer\",\"apple\",\"scorpio\",\"jonathan\",\"skippy\",\"sydney\",\"scott\",\"red123\",\"power\",\"gordon\",\"travis\",\"beaver\",\"star\",\"jackass\",\"flyers\",\"boobs\",\"232323\",\"zzzzzz\",\"steve\",\"rebecca\",\"scorpion\",\"doggie\",\"legend\",\"ou812\",\"yankee\",\"blazer\",\"bill\",\"runner\",\"birdie\",\"bitches\",\"555555\",\"parker\",\"topgun\",\"asdfasdf\",\"heaven\",\"viper\",\"animal\",\"2222\",\"bigboy\",\"4444\",\"arthur\",\"baby\",\"private\",\"godzilla\",\"donald\",\"williams\",\"lifehack\",\"phantom\",\"dave\",\"rock\",\"august\",\"sammy\",\"cool\",\"brian\",\"platinum\",\"jake\",\"bronco\",\"paul\",\"mark\",\"frank\",\"heka6w2\",\"copper\",\"billy\",\"cumshot\",\"garfield\",\"willow\",\"cunt\",\"little\",\"carter\",\"slut\",\"albert\",\"69696969\",\"kitten\",\"super\",\"jordan23\",\"eagle1\",\"shelby\",\"america\",\"11111\",\"jessie\",\"house\",\"free\",\"123321\",\"chevy\",\"bullshit\",\"white\",\"broncos\",\"horney\",\"surfer\",\"nissan\",\"999999\",\"saturn\",\"airborne\",\"elephant\",\"marvin\",\"shit\",\"action\",\"adidas\",\"qwert\",\"kevin\",\"1313\",\"explorer\",\"walker\",\"police\",\"christin\",\"december\",\"benjamin\",\"wolf\",\"sweet\",\"therock\",\"king\",\"online\",\"dickhead\",\"brooklyn\",\"teresa\",\"cricket\",\"sharon\",\"dexter\",\"racing\",\"penis\",\"gregory\",\"0000\",\"teens\",\"redwings\",\"dreams\",\"michigan\",\"hentai\",\"magnum\",\"87654321\",\"nothing\",\"donkey\",\"trinity\",\"digital\",\"333333\",\"stella\",\"cartman\",\"guinness\",\"123abc\",\"speedy\",\"buffalo\",\"kitty\",\"pimpin\",\"eagle\",\"einstein\",\"kelly\",\"nelson\",\"nirvana\",\"vampire\",\"xxxx\",\"playboy\",\"louise\",\"pumpkin\",\"snowball\",\"test123\",\"girl\",\"sucker\",\"mexico\",\"beatles\",\"fantasy\",\"ford\",\"gibson\",\"celtic\",\"marcus\",\"cherry\",\"cassie\",\"888888\",\"natasha\",\"sniper\",\"chance\",\"genesis\",\"hotrod\",\"reddog\",\"alexande\",\"college\",\"jester\",\"passw0rd\",\"bigcock\",\"smith\",\"lasvegas\",\"carmen\",\"slipknot\",\"3333\",\"death\",\"kimberly\",\"1q2w3e\",\"eclipse\",\"1q2w3e4r\",\"stanley\",\"samuel\",\"drummer\",\"homer\",\"montana\",\"music\",\"aaaa\",\"spencer\",\"jimmy\",\"carolina\",\"colorado\",\"creative\",\"hello1\",\"rocky\",\"goober\",\"friday\",\"bollocks\",\"scotty\",\"abcdef\",\"bubbles\",\"hawaii\",\"fluffy\",\"mine\",\"stephen\",\"horses\",\"thumper\",\"5555\",\"pussies\",\"darkness\",\"asdfghjk\",\"pamela\",\"boobies\",\"buddha\",\"vanessa\",\"sandman\",\"naughty\",\"douglas\",\"honda\",\"matt\",\"azerty\",\"6666\",\"shorty\",\"money1\",\"beach\",\"loveme\",\"4321\",\"simple\",\"poohbear\",\"444444\",\"badass\",\"destiny\",\"sarah\",\"denise\",\"vikings\",\"lizard\",\"melanie\",\"assman\",\"sabrina\",\"nintendo\",\"water\",\"good\",\"howard\",\"time\",\"123qwe\",\"november\",\"xxxxx\",\"october\",\"leather\",\"bastard\",\"young\",\"101010\",\"extreme\",\"hard\",\"password1\",\"vincent\",\"pussy1\",\"lacrosse\",\"hotmail\",\"spooky\",\"amateur\",\"alaska\",\"badger\",\"paradise\",\"maryjane\",\"poop\",\"crazy\",\"mozart\",\"video\",\"russell\",\"vagina\",\"spitfire\",\"anderson\",\"norman\",\"eric\",\"cherokee\",\"cougar\",\"barbara\",\"long\",\"420420\",\"family\",\"horse\",\"enigma\",\"allison\",\"raider\",\"brazil\",\"blonde\",\"jones\",\"55555\",\"dude\",\"drowssap\",\"jeff\",\"school\",\"marshall\",\"lovely\",\"1qaz2wsx\",\"jeffrey\",\"caroline\",\"franklin\",\"booty\",\"molly\",\"snickers\",\"leslie\",\"nipples\",\"courtney\",\"diesel\",\"rocks\",\"eminem\",\"westside\",\"suzuki\",\"daddy\",\"passion\",\"hummer\",\"ladies\",\"zachary\",\"frankie\",\"elvis\",\"reggie\",\"alpha\",\"suckme\",\"simpson\",\"patricia\",\"147147\",\"pirate\",\"tommy\",\"semperfi\",\"jupiter\",\"redrum\",\"freeuser\",\"wanker\",\"stinky\",\"ducati\",\"paris\",\"natalie\",\"babygirl\",\"bishop\",\"windows\",\"spirit\",\"pantera\",\"monday\",\"patches\",\"brutus\",\"houston\",\"smooth\",\"penguin\",\"marley\",\"forest\",\"cream\",\"212121\",\"flash\",\"maximus\",\"nipple\",\"bobby\",\"bradley\",\"vision\",\"pokemon\",\"champion\",\"fireman\",\"indian\",\"softball\",\"picard\",\"system\",\"clinton\",\"cobra\",\"enjoy\",\"lucky1\",\"claire\",\"claudia\",\"boogie\",\"timothy\",\"marines\",\"security\",\"dirty\",\"admin\",\"wildcats\",\"pimp\",\"dancer\",\"hardon\",\"veronica\",\"fucked\",\"abcd1234\",\"abcdefg\",\"ironman\",\"wolverin\",\"remember\",\"great\",\"freepass\",\"bigred\",\"squirt\",\"justice\",\"francis\",\"hobbes\",\"kermit\",\"pearljam\",\"mercury\",\"domino\",\"9999\",\"denver\",\"brooke\",\"rascal\",\"hitman\",\"mistress\",\"simon\",\"tony\",\"bbbbbb\",\"friend\",\"peekaboo\",\"naked\",\"budlight\",\"electric\",\"sluts\",\"stargate\",\"saints\",\"bondage\",\"brittany\",\"bigman\",\"zombie\",\"swimming\",\"duke\",\"qwerty1\",\"babes\",\"scotland\",\"disney\",\"rooster\",\"brenda\",\"mookie\",\"swordfis\",\"candy\",\"duncan\",\"olivia\",\"hunting\",\"blink182\",\"alicia\",\"8888\",\"samsung\",\"bubba1\",\"whore\",\"virginia\",\"general\",\"passport\",\"aaaaaaaa\",\"erotic\",\"liberty\",\"arizona\",\"jesus\",\"abcd\",\"newport\",\"skipper\",\"rolltide\",\"balls\",\"happy1\",\"galore\",\"christ\",\"weasel\",\"242424\",\"wombat\",\"digger\",\"classic\",\"bulldogs\",\"poopoo\",\"accord\",\"popcorn\",\"turkey\",\"jenny\",\"amber\",\"bunny\",\"mouse\",\"007007\",\"titanic\",\"liverpool\",\"dreamer\",\"everton\",\"friends\",\"chevelle\",\"carrie\",\"gabriel\",\"psycho\",\"nemesis\",\"burton\",\"pontiac\",\"connor\",\"eatme\",\"lickme\",\"roland\",\"cumming\",\"mitchell\",\"ireland\",\"lincoln\",\"arnold\",\"spiderma\",\"patriots\",\"goblue\",\"devils\",\"eugene\",\"empire\",\"asdfg\",\"cardinal\",\"brown\",\"shaggy\",\"froggy\",\"qwer\",\"kawasaki\",\"kodiak\",\"people\",\"phpbb\",\"light\",\"54321\",\"kramer\",\"chopper\",\"hooker\",\"honey\",\"whynot\",\"lesbian\",\"lisa\",\"baxter\",\"adam\",\"snake\",\"teen\",\"ncc1701d\",\"qqqqqq\",\"airplane\",\"britney\",\"avalon\",\"sandy\",\"sugar\",\"sublime\",\"stewart\",\"wildcat\",\"raven\",\"scarface\",\"elizabet\",\"123654\",\"trucks\",\"wolfpack\",\"pervert\",\"lawrence\",\"raymond\",\"redhead\",\"american\",\"alyssa\",\"bambam\",\"movie\",\"woody\",\"shaved\",\"snowman\",\"tiger1\",\"chicks\",\"raptor\",\"1969\",\"stingray\",\"shooter\",\"france\",\"stars\",\"madmax\",\"kristen\",\"sports\",\"jerry\",\"789456\",\"garcia\",\"simpsons\",\"lights\",\"ryan\",\"looking\",\"chronic\",\"alison\",\"hahaha\",\"packard\",\"hendrix\",\"perfect\",\"service\",\"spring\",\"srinivas\",\"spike\",\"katie\",\"252525\",\"oscar\",\"brother\",\"bigmac\",\"suck\",\"single\",\"cannon\",\"georgia\",\"popeye\",\"tattoo\",\"texas\",\"party\",\"bullet\",\"taurus\",\"sailor\",\"wolves\",\"panthers\",\"japan\",\"strike\",\"flowers\",\"pussycat\",\"chris1\",\"loverboy\",\"berlin\",\"sticky\",\"marina\",\"tarheels\",\"fisher\",\"russia\",\"connie\",\"wolfgang\",\"testtest\",\"mature\",\"bass\",\"catch22\",\"juice\",\"michael1\",\"nigger\",\"159753\",\"women\",\"alpha1\",\"trooper\",\"hawkeye\",\"head\",\"freaky\",\"dodgers\",\"pakistan\",\"machine\",\"pyramid\",\"vegeta\",\"katana\",\"moose\",\"tinker\",\"coyote\",\"infinity\",\"inside\",\"pepsi\",\"letmein1\",\"bang\",\"control\",\"hercules\",\"morris\",\"james1\",\"tickle\",\"outlaw\",\"browns\",\"billybob\",\"pickle\",\"test1\",\"michele\",\"antonio\",\"sucks\",\"pavilion\",\"changeme\",\"caesar\",\"prelude\",\"tanner\",\"adrian\",\"darkside\",\"bowling\",\"wutang\",\"sunset\",\"robbie\",\"alabama\",\"danger\",\"zeppelin\",\"juan\",\"rusty\",\"pppppp\",\"nick\",\"2001\",\"ping\",\"darkstar\",\"madonna\",\"qwe123\",\"bigone\",\"casino\",\"cheryl\",\"charlie1\",\"mmmmmm\",\"integra\",\"wrangler\",\"apache\",\"tweety\",\"qwerty12\",\"bobafett\",\"simone\",\"none\",\"business\",\"sterling\",\"trevor\",\"transam\",\"dustin\",\"harvey\",\"england\",\"2323\",\"seattle\",\"ssssss\",\"rose\",\"harry\",\"openup\",\"pandora\",\"pussys\",\"trucker\",\"wallace\",\"indigo\",\"storm\",\"malibu\",\"weed\",\"review\",\"babydoll\",\"doggy\",\"dilbert\",\"pegasus\",\"joker\",\"catfish\",\"flipper\",\"valerie\",\"herman\",\"fuckit\",\"detroit\",\"kenneth\",\"cheyenne\",\"bruins\",\"stacey\",\"smoke\",\"joey\",\"seven\",\"marino\",\"fetish\",\"xfiles\",\"wonder\",\"stinger\",\"pizza\",\"babe\",\"pretty\",\"stealth\",\"manutd\",\"gracie\",\"gundam\",\"cessna\",\"longhorn\",\"presario\",\"mnbvcxz\",\"wicked\",\"mustang1\",\"victory\",\"21122112\",\"shelly\",\"awesome\",\"athena\",\"q1w2e3r4\",\"help\",\"holiday\",\"knicks\",\"street\",\"redneck\",\"12341234\",\"casey\",\"gizmo\",\"scully\",\"dragon1\",\"devildog\",\"triumph\",\"eddie\",\"bluebird\",\"shotgun\",\"peewee\",\"ronnie\",\"angel1\",\"daisy\",\"special\",\"metallica\",\"madman\",\"country\",\"impala\",\"lennon\",\"roscoe\",\"omega\",\"access14\",\"enterpri\",\"miranda\",\"search\",\"smitty\",\"blizzard\",\"unicorn\",\"tight\",\"rick\",\"ronald\",\"asdf1234\",\"harrison\",\"trigger\",\"truck\",\"danny\",\"home\",\"winnie\",\"beauty\",\"thailand\",\"1234567890\",\"cadillac\",\"castle\",\"tyler\",\"bobcat\",\"buddy1\",\"sunny\",\"stones\",\"asian\",\"freddie\",\"chuck\",\"butt\",\"loveyou\",\"norton\",\"hellfire\",\"hotsex\",\"indiana\",\"short\",\"panzer\",\"lonewolf\",\"trumpet\",\"colors\",\"blaster\",\"12121212\",\"fireball\",\"logan\",\"precious\",\"aaron\",\"elaine\",\"jungle\",\"atlanta\",\"gold\",\"corona\",\"curtis\",\"nikki\",\"polaris\",\"timber\",\"theone\",\"baller\",\"chipper\",\"orlando\",\"island\",\"skyline\",\"dragons\",\"dogs\",\"benson\",\"licker\",\"goldie\",\"engineer\",\"kong\",\"pencil\",\"basketba\",\"open\",\"hornet\",\"world\",\"linda\",\"barbie\",\"chan\",\"farmer\",\"valentin\",\"wetpussy\",\"indians\",\"larry\",\"redman\",\"foobar\",\"travel\",\"morpheus\",\"bernie\",\"target\",\"141414\",\"hotstuff\",\"photos\",\"laura\",\"savage\",\"holly\",\"rocky1\",\"fuck_inside\",\"dollar\",\"turbo\",\"design\",\"newton\",\"hottie\",\"moon\",\"202020\",\"blondes\",\"4128\",\"lestat\",\"avatar\",\"future\",\"goforit\",\"random\",\"abgrtyu\",\"jjjjjj\",\"cancer\",\"q1w2e3\",\"smiley\",\"goldberg\",\"express\",\"virgin\",\"zipper\",\"wrinkle1\",\"stone\",\"andy\",\"babylon\",\"dong\",\"powers\",\"consumer\",\"dudley\",\"monkey1\",\"serenity\",\"samurai\",\"99999999\",\"bigboobs\",\"skeeter\",\"lindsay\",\"joejoe\",\"master1\",\"aaaaa\",\"chocolat\",\"christia\",\"birthday\",\"stephani\",\"tang\",\"1234qwer\",\"alfred\",\"ball\",\"98765432\",\"maria\",\"sexual\",\"maxima\",\"77777777\",\"sampson\",\"buckeye\",\"highland\",\"kristin\",\"seminole\",\"reaper\",\"bassman\",\"nugget\",\"lucifer\",\"airforce\",\"nasty\",\"watson\",\"warlock\",\"2121\",\"philip\",\"always\",\"dodge\",\"chrissy\",\"burger\",\"bird\",\"snatch\",\"missy\",\"pink\",\"gang\",\"maddie\",\"holmes\",\"huskers\",\"piglet\",\"photo\",\"joanne\",\"hamilton\",\"dodger\",\"paladin\",\"christy\",\"chubby\",\"buckeyes\",\"hamlet\",\"abcdefgh\",\"bigfoot\",\"sunday\",\"manson\",\"goldfish\",\"garden\",\"deftones\",\"icecream\",\"blondie\",\"spartan\",\"julie\",\"harold\",\"charger\",\"brandi\",\"stormy\",\"sherry\",\"pleasure\",\"juventus\",\"rodney\",\"galaxy\",\"holland\",\"escort\",\"zxcvb\",\"planet\",\"jerome\",\"wesley\",\"blues\",\"song\",\"peace\",\"david1\",\"ncc1701e\",\"1966\",\"51505150\",\"cavalier\",\"gambit\",\"karen\",\"sidney\",\"ripper\",\"oicu812\",\"jamie\",\"sister\",\"marie\",\"martha\",\"nylons\",\"aardvark\",\"nadine\",\"minnie\",\"whiskey\",\"bing\",\"plastic\",\"anal\",\"babylon5\",\"chang\",\"savannah\",\"loser\",\"racecar\",\"insane\",\"yankees1\",\"mememe\",\"hansolo\",\"chiefs\",\"fredfred\",\"freak\",\"frog\",\"salmon\",\"concrete\",\"yvonne\",\"zxcv\",\"shamrock\",\"atlantis\",\"warren\",\"wordpass\",\"julian\",\"mariah\",\"rommel\",\"1010\",\"harris\",\"predator\",\"sylvia\",\"massive\",\"cats\",\"sammy1\",\"mister\",\"stud\",\"marathon\",\"rubber\",\"ding\",\"trunks\",\"desire\",\"montreal\",\"justme\",\"faster\",\"kathleen\",\"irish\",\"1999\",\"bertha\",\"jessica1\",\"alpine\",\"sammie\",\"diamonds\",\"tristan\",\"00000\",\"swinger\",\"shan\",\"stallion\",\"pitbull\",\"letmein2\",\"roberto\",\"ready\",\"april\",\"palmer\",\"ming\",\"shadow1\",\"audrey\",\"chong\",\"clitoris\",\"wang\",\"shirley\",\"fuckers\",\"jackoff\",\"bluesky\",\"sundance\",\"renegade\",\"hollywoo\",\"151515\",\"bernard\",\"wolfman\",\"soldier\",\"picture\",\"pierre\",\"ling\",\"goddess\",\"manager\",\"nikita\",\"sweety\",\"titans\",\"hang\",\"fang\",\"ficken\",\"niners\",\"bottom\",\"bubble\",\"hello123\",\"ibanez\",\"webster\",\"sweetpea\",\"stocking\",\"323232\",\"tornado\",\"lindsey\",\"content\",\"bruce\",\"buck\",\"aragorn\",\"griffin\",\"chen\",\"campbell\",\"trojan\",\"christop\",\"newman\",\"wayne\",\"tina\",\"rockstar\",\"father\",\"geronimo\",\"pascal\",\"crimson\",\"brooks\",\"hector\",\"penny\",\"anna\",\"google\",\"camera\",\"chandler\",\"fatcat\",\"lovelove\",\"cody\",\"cunts\",\"waters\",\"stimpy\",\"finger\",\"cindy\",\"wheels\",\"viper1\",\"latin\",\"robin\",\"greenday\",\"987654321\",\"creampie\",\"brendan\",\"hiphop\",\"willy\",\"snapper\",\"funtime\",\"duck\",\"trombone\",\"adult\",\"cotton\",\"cookies\",\"kaiser\",\"mulder\",\"westham\",\"latino\",\"jeep\",\"ravens\",\"aurora\",\"drizzt\",\"madness\",\"energy\",\"kinky\",\"314159\",\"sophia\",\"stefan\",\"slick\",\"rocker\",\"55555555\",\"freeman\",\"french\",\"mongoose\",\"speed\",\"dddddd\",\"hong\",\"henry\",\"hungry\",\"yang\",\"catdog\",\"cheng\",\"ghost\",\"gogogo\",\"randy\",\"tottenha\",\"curious\",\"butterfl\",\"mission\",\"january\",\"singer\",\"sherman\",\"shark\",\"techno\",\"lancer\",\"lalala\",\"autumn\",\"chichi\",\"orion\",\"trixie\",\"clifford\",\"delta\",\"bobbob\",\"bomber\",\"holden\",\"kang\",\"kiss\",\"1968\",\"spunky\",\"liquid\",\"mary\",\"beagle\",\"granny\",\"network\",\"bond\",\"kkkkkk\",\"millie\",\"1973\",\"biggie\",\"beetle\",\"teacher\",\"susan\",\"toronto\",\"anakin\",\"genius\",\"dream\",\"cocks\",\"dang\",\"bush\",\"karate\",\"snakes\",\"bangkok\",\"callie\",\"fuckyou2\",\"pacific\",\"daytona\",\"kelsey\",\"infantry\",\"skywalke\",\"foster\",\"felix\",\"sailing\",\"raistlin\",\"vanhalen\",\"huang\",\"herbert\",\"jacob\",\"blackie\",\"tarzan\",\"strider\",\"sherlock\",\"lang\",\"gong\",\"sang\",\"dietcoke\",\"ultimate\",\"tree\",\"shai\",\"sprite\",\"ting\",\"artist\",\"chai\",\"chao\",\"devil\",\"python\",\"ninja\",\"misty\",\"ytrewq\",\"sweetie\",\"superfly\",\"456789\",\"tian\",\"jing\",\"jesus1\",\"freedom1\",\"dian\",\"drpepper\",\"potter\",\"chou\",\"darren\",\"hobbit\",\"violet\",\"yong\",\"shen\",\"phillip\",\"maurice\",\"gloria\",\"nolimit\",\"mylove\",\"biscuit\",\"yahoo\",\"shasta\",\"sex4me\",\"smoker\",\"smile\",\"pebbles\",\"pics\",\"philly\",\"tong\",\"tintin\",\"lesbians\",\"marlin\",\"cactus\",\"frank1\",\"tttttt\",\"chun\",\"danni\",\"emerald\",\"showme\",\"pirates\",\"lian\",\"dogg\",\"colleen\",\"xiao\",\"xian\",\"tazman\",\"tanker\",\"patton\",\"toshiba\",\"richie\",\"alberto\",\"gotcha\",\"graham\",\"dillon\",\"rang\",\"emily\",\"keng\",\"jazz\",\"bigguy\",\"yuan\",\"woman\",\"tomtom\",\"marion\",\"greg\",\"chaos\",\"fossil\",\"flight\",\"racerx\",\"tuan\",\"creamy\",\"boss\",\"bobo\",\"musicman\",\"warcraft\",\"window\",\"blade\",\"shuang\",\"sheila\",\"shun\",\"lick\",\"jian\",\"microsoft\",\"rong\",\"allen\",\"feng\",\"getsome\",\"sally\",\"quality\",\"kennedy\",\"morrison\",\"1977\",\"beng\",\"wwwwww\",\"yoyoyo\",\"zhang\",\"seng\",\"teddy\",\"joanna\",\"andreas\",\"harder\",\"luke\",\"qazxsw\",\"qian\",\"cong\",\"chuan\",\"deng\",\"nang\",\"boeing\",\"keeper\",\"western\",\"isabelle\",\"1963\",\"subaru\",\"sheng\",\"thuglife\",\"teng\",\"jiong\",\"miao\",\"martina\",\"mang\",\"maniac\",\"pussie\",\"tracey\",\"a1b2c3\",\"clayton\",\"zhou\",\"zhuang\",\"xing\",\"stonecol\",\"snow\",\"spyder\",\"liang\",\"jiang\",\"memphis\",\"regina\",\"ceng\",\"magic1\",\"logitech\",\"chuang\",\"dark\",\"million\",\"blow\",\"sesame\",\"shao\",\"poison\",\"titty\",\"terry\",\"kuan\",\"kuai\",\"kyle\",\"mian\",\"guan\",\"hamster\",\"guai\",\"ferret\",\"florence\",\"geng\",\"duan\",\"pang\",\"maiden\",\"quan\",\"velvet\",\"nong\",\"neng\",\"nookie\",\"buttons\",\"bian\",\"bingo\",\"biao\",\"zhong\",\"zeng\",\"xiong\",\"zhun\",\"ying\",\"zong\",\"xuan\",\"zang\",\"0.0.000\",\"suan\",\"shei\",\"shui\",\"sharks\",\"shang\",\"shua\",\"small\",\"peng\",\"pian\",\"piao\",\"liao\",\"meng\",\"miami\",\"reng\",\"guang\",\"cang\",\"change\",\"ruan\",\"diao\",\"luan\",\"lucas\",\"qing\",\"chui\",\"chuo\",\"cuan\",\"nuan\",\"ning\",\"heng\",\"huan\",\"kansas\",\"muscle\",\"monroe\",\"weng\",\"whitney\",\"1passwor\",\"bluemoon\",\"zhui\",\"zhua\",\"xiang\",\"zheng\",\"zhen\",\"zhei\",\"zhao\",\"zhan\",\"yomama\",\"zhai\",\"zhuo\",\"zuan\",\"tarheel\",\"shou\",\"shuo\",\"tiao\",\"lady\",\"leonard\",\"leng\",\"kuang\",\"jiao\",\"13579\",\"basket\",\"qiao\",\"qiong\",\"qiang\",\"chuai\",\"nian\",\"niao\",\"niang\",\"huai\",\"22222222\",\"bianca\",\"zhuan\",\"zhuai\",\"shuan\",\"shuai\",\"stardust\",\"jumper\",\"margaret\",\"archie\",\"66666666\",\"charlott\",\"forget\",\"qwertz\",\"bones\",\"history\",\"milton\",\"waterloo\",\"2002\",\"stuff\",\"11223344\",\"office\",\"oldman\",\"preston\",\"trains\",\"murray\",\"vertigo\",\"246810\",\"black1\",\"swallow\",\"smiles\",\"standard\",\"alexandr\",\"parrot\",\"luther\",\"user\",\"nicolas\",\"1976\",\"surfing\",\"pioneer\",\"pete\",\"masters\",\"apple1\",\"asdasd\",\"auburn\",\"hannibal\",\"frontier\",\"panama\",\"lucy\",\"buffy\",\"brianna\",\"welcome1\",\"vette\",\"blue22\",\"shemale\",\"111222\",\"baggins\",\"groovy\",\"global\",\"turner\",\"181818\",\"1979\",\"blades\",\"spanking\",\"life\",\"byteme\",\"lobster\",\"collins\",\"dawg\",\"hilton\",\"japanese\",\"1970\",\"1964\",\"2424\",\"polo\",\"markus\",\"coco\",\"deedee\",\"mikey\",\"1972\",\"171717\",\"1701\",\"strip\",\"jersey\",\"green1\",\"capital\",\"sasha\",\"sadie\",\"putter\",\"vader\",\"seven7\",\"lester\",\"marcel\",\"banshee\",\"grendel\",\"gilbert\",\"dicks\",\"dead\",\"hidden\",\"iloveu\",\"1980\",\"sound\",\"ledzep\",\"michel\",\"147258\",\"female\",\"bugger\",\"buffett\",\"bryan\",\"hell\",\"kristina\",\"molson\",\"2020\",\"wookie\",\"sprint\",\"thanks\",\"jericho\",\"102030\",\"grace\",\"fuckin\",\"mandy\",\"ranger1\",\"trebor\",\"deepthroat\",\"bonehead\",\"molly1\",\"mirage\",\"models\",\"1984\",\"2468\",\"stuart\",\"showtime\",\"squirrel\",\"pentium\",\"mario\",\"anime\",\"gator\",\"powder\",\"twister\",\"connect\",\"neptune\",\"bruno\",\"butts\",\"engine\",\"eatshit\",\"mustangs\",\"woody1\",\"shogun\",\"septembe\",\"pooh\",\"jimbo\",\"roger\",\"annie\",\"bacon\",\"center\",\"russian\",\"sabine\",\"damien\",\"mollie\",\"voyeur\",\"2525\",\"363636\",\"leonardo\",\"camel\",\"chair\",\"germany\",\"giant\",\"qqqq\",\"nudist\",\"bone\",\"sleepy\",\"tequila\",\"megan\",\"fighter\",\"garrett\",\"dominic\",\"obiwan\",\"makaveli\",\"vacation\",\"walnut\",\"1974\",\"ladybug\",\"cantona\",\"ccbill\",\"satan\",\"rusty1\",\"passwor1\",\"columbia\",\"napoleon\",\"dusty\",\"kissme\",\"motorola\",\"william1\",\"1967\",\"zzzz\",\"skater\",\"smut\",\"play\",\"matthew1\",\"robinson\",\"valley\",\"coolio\",\"dagger\",\"boner\",\"bull\",\"horndog\",\"jason1\",\"blake\",\"penguins\",\"rescue\",\"griffey\",\"8j4ye3uz\",\"californ\",\"champs\",\"qwertyuiop\",\"portland\",\"queen\",\"colt45\",\"boat\",\"xxxxxxx\",\"xanadu\",\"tacoma\",\"mason\",\"carpet\",\"gggggg\",\"safety\",\"palace\",\"italia\",\"stevie\",\"picturs\",\"picasso\",\"thongs\",\"tempest\",\"ricardo\",\"roberts\",\"asd123\",\"hairy\",\"foxtrot\",\"gary\",\"nimrod\",\"hotboy\",\"343434\",\"1111111\",\"asdfghjkl\",\"goose\",\"overlord\",\"blood\",\"wood\",\"stranger\",\"454545\",\"shaolin\",\"sooners\",\"socrates\",\"spiderman\",\"peanuts\",\"maxine\",\"rogers\",\"13131313\",\"andrew1\",\"filthy\",\"donnie\",\"ohyeah\",\"africa\",\"national\",\"kenny\",\"keith\",\"monique\",\"intrepid\",\"jasmin\",\"pickles\",\"assass\",\"fright\",\"potato\",\"darwin\",\"hhhhhh\",\"kingdom\",\"weezer\",\"424242\",\"pepsi1\",\"throat\",\"romeo\",\"gerard\",\"looker\",\"puppy\",\"butch\",\"monika\",\"suzanne\",\"sweets\",\"temple\",\"laurie\",\"josh\",\"megadeth\",\"analsex\",\"nymets\",\"ddddddd\",\"bigballs\",\"support\",\"stick\",\"today\",\"down\",\"oakland\",\"oooooo\",\"qweasd\",\"chucky\",\"bridge\",\"carrot\",\"chargers\",\"discover\",\"dookie\",\"condor\",\"night\",\"butler\",\"hoover\",\"horny1\",\"isabella\",\"sunrise\",\"sinner\",\"jojo\",\"megapass\",\"martini\",\"assfuck\",\"grateful\",\"ffffff\",\"abigail\",\"esther\",\"mushroom\",\"janice\",\"jamaica\",\"wright\",\"sims\",\"space\",\"there\",\"timmy\",\"7654321\",\"77777\",\"cccccc\",\"gizmodo\",\"roxanne\",\"ralph\",\"tractor\",\"cristina\",\"dance\",\"mypass\",\"hongkong\",\"helena\",\"1975\",\"blue123\",\"pissing\",\"thomas1\",\"redred\",\"rich\",\"basketball\",\"attack\",\"cash\",\"satan666\",\"drunk\",\"dixie\",\"dublin\",\"bollox\",\"kingkong\",\"katrina\",\"miles\",\"1971\",\"22222\",\"272727\",\"sexx\",\"penelope\",\"thompson\",\"anything\",\"bbbb\",\"battle\",\"grizzly\",\"passat\",\"porter\",\"tracy\",\"defiant\",\"bowler\",\"knickers\",\"monitor\",\"wisdom\",\"wild\",\"slappy\",\"thor\",\"letsgo\",\"robert1\",\"feet\",\"rush\",\"brownie\",\"hudson\",\"098765\",\"playing\",\"playtime\",\"lightnin\",\"melvin\",\"atomic\",\"bart\",\"hawk\",\"goku\",\"glory\",\"llllll\",\"qwaszx\",\"cosmos\",\"bosco\",\"knights\",\"bentley\",\"beast\",\"slapshot\",\"lewis\",\"assword\",\"frosty\",\"gillian\",\"sara\",\"dumbass\",\"mallard\",\"dddd\",\"deanna\",\"elwood\",\"wally\",\"159357\",\"titleist\",\"angelo\",\"aussie\",\"guest\",\"golfing\",\"doobie\",\"loveit\",\"chloe\",\"elliott\",\"werewolf\",\"vipers\",\"janine\",\"1965\",\"blabla\",\"surf\",\"sucking\",\"tardis\",\"serena\",\"shelley\",\"thegame\",\"legion\",\"rebels\",\"fernando\",\"fast\",\"gerald\",\"sarah1\",\"double\",\"onelove\",\"loulou\",\"toto\",\"crash\",\"blackcat\",\"0007\",\"tacobell\",\"soccer1\",\"jedi\",\"manuel\",\"method\",\"river\",\"chase\",\"ludwig\",\"poopie\",\"derrick\",\"boob\",\"breast\",\"kittycat\",\"isabel\",\"belly\",\"pikachu\",\"thunder1\",\"thankyou\",\"jose\",\"celeste\",\"celtics\",\"frances\",\"frogger\",\"scoobydo\",\"sabbath\",\"coltrane\",\"budman\",\"willis\",\"jackal\",\"bigger\",\"zzzzz\",\"silvia\",\"sooner\",\"licking\",\"gopher\",\"geheim\",\"lonestar\",\"primus\",\"pooper\",\"newpass\",\"brasil\",\"heather1\",\"husker\",\"element\",\"moomoo\",\"beefcake\",\"zzzzzzzz\",\"tammy\",\"shitty\",\"smokin\",\"personal\",\"jjjj\",\"anthony1\",\"anubis\",\"backup\",\"gorilla\",\"fuckface\",\"painter\",\"lowrider\",\"punkrock\",\"traffic\",\"claude\",\"daniela\",\"dale\",\"delta1\",\"nancy\",\"boys\",\"easy\",\"kissing\",\"kelley\",\"wendy\",\"theresa\",\"amazon\",\"alan\",\"fatass\",\"dodgeram\",\"dingdong\",\"malcolm\",\"qqqqqqqq\",\"breasts\",\"boots\",\"honda1\",\"spidey\",\"poker\",\"temp\",\"johnjohn\",\"miguel\",\"147852\",\"archer\",\"asshole1\",\"dogdog\",\"tricky\",\"crusader\",\"weather\",\"syracuse\",\"spankme\",\"speaker\",\"meridian\",\"amadeus\",\"back\",\"harley1\",\"falcons\",\"dorothy\",\"turkey50\",\"kenwood\",\"keyboard\",\"ilovesex\",\"1978\",\"blackman\",\"shazam\",\"shalom\",\"lickit\",\"jimbob\",\"richmond\",\"roller\",\"carson\",\"check\",\"fatman\",\"funny\",\"garbage\",\"sandiego\",\"loving\",\"magnus\",\"cooldude\",\"clover\",\"mobile\",\"bell\",\"payton\",\"plumber\",\"texas1\",\"tool\",\"topper\",\"jenna\",\"mariners\",\"rebel\",\"harmony\",\"caliente\",\"celica\",\"fletcher\",\"german\",\"diana\",\"oxford\",\"osiris\",\"orgasm\",\"punkin\",\"porsche9\",\"tuesday\",\"close\",\"breeze\",\"bossman\",\"kangaroo\",\"billie\",\"latinas\",\"judith\",\"astros\",\"scruffy\",\"donna\",\"qwertyu\",\"davis\",\"hearts\",\"kathy\",\"jammer\",\"java\",\"springer\",\"rhonda\",\"ricky\",\"1122\",\"goodtime\",\"chelsea1\",\"freckles\",\"flyboy\",\"doodle\",\"city\",\"nebraska\",\"bootie\",\"kicker\",\"webmaster\",\"vulcan\",\"iverson\",\"191919\",\"blueeyes\",\"stoner\",\"321321\",\"farside\",\"rugby\",\"director\",\"pussy69\",\"power1\",\"bobbie\",\"hershey\",\"hermes\",\"monopoly\",\"west\",\"birdman\",\"blessed\",\"blackjac\",\"southern\",\"peterpan\",\"thumbs\",\"lawyer\",\"melinda\",\"fingers\",\"fuckyou1\",\"rrrrrr\",\"a1b2c3d4\",\"coke\",\"nicola\",\"bohica\",\"heart\",\"elvis1\",\"kids\",\"blacky\",\"stories\",\"sentinel\",\"snake1\",\"phoebe\",\"jesse\",\"richard1\",\"1234abcd\",\"guardian\",\"candyman\",\"fisting\",\"scarlet\",\"dildo\",\"pancho\",\"mandingo\",\"lucky7\",\"condom\",\"munchkin\",\"billyboy\",\"summer1\",\"student\",\"sword\",\"skiing\",\"sergio\",\"site\",\"sony\",\"thong\",\"rootbeer\",\"assassin\",\"cassidy\",\"frederic\",\"fffff\",\"fitness\",\"giovanni\",\"scarlett\",\"durango\",\"postal\",\"achilles\",\"dawn\",\"dylan\",\"kisses\",\"warriors\",\"imagine\",\"plymouth\",\"topdog\",\"asterix\",\"hallo\",\"cameltoe\",\"fuckfuck\",\"bridget\",\"eeeeee\",\"mouth\",\"weird\",\"will\",\"sithlord\",\"sommer\",\"toby\",\"theking\",\"juliet\",\"avenger\",\"backdoor\",\"goodbye\",\"chevrole\",\"faith\",\"lorraine\",\"trance\",\"cosworth\",\"brad\",\"houses\",\"homers\",\"eternity\",\"kingpin\",\"verbatim\",\"incubus\",\"1961\",\"blond\",\"zaphod\",\"shiloh\",\"spurs\",\"station\",\"jennie\",\"maynard\",\"mighty\",\"aliens\",\"hank\",\"charly\",\"running\",\"dogman\",\"omega1\",\"printer\",\"aggies\",\"chocolate\",\"deadhead\",\"hope\",\"javier\",\"bitch1\",\"stone55\",\"pineappl\",\"thekid\",\"lizzie\",\"rockets\",\"ashton\",\"camels\",\"formula\",\"forrest\",\"rosemary\",\"oracle\",\"rain\",\"pussey\",\"porkchop\",\"abcde\",\"clancy\",\"nellie\",\"mystic\",\"inferno\",\"blackdog\",\"steve1\",\"pauline\",\"alexander\",\"alice\",\"alfa\",\"grumpy\",\"flames\",\"scream\",\"lonely\",\"puffy\",\"proxy\",\"valhalla\",\"unreal\",\"cynthia\",\"herbie\",\"engage\",\"yyyyyy\",\"010101\",\"solomon\",\"pistol\",\"melody\",\"celeb\",\"flying\",\"gggg\",\"santiago\",\"scottie\",\"oakley\",\"portugal\",\"a12345\",\"newbie\",\"mmmm\",\"venus\",\"1qazxsw2\",\"beverly\",\"zorro\",\"work\",\"writer\",\"stripper\",\"sebastia\",\"spread\",\"phil\",\"tobias\",\"links\",\"members\",\"metal\",\"1221\",\"andre\",\"565656\",\"funfun\",\"trojans\",\"again\",\"cyber\",\"hurrican\",\"moneys\",\"1x2zkg8w\",\"zeus\",\"thing\",\"tomato\",\"lion\",\"atlantic\",\"celine\",\"usa123\",\"trans\",\"account\",\"aaaaaaa\",\"homerun\",\"hyperion\",\"kevin1\",\"blacks\",\"44444444\",\"skittles\",\"sean\",\"hastings\",\"fart\",\"gangbang\",\"fubar\",\"sailboat\",\"older\",\"oilers\",\"craig\",\"conrad\",\"church\",\"damian\",\"dean\",\"broken\",\"buster1\",\"hithere\",\"immortal\",\"sticks\",\"pilot\",\"peters\",\"lexmark\",\"jerkoff\",\"maryland\",\"anders\",\"cheers\",\"possum\",\"columbus\",\"cutter\",\"muppet\",\"beautiful\",\"stolen\",\"swordfish\",\"sport\",\"sonic\",\"peter1\",\"jethro\",\"rockon\",\"asdfghj\",\"pass123\",\"paper\",\"pornos\",\"ncc1701a\",\"bootys\",\"buttman\",\"bonjour\",\"escape\",\"1960\",\"becky\",\"bears\",\"362436\",\"spartans\",\"tinman\",\"threesom\",\"lemons\",\"maxmax\",\"1414\",\"bbbbb\",\"camelot\",\"chad\",\"chewie\",\"gogo\",\"fusion\",\"saint\",\"dilligaf\",\"nopass\",\"myself\",\"hustler\",\"hunter1\",\"whitey\",\"beast1\",\"yesyes\",\"spank\",\"smudge\",\"pinkfloy\",\"patriot\",\"lespaul\",\"annette\",\"hammers\",\"catalina\",\"finish\",\"formula1\",\"sausage\",\"scooter1\",\"orioles\",\"oscar1\",\"over\",\"colombia\",\"cramps\",\"natural\",\"eating\",\"exotic\",\"iguana\",\"bella\",\"suckers\",\"strong\",\"sheena\",\"start\",\"slave\",\"pearl\",\"topcat\",\"lancelot\",\"angelica\",\"magelan\",\"racer\",\"ramona\",\"crunch\",\"british\",\"button\",\"eileen\",\"steph\",\"456123\",\"skinny\",\"seeking\",\"rockhard\",\"chief\",\"filter\",\"first\",\"freaks\",\"sakura\",\"pacman\",\"poontang\",\"dalton\",\"newlife\",\"homer1\",\"klingon\",\"watcher\",\"walleye\",\"tasha\",\"tasty\",\"sinatra\",\"starship\",\"steel\",\"starbuck\",\"poncho\",\"amber1\",\"gonzo\",\"grover\",\"catherin\",\"carol\",\"candle\",\"firefly\",\"goblin\",\"scotch\",\"diver\",\"usmc\",\"huskies\",\"eleven\",\"kentucky\",\"kitkat\",\"israel\",\"beckham\",\"bicycle\",\"yourmom\",\"studio\",\"tara\",\"33333333\",\"shane\",\"splash\",\"jimmy1\",\"reality\",\"12344321\",\"caitlin\",\"focus\",\"sapphire\",\"mailman\",\"raiders1\",\"clark\",\"ddddd\",\"hopper\",\"excalibu\",\"more\",\"wilbur\",\"illini\",\"imperial\",\"phillips\",\"lansing\",\"maxx\",\"gothic\",\"golfball\",\"carlton\",\"camille\",\"facial\",\"front242\",\"macdaddy\",\"qwer1234\",\"vectra\",\"cowboys1\",\"crazy1\",\"dannyboy\",\"jane\",\"betty\",\"benny\",\"bennett\",\"leader\",\"martinez\",\"aquarius\",\"barkley\",\"hayden\",\"caught\",\"franky\",\"ffff\",\"floyd\",\"sassy\",\"pppp\",\"pppppppp\",\"prodigy\",\"clarence\",\"noodle\",\"eatpussy\",\"vortex\",\"wanking\",\"beatrice\",\"billy1\",\"siemens\",\"pedro\",\"phillies\",\"research\",\"groups\",\"carolyn\",\"chevy1\",\"cccc\",\"fritz\",\"gggggggg\",\"doughboy\",\"dracula\",\"nurses\",\"loco\",\"madrid\",\"lollipop\",\"trout\",\"utopia\",\"chrono\",\"cooler\",\"conner\",\"nevada\",\"wibble\",\"werner\",\"summit\",\"marco\",\"marilyn\",\"1225\",\"babies\",\"capone\",\"fugazi\",\"panda\",\"mama\",\"qazwsxed\",\"puppies\",\"triton\",\"9876\",\"command\",\"nnnnnn\",\"ernest\",\"momoney\",\"iforgot\",\"wolfie\",\"studly\",\"shawn\",\"renee\",\"alien\",\"hamburg\",\"81fukkc\",\"741852\",\"catman\",\"china\",\"forgot\",\"gagging\",\"scott1\",\"drew\",\"oregon\",\"qweqwe\",\"train\",\"crazybab\",\"daniel1\",\"cutlass\",\"brothers\",\"holes\",\"heidi\",\"mothers\",\"music1\",\"what\",\"walrus\",\"1957\",\"bigtime\",\"bike\",\"xtreme\",\"simba\",\"ssss\",\"rookie\",\"angie\",\"bathing\",\"fresh\",\"sanchez\",\"rotten\",\"maestro\",\"luis\",\"look\",\"turbo1\",\"99999\",\"butthole\",\"hhhh\",\"elijah\",\"monty\",\"bender\",\"yoda\",\"shania\",\"shock\",\"phish\",\"thecat\",\"rightnow\",\"reagan\",\"baddog\",\"asia\",\"greatone\",\"gateway1\",\"randall\",\"abstr\",\"napster\",\"brian1\",\"bogart\",\"high\",\"hitler\",\"emma\",\"kill\",\"weaver\",\"wildfire\",\"jackson1\",\"isaiah\",\"1981\",\"belinda\",\"beaner\",\"yoyo\",\"0.0.0.000\",\"super1\",\"select\",\"snuggles\",\"slutty\",\"some\",\"phoenix1\",\"technics\",\"toon\",\"raven1\",\"rayray\",\"123789\",\"1066\",\"albion\",\"greens\",\"fashion\",\"gesperrt\",\"santana\",\"paint\",\"powell\",\"credit\",\"darling\",\"mystery\",\"bowser\",\"bottle\",\"brucelee\",\"hehehe\",\"kelly1\",\"mojo\",\"1998\",\"bikini\",\"woofwoof\",\"yyyy\",\"strap\",\"sites\",\"spears\",\"theodore\",\"julius\",\"richards\",\"amelia\",\"central\",\"f**k\",\"nyjets\",\"punisher\",\"username\",\"vanilla\",\"twisted\",\"bryant\",\"brent\",\"bunghole\",\"here\",\"elizabeth\",\"erica\",\"kimber\",\"viagra\",\"veritas\",\"pony\",\"pool\",\"titts\",\"labtec\",\"lifetime\",\"jenny1\",\"masterbate\",\"mayhem\",\"redbull\",\"govols\",\"gremlin\",\"505050\",\"gmoney\",\"rupert\",\"rovers\",\"diamond1\",\"lorenzo\",\"trident\",\"abnormal\",\"davidson\",\"deskjet\",\"cuddles\",\"nice\",\"bristol\",\"karina\",\"milano\",\"vh5150\",\"jarhead\",\"1982\",\"bigbird\",\"bizkit\",\"sixers\",\"slider\",\"star69\",\"starfish\",\"penetration\",\"tommy1\",\"john316\",\"meghan\",\"michaela\",\"market\",\"grant\",\"caligula\",\"carl\",\"flicks\",\"films\",\"madden\",\"railroad\",\"cosmo\",\"cthulhu\",\"bradford\",\"br0d3r\",\"military\",\"bearbear\",\"swedish\",\"spawn\",\"patrick1\",\"polly\",\"these\",\"todd\",\"reds\",\"anarchy\",\"groove\",\"franco\",\"fuckher\",\"oooo\",\"tyrone\",\"vegas\",\"airbus\",\"cobra1\",\"christine\",\"clips\",\"delete\",\"duster\",\"kitty1\",\"mouse1\",\"monkeys\",\"jazzman\",\"1919\",\"262626\",\"swinging\",\"stroke\",\"stocks\",\"sting\",\"pippen\",\"labrador\",\"jordan1\",\"justdoit\",\"meatball\",\"females\",\"saturday\",\"park\",\"vector\",\"cooter\",\"defender\",\"desert\",\"demon\",\"nike\",\"bubbas\",\"bonkers\",\"english\",\"kahuna\",\"wildman\",\"4121\",\"sirius\",\"static\",\"piercing\",\"terror\",\"teenage\",\"leelee\",\"marissa\",\"microsof\",\"mechanic\",\"robotech\",\"rated\",\"hailey\",\"chaser\",\"sanders\",\"salsero\",\"nuts\",\"macross\",\"quantum\",\"rachael\",\"tsunami\",\"universe\",\"daddy1\",\"cruise\",\"nguyen\",\"newpass6\",\"nudes\",\"hellyeah\",\"vernon\",\"1959\",\"zaq12wsx\",\"striker\",\"sixty\",\"steele\",\"spice\",\"spectrum\",\"smegma\",\"thumb\",\"jjjjjjjj\",\"mellow\",\"astrid\",\"cancun\",\"cartoon\",\"sabres\",\"samiam\",\"pants\",\"oranges\",\"oklahoma\",\"lust\",\"coleman\",\"denali\",\"nude\",\"noodles\",\"buzz\",\"brest\",\"hooter\",\"mmmmmmmm\",\"warthog\",\"bloody\",\"blueblue\",\"zappa\",\"wolverine\",\"sniffing\",\"lance\",\"jean\",\"jjjjj\",\"harper\",\"calico\",\"freee\",\"rover\",\"door\",\"pooter\",\"closeup\",\"bonsai\",\"evelyn\",\"emily1\",\"kathryn\",\"keystone\",\"iiii\",\"1955\",\"yzerman\",\"theboss\",\"tolkien\",\"jill\",\"megaman\",\"rasta\",\"bbbbbbbb\",\"bean\",\"handsome\",\"hal9000\",\"goofy\",\"gringo\",\"gofish\",\"gizmo1\",\"samsam\",\"scuba\",\"onlyme\",\"tttttttt\",\"corrado\",\"clown\",\"clapton\",\"deborah\",\"boris\",\"bulls\",\"vivian\",\"jayhawk\",\"bethany\",\"wwww\",\"sharky\",\"seeker\",\"ssssssss\",\"somethin\",\"pillow\",\"thesims\",\"lighter\",\"lkjhgf\",\"melissa1\",\"marcius2\",\"barry\",\"guiness\",\"gymnast\",\"casey1\",\"goalie\",\"godsmack\",\"doug\",\"lolo\",\"rangers1\",\"poppy\",\"abby\",\"clemson\",\"clipper\",\"deeznuts\",\"nobody\",\"holly1\",\"elliot\",\"eeee\",\"kingston\",\"miriam\",\"belle\",\"yosemite\",\"sucked\",\"sex123\",\"sexy69\",\"pic\\\\'s\",\"tommyboy\",\"lamont\",\"meat\",\"masterbating\",\"marianne\",\"marc\",\"gretzky\",\"happyday\",\"frisco\",\"scratch\",\"orchid\",\"orange1\",\"manchest\",\"quincy\",\"unbelievable\",\"aberdeen\",\"dawson\",\"nathalie\",\"ne1469\",\"boxing\",\"hill\",\"korn\",\"intercourse\",\"161616\",\"1985\",\"ziggy\",\"supersta\",\"stoney\",\"senior\",\"amature\",\"barber\",\"babyboy\",\"bcfields\",\"goliath\",\"hack\",\"hardrock\",\"children\",\"frodo\",\"scout\",\"scrappy\",\"rosie\",\"qazqaz\",\"tracker\",\"active\",\"craving\",\"commando\",\"cohiba\",\"deep\",\"cyclone\",\"dana\",\"bubba69\",\"katie1\",\"mpegs\",\"vsegda\",\"jade\",\"irish1\",\"better\",\"sexy1\",\"sinclair\",\"smelly\",\"squerting\",\"lions\",\"jokers\",\"jeanette\",\"julia\",\"jojojo\",\"meathead\",\"ashley1\",\"groucho\",\"cheetah\",\"champ\",\"firefox\",\"gandalf1\",\"packer\",\"magnolia\",\"love69\",\"tyler1\",\"typhoon\",\"tundra\",\"bobby1\",\"kenworth\",\"village\",\"volley\",\"beth\",\"wolf359\",\"0420\",\"000007\",\"swimmer\",\"skydive\",\"smokes\",\"patty\",\"peugeot\",\"pompey\",\"legolas\",\"kristy\",\"redhot\",\"rodman\",\"redalert\",\"having\",\"grapes\",\"4runner\",\"carrera\",\"floppy\",\"dollars\",\"ou8122\",\"quattro\",\"adams\",\"cloud9\",\"davids\",\"nofear\",\"busty\",\"homemade\",\"mmmmm\",\"whisper\",\"vermont\",\"webmaste\",\"wives\",\"insertion\",\"jayjay\",\"philips\",\"phone\",\"topher\",\"tongue\",\"temptress\",\"midget\",\"ripken\",\"havefun\",\"gretchen\",\"canon\",\"celebrity\",\"five\",\"getting\",\"ghetto\",\"direct\",\"otto\",\"ragnarok\",\"trinidad\",\"usnavy\",\"conover\",\"cruiser\",\"dalshe\",\"nicole1\",\"buzzard\",\"hottest\",\"kingfish\",\"misfit\",\"moore\",\"milfnew\",\"warlord\",\"wassup\",\"bigsexy\",\"blackhaw\",\"zippy\",\"shearer\",\"tights\",\"thursday\",\"kungfu\",\"labia\",\"journey\",\"meatloaf\",\"marlene\",\"rider\",\"area51\",\"batman1\",\"bananas\",\"636363\",\"cancel\",\"ggggg\",\"paradox\",\"mack\",\"lynn\",\"queens\",\"adults\",\"aikido\",\"cigars\",\"nova\",\"hoosier\",\"eeyore\",\"moose1\",\"warez\",\"interacial\",\"streaming\",\"313131\",\"pertinant\",\"pool6123\",\"mayday\",\"rivers\",\"revenge\",\"animated\",\"banker\",\"baddest\",\"gordon24\",\"ccccc\",\"fortune\",\"fantasies\",\"touching\",\"aisan\",\"deadman\",\"homepage\",\"ejaculation\",\"whocares\",\"iscool\",\"jamesbon\",\"1956\",\"1pussy\",\"womam\",\"sweden\",\"skidoo\",\"spock\",\"sssss\",\"petra\",\"pepper1\",\"pinhead\",\"micron\",\"allsop\",\"amsterda\",\"army\",\"aside\",\"gunnar\",\"666999\",\"chip\",\"foot\",\"fowler\",\"february\",\"face\",\"fletch\",\"george1\",\"sapper\",\"science\",\"sasha1\",\"luckydog\",\"lover1\",\"magick\",\"popopo\",\"public\",\"ultima\",\"derek\",\"cypress\",\"booker\",\"businessbabe\",\"brandon1\",\"edwards\",\"experience\",\"vulva\",\"vvvv\",\"jabroni\",\"bigbear\",\"yummy\",\"010203\",\"searay\",\"secret1\",\"showing\",\"sinbad\",\"sexxxx\",\"soleil\",\"software\",\"piccolo\",\"thirteen\",\"leopard\",\"legacy\",\"jensen\",\"justine\",\"memorex\",\"marisa\",\"mathew\",\"redwing\",\"rasputin\",\"134679\",\"anfield\",\"greenbay\",\"gore\",\"catcat\",\"feather\",\"scanner\",\"pa55word\",\"contortionist\",\"danzig\",\"daisy1\",\"hores\",\"erik\",\"exodus\",\"vinnie\",\"iiiiii\",\"zero\",\"1001\",\"subway\",\"tank\",\"second\",\"snapple\",\"sneakers\",\"sonyfuck\",\"picks\",\"poodle\",\"test1234\",\"their\",\"llll\",\"junebug\",\"june\",\"marker\",\"mellon\",\"ronaldo\",\"roadkill\",\"amanda1\",\"asdfjkl\",\"beaches\",\"greene\",\"great1\",\"cheerleaers\",\"force\",\"doitnow\",\"ozzy\",\"madeline\",\"radio\",\"tyson\",\"christian\",\"daphne\",\"boxster\",\"brighton\",\"housewifes\",\"emmanuel\",\"emerson\",\"kkkk\",\"mnbvcx\",\"moocow\",\"vides\",\"wagner\",\"janet\",\"1717\",\"bigmoney\",\"blonds\",\"1000\",\"storys\",\"stereo\",\"4545\",\"420247\",\"seductive\",\"sexygirl\",\"lesbean\",\"live\",\"justin1\",\"124578\",\"animals\",\"balance\",\"hansen\",\"cabbage\",\"canadian\",\"gangbanged\",\"dodge1\",\"dimas\",\"lori\",\"loud\",\"malaka\",\"puss\",\"probes\",\"adriana\",\"coolman\",\"crawford\",\"dante\",\"nacked\",\"hotpussy\",\"erotica\",\"kool\",\"mirror\",\"wearing\",\"implants\",\"intruder\",\"bigass\",\"zenith\",\"woohoo\",\"womans\",\"tanya\",\"tango\",\"stacy\",\"pisces\",\"laguna\",\"krystal\",\"maxell\",\"andyod22\",\"barcelon\",\"chainsaw\",\"chickens\",\"flash1\",\"downtown\",\"orgasms\",\"magicman\",\"profit\",\"pusyy\",\"pothead\",\"coconut\",\"chuckie\",\"contact\",\"clevelan\",\"designer\",\"builder\",\"budweise\",\"hotshot\",\"horizon\",\"hole\",\"experienced\",\"mondeo\",\"wifes\",\"1962\",\"strange\",\"stumpy\",\"smiths\",\"sparks\",\"slacker\",\"piper\",\"pitchers\",\"passwords\",\"laptop\",\"jeremiah\",\"allmine\",\"alliance\",\"bbbbbbb\",\"asscock\",\"halflife\",\"grandma\",\"hayley\",\"88888\",\"cecilia\",\"chacha\",\"saratoga\",\"sandy1\",\"santos\",\"doogie\",\"number\",\"positive\",\"qwert40\",\"transexual\",\"crow\",\"close-up\",\"darrell\",\"bonita\",\"ib6ub9\",\"volvo\",\"jacob1\",\"iiiii\",\"beastie\",\"sunnyday\",\"stoned\",\"sonics\",\"starfire\",\"snapon\",\"pictuers\",\"pepe\",\"testing1\",\"tiberius\",\"lisalisa\",\"lesbain\",\"litle\",\"retard\",\"ripple\",\"austin1\",\"badgirl\",\"golfgolf\",\"flounder\",\"garage\",\"royals\",\"dragoon\",\"dickie\",\"passwor\",\"ocean\",\"majestic\",\"poppop\",\"trailers\",\"dammit\",\"nokia\",\"bobobo\",\"br549\",\"emmitt\",\"knock\",\"minime\",\"mikemike\",\"whitesox\",\"1954\",\"3232\",\"353535\",\"seamus\",\"solo\",\"sparkle\",\"sluttey\",\"pictere\",\"titten\",\"lback\",\"1024\",\"angelina\",\"goodluck\",\"charlton\",\"fingerig\",\"gallaries\",\"goat\",\"ruby\",\"passme\",\"oasis\",\"lockerroom\",\"logan1\",\"rainman\",\"twins\",\"treasure\",\"absolutely\",\"club\",\"custom\",\"cyclops\",\"nipper\",\"bucket\",\"homepage-\",\"hhhhh\",\"momsuck\",\"indain\",\"2345\",\"beerbeer\",\"bimmer\",\"susanne\",\"stunner\",\"stevens\",\"456456\",\"shell\",\"sheba\",\"tootsie\",\"tiny\",\"testerer\",\"reefer\",\"really\",\"1012\",\"harcore\",\"gollum\",\"545454\",\"chico\",\"caveman\",\"carole\",\"fordf150\",\"fishes\",\"gaymen\",\"saleen\",\"doodoo\",\"pa55w0rd\",\"looney\",\"presto\",\"qqqqq\",\"cigar\",\"bogey\",\"brewer\",\"helloo\",\"dutch\",\"kamikaze\",\"monte\",\"wasser\",\"vietnam\",\"visa\",\"japanees\",\"0123\",\"swords\",\"slapper\",\"peach\",\"jump\",\"marvel\",\"masterbaiting\",\"march\",\"redwood\",\"rolling\",\"1005\",\"ametuer\",\"chiks\",\"cathy\",\"callaway\",\"fucing\",\"sadie1\",\"panasoni\",\"mamas\",\"race\",\"rambo\",\"unknown\",\"absolut\",\"deacon\",\"dallas1\",\"housewife\",\"kristi\",\"keywest\",\"kirsten\",\"kipper\",\"morning\",\"wings\",\"idiot\",\"18436572\",\"1515\",\"beating\",\"zxczxc\",\"sullivan\",\"303030\",\"shaman\",\"sparrow\",\"terrapin\",\"jeffery\",\"masturbation\",\"mick\",\"redfish\",\"1492\",\"angus\",\"barrett\",\"goirish\",\"hardcock\",\"felicia\",\"forfun\",\"galary\",\"freeporn\",\"duchess\",\"olivier\",\"lotus\",\"pornographic\",\"ramses\",\"purdue\",\"traveler\",\"crave\",\"brando\",\"enter1\",\"killme\",\"moneyman\",\"welder\",\"windsor\",\"wifey\",\"indon\",\"yyyyy\",\"stretch\",\"taylor1\",\"4417\",\"shopping\",\"picher\",\"pickup\",\"thumbnils\",\"johnboy\",\"jets\",\"jess\",\"maureen\",\"anne\",\"ameteur\",\"amateurs\",\"apollo13\",\"hambone\",\"goldwing\",\"5050\",\"charley\",\"sally1\",\"doghouse\",\"padres\",\"pounding\",\"quest\",\"truelove\",\"underdog\",\"trader\",\"crack\",\"climber\",\"bolitas\",\"bravo\",\"hohoho\",\"model\",\"italian\",\"beanie\",\"beretta\",\"wrestlin\",\"stroker\",\"tabitha\",\"sherwood\",\"sexyman\",\"jewels\",\"johannes\",\"mets\",\"marcos\",\"rhino\",\"bdsm\",\"balloons\",\"goodman\",\"grils\",\"happy123\",\"flamingo\",\"games\",\"route66\",\"devo\",\"dino\",\"outkast\",\"paintbal\",\"magpie\",\"llllllll\",\"twilight\",\"critter\",\"christie\",\"cupcake\",\"nickel\",\"bullseye\",\"krista\",\"knickerless\",\"mimi\",\"murder\",\"videoes\",\"binladen\",\"xerxes\",\"slim\",\"slinky\",\"pinky\",\"peterson\",\"thanatos\",\"meister\",\"menace\",\"ripley\",\"retired\",\"albatros\",\"balloon\",\"bank\",\"goten\",\"5551212\",\"getsdown\",\"donuts\",\"divorce\",\"nwo4life\",\"lord\",\"lost\",\"underwear\",\"tttt\",\"comet\",\"deer\",\"damnit\",\"dddddddd\",\"deeznutz\",\"nasty1\",\"nonono\",\"nina\",\"enterprise\",\"eeeee\",\"misfit99\",\"milkman\",\"vvvvvv\",\"isaac\",\"1818\",\"blueboy\",\"beans\",\"bigbutt\",\"wyatt\",\"tech\",\"solution\",\"poetry\",\"toolman\",\"laurel\",\"juggalo\",\"jetski\",\"meredith\",\"barefoot\",\"50spanks\",\"gobears\",\"scandinavian\",\"original\",\"truman\",\"cubbies\",\"nitram\",\"briana\",\"ebony\",\"kings\",\"warner\",\"bilbo\",\"yumyum\",\"zzzzzzz\",\"stylus\",\"321654\",\"shannon1\",\"server\",\"secure\",\"silly\",\"squash\",\"starman\",\"steeler\",\"staples\",\"phrases\",\"techniques\",\"laser\",\"135790\",\"allan\",\"barker\",\"athens\",\"cbr600\",\"chemical\",\"fester\",\"gangsta\",\"fucku2\",\"freeze\",\"game\",\"salvador\",\"droopy\",\"objects\",\"passwd\",\"lllll\",\"loaded\",\"louis\",\"manchester\",\"losers\",\"vedder\",\"clit\",\"chunky\",\"darkman\",\"damage\",\"buckshot\",\"buddah\",\"boobed\",\"henti\",\"hillary\",\"webber\",\"winter1\",\"ingrid\",\"bigmike\",\"beta\",\"zidane\",\"talon\",\"slave1\",\"pissoff\",\"person\",\"thegreat\",\"living\",\"lexus\",\"matador\",\"readers\",\"riley\",\"roberta\",\"armani\",\"ashlee\",\"goldstar\",\"5656\",\"cards\",\"fmale\",\"ferris\",\"fuking\",\"gaston\",\"fucku\",\"ggggggg\",\"sauron\",\"diggler\",\"pacers\",\"looser\",\"pounded\",\"premier\",\"pulled\",\"town\",\"trisha\",\"triangle\",\"cornell\",\"collin\",\"cosmic\",\"deeper\",\"depeche\",\"norway\",\"bright\",\"helmet\",\"kristine\",\"kendall\",\"mustard\",\"misty1\",\"watch\",\"jagger\",\"bertie\",\"berger\",\"word\",\"3x7pxr\",\"silver1\",\"smoking\",\"snowboar\",\"sonny\",\"paula\",\"penetrating\",\"photoes\",\"lesbens\",\"lambert\",\"lindros\",\"lillian\",\"roadking\",\"rockford\",\"1357\",\"143143\",\"asasas\",\"goodboy\",\"898989\",\"chicago1\",\"card\",\"ferrari1\",\"galeries\",\"godfathe\",\"gawker\",\"gargoyle\",\"gangster\",\"rubble\",\"rrrr\",\"onetime\",\"pussyman\",\"pooppoop\",\"trapper\",\"twenty\",\"abraham\",\"cinder\",\"company\",\"newcastl\",\"boricua\",\"bunny1\",\"boxer\",\"hotred\",\"hockey1\",\"hooper\",\"edward1\",\"evan\",\"kris\",\"misery\",\"moscow\",\"milk\",\"mortgage\",\"bigtit\",\"show\",\"snoopdog\",\"three\",\"lionel\",\"leanne\",\"joshua1\",\"july\",\"1230\",\"assholes\",\"cedric\",\"fallen\",\"farley\",\"gene\",\"frisky\",\"sanity\",\"script\",\"divine\",\"dharma\",\"lucky13\",\"property\",\"tricia\",\"akira\",\"desiree\",\"broadway\",\"butterfly\",\"hunt\",\"hotbox\",\"hootie\",\"heat\",\"howdy\",\"earthlink\",\"karma\",\"kiteboy\",\"motley\",\"westwood\",\"1988\",\"bert\",\"blackbir\",\"biggles\",\"wrench\",\"working\",\"wrestle\",\"slippery\",\"pheonix\",\"penny1\",\"pianoman\",\"tomorrow\",\"thedude\",\"jenn\",\"jonjon\",\"jones1\",\"mattie\",\"memory\",\"micheal\",\"roadrunn\",\"arrow\",\"attitude\",\"azzer\",\"seahawks\",\"diehard\",\"dotcom\",\"lola\",\"tunafish\",\"chivas\",\"cinnamon\",\"clouds\",\"deluxe\",\"northern\",\"nuclear\",\"north\",\"boom\",\"boobie\",\"hurley\",\"krishna\",\"momomo\",\"modles\",\"volume\",\"23232323\",\"bluedog\",\"wwwwwww\",\"zerocool\",\"yousuck\",\"pluto\",\"limewire\",\"link\",\"joung\",\"marcia\",\"awnyce\",\"gonavy\",\"haha\",\"films+pic+galeries\",\"fabian\",\"francois\",\"girsl\",\"fuckthis\",\"girfriend\",\"rufus\",\"drive\",\"uncencored\",\"a123456\",\"airport\",\"clay\",\"chrisbln\",\"combat\",\"cygnus\",\"cupoi\",\"never\",\"netscape\",\"brett\",\"hhhhhhhh\",\"eagles1\",\"elite\",\"knockers\",\"kendra\",\"mommy\",\"1958\",\"tazmania\",\"shonuf\",\"piano\",\"pharmacy\",\"thedog\",\"lips\",\"jillian\",\"jenkins\",\"midway\",\"arsenal1\",\"anaconda\",\"australi\",\"gromit\",\"gotohell\",\"787878\",\"66666\",\"carmex2\",\"camber\",\"gator1\",\"ginger1\",\"fuzzy\",\"seadoo\",\"dorian\",\"lovesex\",\"rancid\",\"uuuuuu\",\"911911\",\"nature\",\"bulldog1\",\"helen\",\"health\",\"heater\",\"higgins\",\"kirk\",\"monalisa\",\"mmmmmmm\",\"whiteout\",\"virtual\",\"ventura\",\"jamie1\",\"japanes\",\"james007\",\"2727\",\"2469\",\"blam\",\"bitchass\",\"believe\",\"zephyr\",\"stiffy\",\"sweet1\",\"silent\",\"southpar\",\"spectre\",\"tigger1\",\"tekken\",\"lenny\",\"lakota\",\"lionking\",\"jjjjjjj\",\"medical\",\"megatron\",\"1369\",\"hawaiian\",\"gymnastic\",\"golfer1\",\"gunners\",\"7779311\",\"515151\",\"famous\",\"glass\",\"screen\",\"rudy\",\"royal\",\"sanfran\",\"drake\",\"optimus\",\"panther1\",\"love1\",\"mail\",\"maggie1\",\"pudding\",\"venice\",\"aaron1\",\"delphi\",\"niceass\",\"bounce\",\"busted\",\"house1\",\"killer1\",\"miracle\",\"momo\",\"musashi\",\"jammin\",\"2003\",\"234567\",\"wp2003wp\",\"submit\",\"silence\",\"sssssss\",\"state\",\"spikes\",\"sleeper\",\"passwort\",\"toledo\",\"kume\",\"media\",\"meme\",\"medusa\",\"mantis\",\"remote\",\"reading\",\"reebok\",\"1017\",\"artemis\",\"hampton\",\"harry1\",\"cafc91\",\"fettish\",\"friendly\",\"oceans\",\"oooooooo\",\"mango\",\"ppppp\",\"trainer\",\"troy\",\"uuuu\",\"909090\",\"cross\",\"death1\",\"news\",\"bullfrog\",\"hokies\",\"holyshit\",\"eeeeeee\",\"mitch\",\"jasmine1\",\"&\",\"&\",\"sergeant\",\"spinner\",\"leon\",\"jockey\",\"records\",\"right\",\"babyblue\",\"hans\",\"gooner\",\"474747\",\"cheeks\",\"cars\",\"candice\",\"fight\",\"glow\",\"pass1234\",\"parola\",\"okokok\",\"pablo\",\"magical\",\"major\",\"ramsey\",\"poseidon\",\"989898\",\"confused\",\"circle\",\"crusher\",\"cubswin\",\"nnnn\",\"hollywood\",\"erin\",\"kotaku\",\"milo\",\"mittens\",\"whatsup\",\"vvvvv\",\"iomega\",\"insertions\",\"bengals\",\"bermuda\",\"biit\",\"yellow1\",\"012345\",\"spike1\",\"south\",\"sowhat\",\"pitures\",\"peacock\",\"pecker\",\"theend\",\"juliette\",\"jimmie\",\"romance\",\"augusta\",\"hayabusa\",\"hawkeyes\",\"castro\",\"florian\",\"geoffrey\",\"dolly\",\"lulu\",\"qaz123\",\"usarmy\",\"twinkle\",\"cloud\",\"chuckles\",\"cold\",\"hounddog\",\"hover\",\"hothot\",\"europa\",\"ernie\",\"kenshin\",\"kojak\",\"mikey1\",\"water1\",\"196969\",\"because\",\"wraith\",\"zebra\",\"wwwww\",\"33333\",\"simon1\",\"spider1\",\"snuffy\",\"philippe\",\"thunderb\",\"teddy1\",\"lesley\",\"marino13\",\"maria1\",\"redline\",\"renault\",\"aloha\",\"antoine\",\"handyman\",\"cerberus\",\"gamecock\",\"gobucks\",\"freesex\",\"duffman\",\"ooooo\",\"papa\",\"nuggets\",\"magician\",\"longbow\",\"preacher\",\"porno1\",\"county\",\"chrysler\",\"contains\",\"dalejr\",\"darius\",\"darlene\",\"dell\",\"navy\",\"buffy1\",\"hedgehog\",\"hoosiers\",\"honey1\",\"hott\",\"heyhey\",\"europe\",\"dutchess\",\"everest\",\"wareagle\",\"ihateyou\",\"sunflowe\",\"3434\",\"senators\",\"shag\",\"spoon\",\"sonoma\",\"stalker\",\"poochie\",\"terminal\",\"terefon\",\"laurence\",\"maradona\",\"maryann\",\"marty\",\"roman\",\"1007\",\"142536\",\"alibaba\",\"america1\",\"bartman\",\"astro\",\"goth\",\"century\",\"chicken1\",\"cheater\",\"four\",\"ghost1\",\"passpass\",\"oral\",\"r2d2c3po\",\"civic\",\"cicero\",\"myxworld\",\"kkkkk\",\"missouri\",\"wishbone\",\"infiniti\",\"jameson\",\"1a2b3c\",\"1qwerty\",\"wonderboy\",\"skip\",\"shojou\",\"stanford\",\"sparky1\",\"smeghead\",\"poiuy\",\"titanium\",\"torres\",\"lantern\",\"jelly\",\"jeanne\",\"meier\",\"1213\",\"bayern\",\"basset\",\"gsxr750\",\"cattle\",\"charlene\",\"fishing1\",\"fullmoon\",\"gilles\",\"dima\",\"obelix\",\"popo\",\"prissy\",\"ramrod\",\"unique\",\"absolute\",\"bummer\",\"hotone\",\"dynasty\",\"entry\",\"konyor\",\"missy1\",\"moses\",\"282828\",\"yeah\",\"xyz123\",\"stop\",\"426hemi\",\"404040\",\"seinfeld\",\"simmons\",\"pingpong\",\"lazarus\",\"matthews\",\"marine1\",\"manning\",\"recovery\",\"12345a\",\"beamer\",\"babyface\",\"greece\",\"gustav\",\"7007\",\"charity\",\"camilla\",\"ccccccc\",\"faggot\",\"foxy\",\"frozen\",\"gladiato\",\"duckie\",\"dogfood\",\"paranoid\",\"packers1\",\"longjohn\",\"radical\",\"tuna\",\"clarinet\",\"claudio\",\"circus\",\"danny1\",\"novell\",\"nights\",\"bonbon\",\"kashmir\",\"kiki\",\"mortimer\",\"modelsne\",\"moondog\",\"monaco\",\"vladimir\",\"insert\",\"1953\",\"zxc123\",\"supreme\",\"3131\",\"sexxx\",\"selena\",\"softail\",\"poipoi\",\"pong\",\"together\",\"mars\",\"martin1\",\"rogue\",\"alone\",\"avalanch\",\"audia4\",\"55bgates\",\"cccccccc\",\"chick\",\"came11\",\"figaro\",\"geneva\",\"dogboy\",\"dnsadm\",\"dipshit\",\"paradigm\",\"othello\",\"operator\",\"officer\",\"malone\",\"post\",\"rafael\",\"valencia\",\"tripod\",\"choice\",\"chopin\",\"coucou\",\"coach\",\"cocksuck\",\"common\",\"creature\",\"borussia\",\"book\",\"browning\",\"heritage\",\"hiziad\",\"homerj\",\"eight\",\"earth\",\"millions\",\"mullet\",\"whisky\",\"jacques\",\"store\",\"4242\",\"speedo\",\"starcraf\",\"skylar\",\"spaceman\",\"piggy\",\"pierce\",\"tiger2\",\"legos\",\"lala\",\"jezebel\",\"judy\",\"joker1\",\"mazda\",\"barton\",\"baker\",\"727272\",\"chester1\",\"fishman\",\"food\",\"rrrrrrrr\",\"sandwich\",\"dundee\",\"lumber\",\"magazine\",\"radar\",\"ppppppp\",\"tranny\",\"aaliyah\",\"admiral\",\"comics\",\"cleo\",\"delight\",\"buttfuck\",\"homeboy\",\"eternal\",\"kilroy\",\"kellie\",\"khan\",\"violin\",\"wingman\",\"walmart\",\"bigblue\",\"blaze\",\"beemer\",\"beowulf\",\"bigfish\",\"yyyyyyy\",\"woodie\",\"yeahbaby\",\"0123456\",\"tbone\",\"style\",\"syzygy\",\"starter\",\"lemon\",\"linda1\",\"merlot\",\"mexican\",\"11235813\",\"anita\",\"banner\",\"bangbang\",\"badman\",\"barfly\",\"grease\",\"carla\",\"charles1\",\"ffffffff\",\"screw\",\"doberman\",\"diane\",\"dogshit\",\"overkill\",\"counter\",\"coolguy\",\"claymore\",\"demons\",\"demo\",\"nomore\",\"normal\",\"brewster\",\"hhhhhhh\",\"hondas\",\"iamgod\",\"enterme\",\"everett\",\"electron\",\"eastside\",\"kayla\",\"minimoni\",\"mybaby\",\"wildbill\",\"wildcard\",\"ipswich\",\"200000\",\"bearcat\",\"zigzag\",\"yyyyyyyy\",\"xander\",\"sweetnes\",\"369369\",\"skyler\",\"skywalker\",\"pigeon\",\"peyton\",\"tipper\",\"lilly\",\"asdf123\",\"alphabet\",\"asdzxc\",\"babybaby\",\"banane\",\"barnes\",\"guyver\",\"graphics\",\"grand\",\"chinook\",\"florida1\",\"flexible\",\"fuckinside\",\"otis\",\"ursitesux\",\"tototo\",\"trust\",\"tower\",\"adam12\",\"christma\",\"corey\",\"chrome\",\"buddie\",\"bombers\",\"bunker\",\"hippie\",\"keegan\",\"misfits\",\"vickie\",\"292929\",\"woofer\",\"wwwwwwww\",\"stubby\",\"sheep\",\"secrets\",\"sparta\",\"stang\",\"spud\",\"sporty\",\"pinball\",\"jorge\",\"just4fun\",\"johanna\",\"maxxxx\",\"rebecca1\",\"gunther\",\"fatima\",\"fffffff\",\"freeway\",\"garion\",\"score\",\"rrrrr\",\"sancho\",\"outback\",\"maggot\",\"puddin\",\"trial\",\"adrienne\",\"987456\",\"colton\",\"clyde\",\"brain\",\"brains\",\"hoops\",\"eleanor\",\"dwayne\",\"kirby\",\"mydick\",\"villa\",\"19691969\",\"bigcat\",\"becker\",\"shiner\",\"silverad\",\"spanish\",\"templar\",\"lamer\",\"juicy\",\"marsha\",\"mike1\",\"maximum\",\"rhiannon\",\"real\",\"1223\",\"10101010\",\"arrows\",\"andres\",\"alucard\",\"baldwin\",\"baron\",\"avenue\",\"ashleigh\",\"haggis\",\"channel\",\"cheech\",\"safari\",\"ross\",\"dog123\",\"orion1\",\"paloma\",\"qwerasdf\",\"presiden\",\"vegitto\",\"trees\",\"969696\",\"adonis\",\"colonel\",\"cookie1\",\"newyork1\",\"brigitte\",\"buddyboy\",\"hellos\",\"heineken\",\"dwight\",\"eraser\",\"kerstin\",\"motion\",\"moritz\",\"millwall\",\"visual\",\"jaybird\",\"1983\",\"beautifu\",\"bitter\",\"yvette\",\"zodiac\",\"steven1\",\"sinister\",\"slammer\",\"smashing\",\"slick1\",\"sponge\",\"teddybea\",\"theater\",\"this\",\"ticklish\",\"lipstick\",\"jonny\",\"massage\",\"mann\",\"reynolds\",\"ring\",\"1211\",\"amazing\",\"aptiva\",\"applepie\",\"bailey1\",\"guitar1\",\"chanel\",\"canyon\",\"gagged\",\"fuckme1\",\"rough\",\"digital1\",\"dinosaur\",\"punk\",\"98765\",\"90210\",\"clowns\",\"cubs\",\"daniels\",\"deejay\",\"nigga\",\"naruto\",\"boxcar\",\"icehouse\",\"hotties\",\"electra\",\"kent\",\"widget\",\"india\",\"insanity\",\"1986\",\"2004\",\"best\",\"bluefish\",\"bingo1\",\"*****\",\"stratus\",\"strength\",\"sultan\",\"storm1\",\"44444\",\"4200\",\"sentnece\",\"season\",\"sexyboy\",\"sigma\",\"smokie\",\"spam\",\"point\",\"pippo\",\"ticket\",\"temppass\",\"joel\",\"manman\",\"medicine\",\"1022\",\"anton\",\"almond\",\"bacchus\",\"aztnm\",\"axio\",\"awful\",\"bamboo\",\"hakr\",\"gregor\",\"hahahaha\",\"5678\",\"casanova\",\"caprice\",\"camero1\",\"fellow\",\"fountain\",\"dupont\",\"dolphin1\",\"dianne\",\"paddle\",\"magnet\",\"qwert1\",\"pyon\",\"porsche1\",\"tripper\",\"vampires\",\"coming\",\"noway\",\"burrito\",\"bozo\",\"highheel\",\"hughes\",\"hookem\",\"eddie1\",\"ellie\",\"entropy\",\"kkkkkkkk\",\"kkkkkkk\",\"illinois\",\"jacobs\",\"1945\",\"1951\",\"24680\",\"21212121\",\"100000\",\"stonecold\",\"taco\",\"subzero\",\"sharp\",\"sexxxy\",\"skolko\",\"shanna\",\"skyhawk\",\"spurs1\",\"sputnik\",\"piazza\",\"testpass\",\"letter\",\"lane\",\"kurt\",\"jiggaman\",\"matilda\",\"1224\",\"harvard\",\"hannah1\",\"525252\",\"4ever\",\"carbon\",\"chef\",\"federico\",\"ghosts\",\"gina\",\"scorpio1\",\"rt6ytere\",\"madison1\",\"loki\",\"raquel\",\"promise\",\"coolness\",\"christina\",\"coldbeer\",\"citadel\",\"brittney\",\"highway\",\"evil\",\"monarch\",\"morgan1\",\"washingt\",\"1997\",\"bella1\",\"berry\",\"yaya\",\"yolanda\",\"superb\",\"taxman\",\"studman\",\"stephanie\",\"3636\",\"sherri\",\"sheriff\",\"shepherd\",\"poland\",\"pizzas\",\"tiffany1\",\"toilet\",\"latina\",\"lassie\",\"larry1\",\"joseph1\",\"mephisto\",\"meagan\",\"marian\",\"reptile\",\"rico\",\"razor\",\"1013\",\"barron\",\"hammer1\",\"gypsy\",\"grande\",\"carroll\",\"camper\",\"chippy\",\"cat123\",\"call\",\"chimera\",\"fiesta\",\"glock\",\"glenn\",\"domain\",\"dieter\",\"dragonba\",\"onetwo\",\"nygiants\",\"odessa\",\"password2\",\"louie\",\"quartz\",\"prowler\",\"prophet\",\"towers\",\"ultra\",\"cocker\",\"corleone\",\"dakota1\",\"cumm\",\"nnnnnnn\",\"natalia\",\"boxers\",\"hugo\",\"heynow\",\"hollow\",\"iceberg\",\"elvira\",\"kittykat\",\"kate\",\"kitchen\",\"wasabi\",\"vikings1\",\"impact\",\"beerman\",\"string\",\"sleep\",\"splinter\",\"snoopy1\",\"pipeline\",\"pocket\",\"legs\",\"maple\",\"mickey1\",\"manuela\",\"mermaid\",\"micro\",\"meowmeow\",\"redbird\",\"alisha\",\"baura\",\"battery\",\"grass\",\"chevys\",\"chestnut\",\"caravan\",\"carina\",\"charmed\",\"fraser\",\"frogman\",\"diving\",\"dogger\",\"draven\",\"drifter\",\"oatmeal\",\"paris1\",\"longdong\",\"quant4307s\",\"rachel1\",\"vegitta\",\"cole\",\"cobras\",\"corsair\",\"dadada\",\"noelle\",\"mylife\",\"nine\",\"bowwow\",\"body\",\"hotrats\",\"eastwood\",\"moonligh\",\"modena\",\"wave\",\"illusion\",\"iiiiiii\",\"jayhawks\",\"birgit\",\"zone\",\"sutton\",\"susana\",\"swingers\",\"shocker\",\"shrimp\",\"sexgod\",\"squall\",\"stefanie\",\"squeeze\",\"soul\",\"patrice\",\"poiu\",\"players\",\"tigers1\",\"toejam\",\"tickler\",\"line\",\"julie1\",\"jimbo1\",\"jefferso\",\"juanita\",\"michael2\",\"rodeo\",\"robot\",\"1023\",\"annie1\",\"bball\",\"guess\",\"happy2\",\"charter\",\"farm\",\"flasher\",\"falcon1\",\"fiction\",\"fastball\",\"gadget\",\"scrabble\",\"diaper\",\"dirtbike\",\"dinner\",\"oliver1\",\"partner\",\"paco\",\"lucille\",\"macman\",\"poopy\",\"popper\",\"postman\",\"ttttttt\",\"ursula\",\"acura\",\"cowboy1\",\"conan\",\"daewoo\",\"cyrus\",\"customer\",\"nation\",\"nemrac58\",\"nnnnn\",\"nextel\",\"bolton\",\"bobdylan\",\"hopeless\",\"eureka\",\"extra\",\"kimmie\",\"kcj9wx5n\",\"killbill\",\"musica\",\"volkswag\",\"wage\",\"windmill\",\"wert\",\"vintage\",\"iloveyou1\",\"itsme\",\"bessie\",\"zippo\",\"311311\",\"starligh\",\"smokey1\",\"spot\",\"snappy\",\"soulmate\",\"plasma\",\"thelma\",\"tonight\",\"krusty\",\"just4me\",\"mcdonald\",\"marius\",\"rochelle\",\"rebel1\",\"1123\",\"alfredo\",\"aubrey\",\"audi\",\"chantal\",\"fick\",\"goaway\",\"roses\",\"sales\",\"rusty2\",\"dirt\",\"dogbone\",\"doofus\",\"ooooooo\",\"oblivion\",\"mankind\",\"luck\",\"mahler\",\"lllllll\",\"pumper\",\"puck\",\"pulsar\",\"valkyrie\",\"tupac\",\"compass\",\"concorde\",\"costello\",\"cougars\",\"delaware\",\"niceguy\",\"nocturne\",\"bob123\",\"boating\",\"bronze\",\"hopkins\",\"herewego\",\"hewlett\",\"houhou\",\"hubert\",\"earnhard\",\"eeeeeeee\",\"keller\",\"mingus\",\"mobydick\",\"venture\",\"verizon\",\"imation\",\"1950\",\"1948\",\"1949\",\"223344\",\"bigbig\",\"blossom\",\"zack\",\"wowwow\",\"sissy\",\"skinner\",\"spiker\",\"square\",\"snooker\",\"sluggo\",\"player1\",\"junk\",\"jeannie\",\"jsbach\",\"jumbo\",\"jewel\",\"medic\",\"robins\",\"reddevil\",\"reckless\",\"123456a\",\"1125\",\"1031\",\"beacon\",\"astra\",\"gumby\",\"hammond\",\"hassan\",\"757575\",\"585858\",\"chillin\",\"fuck1\",\"sander\",\"lowell\",\"radiohea\",\"upyours\",\"trek\",\"courage\",\"coolcool\",\"classics\",\"choochoo\",\"darryl\",\"nikki1\",\"nitro\",\"bugs\",\"boytoy\",\"ellen\",\"excite\",\"kirsty\",\"kane\",\"wingnut\",\"wireless\",\"icu812\",\"1master\",\"beatle\",\"bigblock\",\"blanca\",\"wolfen\",\"summer99\",\"sugar1\",\"tartar\",\"sexysexy\",\"senna\",\"sexman\",\"sick\",\"someone\",\"soprano\",\"pippin\",\"platypus\",\"pixies\",\"telephon\",\"land\",\"laura1\",\"laurent\",\"rimmer\",\"road\",\"report\",\"1020\",\"12qwaszx\",\"arturo\",\"around\",\"hamish\",\"halifax\",\"fishhead\",\"forum\",\"dododo\",\"doit\",\"outside\",\"paramedi\",\"lonesome\",\"mandy1\",\"twist\",\"uuuuu\",\"uranus\",\"ttttt\",\"butcher\",\"bruce1\",\"helper\",\"hopeful\",\"eduard\",\"dusty1\",\"kathy1\",\"katherin\",\"moonbeam\",\"muscles\",\"monster1\",\"monkeybo\",\"morton\",\"windsurf\",\"vvvvvvv\",\"vivid\",\"install\",\"1947\",\"187187\",\"1941\",\"1952\",\"tatiana\",\"susan1\",\"31415926\",\"sinned\",\"sexxy\",\"senator\",\"sebastian\",\"shadows\",\"smoothie\",\"snowflak\",\"playstat\",\"playa\",\"playboy1\",\"toaster\",\"jerry1\",\"marie1\",\"mason1\",\"merlin1\",\"roger1\",\"roadster\",\"112358\",\"1121\",\"andrea1\",\"bacardi\",\"auto\",\"hardware\",\"hardy\",\"789789\",\"5555555\",\"captain1\",\"flores\",\"fergus\",\"sascha\",\"rrrrrrr\",\"dome\",\"onion\",\"nutter\",\"lololo\",\"qqqqqqq\",\"quick\",\"undertak\",\"uuuuuuuu\",\"uuuuuuu\",\"criminal\",\"cobain\",\"cindy1\",\"coors\",\"dani\",\"descent\",\"nimbus\",\"nomad\",\"nanook\",\"norwich\",\"bomb\",\"bombay\",\"broker\",\"hookup\",\"kiwi\",\"winners\",\"jackpot\",\"1a2b3c4d\",\"1776\",\"beardog\",\"bighead\",\"blast\",\"bird33\",\"0987\",\"stress\",\"shot\",\"spooge\",\"pelican\",\"peepee\",\"perry\",\"pointer\",\"titan\",\"thedoors\",\"jeremy1\",\"annabell\",\"altima\",\"baba\",\"hallie\",\"hate\",\"hardone\",\"5454\",\"candace\",\"catwoman\",\"flip\",\"faithful\",\"finance\",\"farmboy\",\"farscape\",\"genesis1\",\"salomon\",\"destroy\",\"papers\",\"option\",\"page\",\"loser1\",\"lopez\",\"r2d2\",\"pumpkins\",\"training\",\"chriss\",\"cumcum\",\"ninjas\",\"ninja1\",\"hung\",\"erika\",\"eduardo\",\"killers\",\"miller1\",\"islander\",\"jamesbond\",\"intel\",\"jarvis\",\"19841984\",\"2626\",\"bizzare\",\"blue12\",\"biker\",\"yoyoma\",\"sushi\",\"styles\",\"shitface\",\"series\",\"shanti\",\"spanker\",\"steffi\",\"smart\",\"sphinx\",\"please1\",\"paulie\",\"pistons\",\"tiburon\",\"limited\",\"maxwell1\",\"mdogg\",\"rockies\",\"armstron\",\"alexia\",\"arlene\",\"alejandr\",\"arctic\",\"banger\",\"audio\",\"asimov\",\"augustus\",\"grandpa\",\"753951\",\"4you\",\"chilly\",\"care1839\",\"chapman\",\"flyfish\",\"fantasia\",\"freefall\",\"santa\",\"sandrine\",\"oreo\",\"ohshit\",\"macbeth\",\"madcat\",\"loveya\",\"mallory\",\"rage\",\"quentin\",\"qwerqwer\",\"project\",\"ramirez\",\"colnago\",\"citizen\",\"chocha\",\"cobalt\",\"crystal1\",\"dabears\",\"nevets\",\"nineinch\",\"broncos1\",\"helene\",\"huge\",\"edgar\",\"epsilon\",\"easter\",\"kestrel\",\"moron\",\"virgil\",\"winston1\",\"warrior1\",\"iiiiiiii\",\"iloveyou2\",\"1616\",\"beat\",\"bettina\",\"woowoo\",\"zander\",\"straight\",\"shower\",\"sloppy\",\"specialk\",\"tinkerbe\",\"jellybea\",\"reader\",\"romero\",\"redsox1\",\"ride\",\"1215\",\"1112\",\"annika\",\"arcadia\",\"answer\",\"baggio\",\"base\",\"guido\",\"555666\",\"carmel\",\"cayman\",\"cbr900rr\",\"chips\",\"gabriell\",\"gertrude\",\"glennwei\",\"roxy\",\"sausages\",\"disco\",\"pass1\",\"luna\",\"lovebug\",\"macmac\",\"queenie\",\"puffin\",\"vanguard\",\"trip\",\"trinitro\",\"airwolf\",\"abbott\",\"aaa111\",\"cocaine\",\"cisco\",\"cottage\",\"dayton\",\"deadly\",\"datsun\",\"bricks\",\"bumper\",\"eldorado\",\"kidrock\",\"wizard1\",\"whiskers\",\"wind\",\"wildwood\",\"istheman\",\"interest\",\"italy\",\"25802580\",\"benoit\",\"bigones\",\"woodland\",\"wolfpac\",\"strawber\",\"suicide\",\"3030\",\"sheba1\",\"sixpack\",\"peace1\",\"physics\",\"pearson\",\"tigger2\",\"toad\",\"megan1\",\"meow\",\"ringo\",\"roll\",\"amsterdam\",\"717171\",\"686868\",\"5424\",\"catherine\",\"canuck\",\"football1\",\"footjob\",\"fulham\",\"seagull\",\"orgy\",\"lobo\",\"mancity\",\"truth\",\"trace\",\"vancouve\",\"vauxhall\",\"acidburn\",\"derf\",\"myspace1\",\"boozer\",\"buttercu\",\"howell\",\"hola\",\"easton\",\"minemine\",\"munch\",\"jared\",\"1dragon\",\"biology\",\"bestbuy\",\"bigpoppa\",\"blackout\",\"blowfish\",\"bmw325\",\"bigbob\",\"stream\",\"talisman\",\"tazz\",\"sundevil\",\"3333333\",\"skate\",\"shutup\",\"shanghai\",\"shop\",\"spencer1\",\"slowhand\",\"polish\",\"pinky1\",\"tootie\",\"thecrow\",\"leroy\",\"jonathon\",\"jubilee\",\"jingle\",\"martine\",\"matrix1\",\"manowar\",\"michaels\",\"messiah\",\"mclaren\",\"resident\",\"reilly\",\"redbaron\",\"rollins\",\"romans\",\"return\",\"rivera\",\"andromed\",\"athlon\",\"beach1\",\"badgers\",\"guitars\",\"harald\",\"harddick\",\"gotribe\",\"6996\",\"7grout\",\"5wr2i7h8\",\"635241\",\"chase1\",\"carver\",\"charlotte\",\"fallout\",\"fiddle\",\"fredrick\",\"fenris\",\"francesc\",\"fortuna\",\"ferguson\",\"fairlane\",\"felipe\",\"felix1\",\"forward\",\"gasman\",\"frost\",\"fucks\",\"sahara\",\"sassy1\",\"dogpound\",\"dogbert\",\"divx1\",\"manila\",\"loretta\",\"priest\",\"pornporn\",\"quasar\",\"venom\",\"987987\",\"access1\",\"clippers\",\"daylight\",\"decker\",\"daman\",\"data\",\"dentist\",\"crusty\",\"nathan1\",\"nnnnnnnn\",\"bruno1\",\"bucks\",\"brodie\",\"budapest\",\"kittens\",\"kerouac\",\"mother1\",\"waldo1\",\"wedding\",\"whistler\",\"whatwhat\",\"wanderer\",\"idontkno\",\"1942\",\"1946\",\"bigdawg\",\"bigpimp\",\"zaqwsx\",\"414141\",\"3000gt\",\"434343\",\"shoes\",\"serpent\",\"starr\",\"smurf\",\"pasword\",\"tommie\",\"thisisit\",\"lake\",\"john1\",\"robotics\",\"redeye\",\"rebelz\",\"1011\",\"alatam\",\"asses\",\"asians\",\"bama\",\"banzai\",\"harvest\",\"gonzalez\",\"hair\",\"hanson\",\"575757\",\"5329\",\"cascade\",\"chinese\",\"fatty\",\"fender1\",\"flower2\",\"funky\",\"sambo\",\"drummer1\",\"dogcat\",\"dottie\",\"oedipus\",\"osama\",\"macleod\",\"prozac\",\"private1\",\"rampage\",\"punch\",\"presley\",\"concord\",\"cook\",\"cinema\",\"cornwall\",\"cleaner\",\"christopher\",\"ciccio\",\"corinne\",\"clutch\",\"corvet07\",\"daemon\",\"bruiser\",\"boiler\",\"hjkl\",\"eyes\",\"egghead\",\"expert\",\"ethan\",\"kasper\",\"mordor\",\"wasted\",\"jamess\",\"iverson3\",\"bluesman\",\"zouzou\",\"090909\",\"1002\",\"switch\",\"stone1\",\"4040\",\"sisters\",\"sexo\",\"shawna\",\"smith1\",\"sperma\",\"sneaky\",\"polska\",\"thewho\",\"terminat\",\"krypton\",\"lawson\",\"library\",\"lekker\",\"jules\",\"johnson1\",\"johann\",\"justus\",\"rockie\",\"romano\",\"aspire\",\"bastards\",\"goodie\",\"cheese1\",\"fenway\",\"fishon\",\"fishin\",\"fuckoff1\",\"girls1\",\"sawyer\",\"dolores\",\"desmond\",\"duane\",\"doomsday\",\"pornking\",\"ramones\",\"rabbits\",\"transit\",\"aaaaa1\",\"clock\",\"delilah\",\"noel\",\"boyz\",\"bookworm\",\"bongo\",\"bunnies\",\"brady\",\"buceta\",\"highbury\",\"henry1\",\"heels\",\"eastern\",\"krissy\",\"mischief\",\"mopar\",\"ministry\",\"vienna\",\"weston\",\"wildone\",\"vodka\",\"jayson\",\"bigbooty\",\"beavis1\",\"betsy\",\"xxxxxx1\",\"yogibear\",\"000001\",\"0815\",\"zulu\",\"420000\",\"september\",\"sigmar\",\"sprout\",\"stalin\",\"peggy\",\"patch\",\"lkjhgfds\",\"lagnaf\",\"rolex\",\"redfox\",\"referee\",\"123123123\",\"1231\",\"angus1\",\"ariana\",\"ballin\",\"attila\",\"hall\",\"greedy\",\"grunt\",\"747474\",\"carpedie\",\"cecile\",\"caramel\",\"foxylady\",\"field\",\"gatorade\",\"gidget\",\"futbol\",\"frosch\",\"saiyan\",\"schmidt\",\"drums\",\"donner\",\"doggy1\",\"drum\",\"doudou\",\"pack\",\"pain\",\"nutmeg\",\"quebec\",\"valdepen\",\"trash\",\"triple\",\"tosser\",\"tuscl\",\"track\",\"comfort\",\"choke\",\"comein\",\"cola\",\"deputy\",\"deadpool\",\"bremen\",\"borders\",\"bronson\",\"break\",\"hotass\",\"hotmail1\",\"eskimo\",\"eggman\",\"koko\",\"kieran\",\"katrin\",\"kordell1\",\"komodo\",\"mone\",\"munich\",\"vvvvvvvv\",\"winger\",\"jaeger\",\"ivan\",\"jackson5\",\"2222222\",\"bergkamp\",\"bennie\",\"bigben\",\"zanzibar\",\"worm\",\"xxx123\",\"sunny1\",\"373737\",\"services\",\"sheridan\",\"slater\",\"slayer1\",\"snoop\",\"stacie\",\"peachy\",\"thecure\",\"times\",\"little1\",\"jennaj\",\"marquis\",\"middle\",\"rasta69\",\"1114\",\"aries\",\"havana\",\"gratis\",\"calgary\",\"checkers\",\"flanker\",\"salope\",\"dirty1\",\"draco\",\"dogface\",\"luv2epus\",\"rainbow6\",\"qwerty123\",\"umpire\",\"turnip\",\"vbnm\",\"tucson\",\"troll\",\"aileen\",\"codered\",\"commande\",\"damon\",\"nana\",\"neon\",\"nico\",\"nightwin\",\"neil\",\"boomer1\",\"bushido\",\"hotmail0\",\"horace\",\"enternow\",\"kaitlyn\",\"keepout\",\"karen1\",\"mindy\",\"mnbv\",\"viewsoni\",\"volcom\",\"wizards\",\"wine\",\"1995\",\"berkeley\",\"bite\",\"zach\",\"woodstoc\",\"tarpon\",\"shinobi\",\"starstar\",\"phat\",\"patience\",\"patrol\",\"toolbox\",\"julien\",\"johnny1\",\"joebob\",\"marble\",\"riders\",\"reflex\",\"120676\",\"1235\",\"angelus\",\"anthrax\",\"atlas\",\"hawks\",\"grandam\",\"harlem\",\"hawaii50\",\"gorgeous\",\"655321\",\"cabron\",\"challeng\",\"callisto\",\"firewall\",\"firefire\",\"fischer\",\"flyer\",\"flower1\",\"factory\",\"federal\",\"gambler\",\"frodo1\",\"funk\",\"sand\",\"sam123\",\"scania\",\"dingo\",\"papito\",\"passmast\",\"olive\",\"palermo\",\"ou8123\",\"lock\",\"ranch\",\"pride\",\"randy1\",\"twiggy\",\"travis1\",\"transfer\",\"treetop\",\"addict\",\"admin1\",\"963852\",\"aceace\",\"clarissa\",\"cliff\",\"cirrus\",\"clifton\",\"colin\",\"bobdole\",\"bonner\",\"bogus\",\"bonjovi\",\"bootsy\",\"boater\",\"elway7\",\"edison\",\"kelvin\",\"kenny1\",\"moonshin\",\"montag\",\"moreno\",\"wayne1\",\"white1\",\"jazzy\",\"jakejake\",\"1994\",\"1991\",\"2828\",\"blunt\",\"bluejays\",\"beau\",\"belmont\",\"worthy\",\"systems\",\"sensei\",\"southpark\",\"stan\",\"peeper\",\"pharao\",\"pigpen\",\"tomahawk\",\"teensex\",\"leedsutd\",\"larkin\",\"jermaine\",\"jeepster\",\"jimjim\",\"josephin\",\"melons\",\"marlon\",\"matthias\",\"marriage\",\"robocop\",\"1003\",\"1027\",\"antelope\",\"azsxdc\",\"gordo\",\"hazard\",\"granada\",\"8989\",\"7894\",\"ceasar\",\"cabernet\",\"cheshire\",\"california\",\"chelle\",\"candy1\",\"fergie\",\"fanny\",\"fidelio\",\"giorgio\",\"fuckhead\",\"ruth\",\"sanford\",\"diego\",\"dominion\",\"devon\",\"panic\",\"longer\",\"mackie\",\"qawsed\",\"trucking\",\"twelve\",\"chloe1\",\"coral\",\"daddyo\",\"nostromo\",\"boyboy\",\"booster\",\"bucky\",\"honolulu\",\"esquire\",\"dynamite\",\"motor\",\"mollydog\",\"wilder\",\"windows1\",\"waffle\",\"wallet\",\"warning\",\"virus\",\"washburn\",\"wealth\",\"vincent1\",\"jabber\",\"jaguars\",\"javelin\",\"irishman\",\"idefix\",\"bigdog1\",\"blue42\",\"blanked\",\"blue32\",\"biteme1\",\"bearcats\",\"blaine\",\"yessir\",\"sylveste\",\"team\",\"stephan\",\"sunfire\",\"tbird\",\"stryker\",\"3ip76k2\",\"sevens\",\"sheldon\",\"pilgrim\",\"tenchi\",\"titman\",\"leeds\",\"lithium\",\"lander\",\"linkin\",\"landon\",\"marijuan\",\"mariner\",\"markie\",\"midnite\",\"reddwarf\",\"1129\",\"123asd\",\"12312312\",\"allstar\",\"albany\",\"asdf12\",\"antonia\",\"aspen\",\"hardball\",\"goldfing\",\"7734\",\"49ers\",\"carlo\",\"chambers\",\"cable\",\"carnage\",\"callum\",\"carlos1\",\"fitter\",\"fandango\",\"festival\",\"flame\",\"gofast\",\"gamma\",\"fucmy69\",\"scrapper\",\"dogwood\",\"django\",\"magneto\",\"loose\",\"premium\",\"addison\",\"9999999\",\"abc1234\",\"cromwell\",\"newyear\",\"nichole\",\"bookie\",\"burns\",\"bounty\",\"brown1\",\"bologna\",\"earl\",\"entrance\",\"elway\",\"killjoy\",\"kerry\",\"keenan\",\"kick\",\"klondike\",\"mini\",\"mouser\",\"mohammed\",\"wayer\",\"impreza\",\"irene\",\"insomnia\",\"24682468\",\"2580\",\"24242424\",\"billbill\",\"bellaco\",\"blessing\",\"blues1\",\"bedford\",\"blanco\",\"blunts\",\"stinks\",\"teaser\",\"streets\",\"sf49ers\",\"shovel\",\"solitude\",\"spikey\",\"sonia\",\"pimpdadd\",\"timeout\",\"toffee\",\"lefty\",\"johndoe\",\"johndeer\",\"mega\",\"manolo\",\"mentor\",\"margie\",\"ratman\",\"ridge\",\"record\",\"rhodes\",\"robin1\",\"1124\",\"1210\",\"1028\",\"1226\",\"another\",\"babylove\",\"barbados\",\"harbor\",\"gramma\",\"646464\",\"carpente\",\"chaos1\",\"fishbone\",\"fireblad\",\"glasgow\",\"frogs\",\"scissors\",\"screamer\",\"salem\",\"scuba1\",\"ducks\",\"driven\",\"doggies\",\"dicky\",\"donovan\",\"obsidian\",\"rams\",\"progress\",\"tottenham\",\"aikman\",\"comanche\",\"corolla\",\"clarke\",\"conway\",\"cumslut\",\"cyborg\",\"dancing\",\"boston1\",\"bong\",\"houdini\",\"helmut\",\"elvisp\",\"edge\",\"keksa12\",\"misha\",\"monty1\",\"monsters\",\"wetter\",\"watford\",\"wiseguy\",\"veronika\",\"visitor\",\"janelle\",\"1989\",\"1987\",\"20202020\",\"biatch\",\"beezer\",\"bigguns\",\"blueball\",\"bitchy\",\"wyoming\",\"yankees2\",\"wrestler\",\"stupid1\",\"sealteam\",\"sidekick\",\"simple1\",\"smackdow\",\"sporting\",\"spiral\",\"smeller\",\"sperm\",\"plato\",\"tophat\",\"test2\",\"theatre\",\"thick\",\"toomuch\",\"leigh\",\"jello\",\"jewish\",\"junkie\",\"maxim\",\"maxime\",\"meadow\",\"remingto\",\"roofer\",\"124038\",\"1018\",\"1269\",\"1227\",\"123457\",\"arkansas\",\"alberta\",\"aramis\",\"andersen\",\"beaker\",\"barcelona\",\"baltimor\",\"googoo\",\"goochi\",\"852456\",\"4711\",\"catcher\",\"carman\",\"champ1\",\"chess\",\"fortress\",\"fishfish\",\"firefigh\",\"geezer\",\"rsalinas\",\"samuel1\",\"saigon\",\"scooby1\",\"doors\",\"dick1\",\"devin\",\"doom\",\"dirk\",\"doris\",\"dontknow\",\"load\",\"magpies\",\"manfred\",\"raleigh\",\"vader1\",\"universa\",\"tulips\",\"defense\",\"mygirl\",\"burn\",\"bowtie\",\"bowman\",\"holycow\",\"heinrich\",\"honeys\",\"enforcer\",\"katherine\",\"minerva\",\"wheeler\",\"witch\",\"waterboy\",\"jaime\",\"irving\",\"1992\",\"23skidoo\",\"bimbo\",\"blue11\",\"birddog\",\"woodman\",\"womble\",\"zildjian\",\"030303\",\"stinker\",\"stoppedby\",\"sexybabe\",\"speakers\",\"slugger\",\"spotty\",\"smoke1\",\"polopolo\",\"perfect1\",\"things\",\"torpedo\",\"tender\",\"thrasher\",\"lakeside\",\"lilith\",\"jimmys\",\"jerk\",\"junior1\",\"marsh\",\"masamune\",\"rice\",\"root\",\"1214\",\"april1\",\"allgood\",\"bambi\",\"grinch\",\"767676\",\"5252\",\"cherries\",\"chipmunk\",\"cezer121\",\"carnival\",\"capecod\",\"finder\",\"flint\",\"fearless\",\"goats\",\"funstuff\",\"gideon\",\"savior\",\"seabee\",\"sandro\",\"schalke\",\"salasana\",\"disney1\",\"duckman\",\"options\",\"pancake\",\"pantera1\",\"malice\",\"lookin\",\"love123\",\"lloyd\",\"qwert123\",\"puppet\",\"prayers\",\"union\",\"tracer\",\"crap\",\"creation\",\"cwoui\",\"nascar24\",\"hookers\",\"hollie\",\"hewitt\",\"estrella\",\"erection\",\"ernesto\",\"ericsson\",\"edthom\",\"kaylee\",\"kokoko\",\"kokomo\",\"kimball\",\"morales\",\"mooses\",\"monk\",\"walton\",\"weekend\",\"inter\",\"internal\",\"1michael\",\"1993\",\"19781978\",\"25252525\",\"worker\",\"summers\",\"surgery\",\"shibby\",\"shamus\",\"skibum\",\"sheepdog\",\"sex69\",\"spliff\",\"slipper\",\"spoons\",\"spanner\",\"snowbird\",\"slow\",\"toriamos\",\"temp123\",\"tennesse\",\"lakers1\",\"jomama\",\"julio\",\"mazdarx7\",\"rosario\",\"recon\",\"riddle\",\"room\",\"revolver\",\"1025\",\"1101\",\"barney1\",\"babycake\",\"baylor\",\"gotham\",\"gravity\",\"hallowee\",\"hancock\",\"616161\",\"515000\",\"caca\",\"cannabis\",\"castor\",\"chilli\",\"fdsa\",\"getout\",\"fuck69\",\"gators1\",\"sail\",\"sable\",\"rumble\",\"dolemite\",\"dork\",\"dickens\",\"duffer\",\"dodgers1\",\"painting\",\"onions\",\"logger\",\"lorena\",\"lookout\",\"magic32\",\"port\",\"poon\",\"prime\",\"twat\",\"coventry\",\"citroen\",\"christmas\",\"civicsi\",\"cocksucker\",\"coochie\",\"compaq1\",\"nancy1\",\"buzzer\",\"boulder\",\"butkus\",\"bungle\",\"hogtied\",\"honor\",\"hero\",\"hotgirls\",\"hilary\",\"heidi1\",\"eggplant\",\"mustang6\",\"mortal\",\"monkey12\",\"wapapapa\",\"wendy1\",\"volleyba\",\"vibrate\",\"vicky\",\"bledsoe\",\"blink\",\"birthday4\",\"woof\",\"xxxxx1\",\"talk\",\"stephen1\",\"suburban\",\"stock\",\"tabatha\",\"sheeba\",\"start1\",\"soccer10\",\"something\",\"starcraft\",\"soccer12\",\"peanut1\",\"plastics\",\"penthous\",\"peterbil\",\"tools\",\"tetsuo\",\"torino\",\"tennis1\",\"termite\",\"ladder\",\"last\",\"lemmein\",\"lakewood\",\"jughead\",\"melrose\",\"megane\",\"reginald\",\"redone\",\"request\",\"angela1\",\"alive\",\"alissa\",\"goodgirl\",\"gonzo1\",\"golden1\",\"gotyoass\",\"656565\",\"626262\",\"capricor\",\"chains\",\"calvin1\",\"foolish\",\"fallon\",\"getmoney\",\"godfather\",\"gabber\",\"gilligan\",\"runaway\",\"salami\",\"dummy\",\"dungeon\",\"dudedude\",\"dumb\",\"dope\",\"opus\",\"paragon\",\"oxygen\",\"panhead\",\"pasadena\",\"opendoor\",\"odyssey\",\"magellan\",\"lottie\",\"printing\",\"pressure\",\"prince1\",\"trustme\",\"christa\",\"court\",\"davies\",\"neville\",\"nono\",\"bread\",\"buffet\",\"hound\",\"kajak\",\"killkill\",\"mona\",\"moto\",\"mildred\",\"winner1\",\"vixen\",\"whiteboy\",\"versace\",\"winona\",\"voyager1\",\"instant\",\"indy\",\"jackjack\",\"bigal\",\"beech\",\"biggun\",\"blake1\",\"blue99\",\"big1\",\"woods\",\"synergy\",\"success1\",\"336699\",\"sixty9\",\"shark1\",\"skin\",\"simba1\",\"sharpe\",\"sebring\",\"spongebo\",\"spunk\",\"springs\",\"sliver\",\"phialpha\",\"password9\",\"pizza1\",\"plane\",\"perkins\",\"pookey\",\"tickling\",\"lexingky\",\"lawman\",\"joe123\",\"jolly\",\"mike123\",\"romeo1\",\"redheads\",\"reserve\",\"apple123\",\"alanis\",\"ariane\",\"antony\",\"backbone\",\"aviation\",\"band\",\"hand\",\"green123\",\"haley\",\"carlitos\",\"byebye\",\"cartman1\",\"camden\",\"chewy\",\"camaross\",\"favorite6\",\"forumwp\",\"franks\",\"ginscoot\",\"fruity\",\"sabrina1\",\"devil666\",\"doughnut\",\"pantie\",\"oldone\",\"paintball\",\"lumina\",\"rainbow1\",\"prosper\",\"total\",\"true\",\"umbrella\",\"ajax\",\"951753\",\"achtung\",\"abc12345\",\"compact\",\"color\",\"corn\",\"complete\",\"christi\",\"closer\",\"corndog\",\"deerhunt\",\"darklord\",\"dank\",\"nimitz\",\"brandy1\",\"bowl\",\"breanna\",\"holidays\",\"hetfield\",\"holein1\",\"hillbill\",\"hugetits\",\"east\",\"evolutio\",\"kenobi\",\"whiplash\",\"waldo\",\"wg8e3wjf\",\"wing\",\"istanbul\",\"invis\",\"1996\",\"benton\",\"bigjohn\",\"bluebell\",\"beef\",\"beater\",\"benji\",\"bluejay\",\"xyzzy\",\"wrestling\",\"storage\",\"superior\",\"suckdick\",\"taichi\",\"stellar\",\"stephane\",\"shaker\",\"skirt\",\"seymour\",\"semper\",\"splurge\",\"squeak\",\"pearls\",\"playball\",\"pitch\",\"phyllis\",\"pooky\",\"piss\",\"tomas\",\"titfuck\",\"joemama\",\"johnny5\",\"marcello\",\"marjorie\",\"married\",\"maxi\",\"rhubarb\",\"rockwell\",\"ratboy\",\"reload\",\"rooney\",\"redd\",\"1029\",\"1030\",\"1220\",\"anchor\",\"bbking\",\"baritone\",\"gryphon\",\"gone\",\"57chevy\",\"494949\",\"celeron\",\"fishy\",\"gladiator\",\"fucker1\",\"roswell\",\"dougie\",\"downer\",\"dicker\",\"diva\",\"domingo\",\"donjuan\",\"nympho\",\"omar\",\"praise\",\"racers\",\"trick\",\"trauma\",\"truck1\",\"trample\",\"acer\",\"corwin\",\"cricket1\",\"clemente\",\"climax\",\"denmark\",\"cuervo\",\"notnow\",\"nittany\",\"neutron\",\"native\",\"bosco1\",\"buffa\",\"breaker\",\"hello2\",\"hydro\",\"estelle\",\"exchange\",\"explore\",\"kisskiss\",\"kittys\",\"kristian\",\"montecar\",\"modem\",\"mississi\",\"mooney\",\"weiner\",\"washington\",\"20012001\",\"bigdick1\",\"bibi\",\"benfica\",\"yahoo1\",\"striper\",\"tabasco\",\"supra\",\"383838\",\"456654\",\"seneca\",\"serious\",\"shuttle\",\"socks\",\"stanton\",\"penguin1\",\"pathfind\",\"testibil\",\"thethe\",\"listen\",\"lightning\",\"lighting\",\"jeter2\",\"marma\",\"mark1\",\"metoo\",\"republic\",\"rollin\",\"redleg\",\"redbone\",\"redskin\",\"rocco\",\"1245\",\"armand\",\"anthony7\",\"altoids\",\"andrews\",\"barley\",\"away\",\"asswipe\",\"bauhaus\",\"bbbbbb1\",\"gohome\",\"harrier\",\"golfpro\",\"goldeney\",\"818181\",\"6666666\",\"5000\",\"5rxypn\",\"cameron1\",\"calling\",\"checker\",\"calibra\",\"fields\",\"freefree\",\"faith1\",\"fist\",\"fdm7ed\",\"finally\",\"giraffe\",\"glasses\",\"giggles\",\"fringe\",\"gate\",\"georgie\",\"scamper\",\"rrpass1\",\"screwyou\",\"duffy\",\"deville\",\"dimples\",\"pacino\",\"ontario\",\"passthie\",\"oberon\",\"quest1\",\"postov1000\",\"puppydog\",\"puffer\",\"raining\",\"protect\",\"qwerty7\",\"trey\",\"tribe\",\"ulysses\",\"tribal\",\"adam25\",\"a1234567\",\"compton\",\"collie\",\"cleopatr\",\"contract\",\"davide\",\"norris\",\"namaste\",\"myrtle\",\"buffalo1\",\"bonovox\",\"buckley\",\"bukkake\",\"burning\",\"burner\",\"bordeaux\",\"burly\",\"hun999\",\"emilie\",\"elmo\",\"enters\",\"enrique\",\"keisha\",\"mohawk\",\"willard\",\"vgirl\",\"whale\",\"vince\",\"jayden\",\"jarrett\",\"1812\",\"1943\",\"222333\",\"bigjim\",\"bigd\",\"zoom\",\"wordup\",\"ziggy1\",\"yahooo\",\"workout\",\"young1\",\"written\",\"xmas\",\"zzzzzz1\",\"surfer1\",\"strife\",\"sunlight\",\"tasha1\",\"skunk\",\"shauna\",\"seth\",\"soft\",\"sprinter\",\"peaches1\",\"planes\",\"pinetree\",\"plum\",\"pimping\",\"theforce\",\"thedon\",\"toocool\",\"leeann\",\"laddie\",\"list\",\"lkjh\",\"lara\",\"joke\",\"jupiter1\",\"mckenzie\",\"matty\",\"rene\",\"redrose\",\"1200\",\"102938\",\"annmarie\",\"alexa\",\"antares\",\"austin31\",\"ground\",\"goose1\",\"737373\",\"78945612\",\"789987\",\"6464\",\"calimero\",\"caster\",\"casper1\",\"cement\",\"chevrolet\",\"chessie\",\"caddy\",\"chill\",\"child\",\"canucks\",\"feeling\",\"favorite\",\"fellatio\",\"f00tball\",\"francine\",\"gateway2\",\"gigi\",\"gamecube\",\"giovanna\",\"rugby1\",\"scheisse\",\"dshade\",\"dudes\",\"dixie1\",\"owen\",\"offshore\",\"olympia\",\"lucas1\",\"macaroni\",\"manga\",\"pringles\",\"puff\",\"tribble\",\"trouble1\",\"ussy\",\"core\",\"clint\",\"coolhand\",\"colonial\",\"colt\",\"debra\",\"darthvad\",\"dealer\",\"cygnusx1\",\"natalie1\",\"newark\",\"husband\",\"hiking\",\"errors\",\"eighteen\",\"elcamino\",\"emmett\",\"emilia\",\"koolaid\",\"knight1\",\"murphy1\",\"volcano\",\"idunno\",\"2005\",\"2233\",\"block\",\"benito\",\"blueberr\",\"biguns\",\"yamahar1\",\"zapper\",\"zorro1\",\"0911\",\"3006\",\"sixsix\",\"shopper\",\"siobhan\",\"sextoy\",\"stafford\",\"snowboard\",\"speedway\",\"sounds\",\"pokey\",\"peabody\",\"playboy2\",\"titi\",\"think\",\"toast\",\"toonarmy\",\"lister\",\"lambda\",\"joecool\",\"jonas\",\"joyce\",\"juniper\",\"mercer\",\"max123\",\"manny\",\"massimo\",\"mariposa\",\"met2002\",\"reggae\",\"ricky1\",\"1236\",\"1228\",\"1016\",\"all4one\",\"arianna\",\"baberuth\",\"asgard\",\"gonzales\",\"484848\",\"5683\",\"6669\",\"catnip\",\"chiquita\",\"charisma\",\"capslock\",\"cashmone\",\"chat\",\"figure\",\"galant\",\"frenchy\",\"gizmodo1\",\"girlies\",\"gabby\",\"garner\",\"screwy\",\"doubled\",\"divers\",\"dte4uw\",\"done\",\"dragonfl\",\"maker\",\"locks\",\"rachelle\",\"treble\",\"twinkie\",\"trailer\",\"tropical\",\"acid\",\"crescent\",\"cooking\",\"cococo\",\"cory\",\"dabomb\",\"daffy\",\"dandfa\",\"cyrano\",\"nathanie\",\"briggs\",\"boners\",\"helium\",\"horton\",\"hoffman\",\"hellas\",\"espresso\",\"emperor\",\"killa\",\"kikimora\",\"wanda\",\"w4g8at\",\"verona\",\"ilikeit\",\"iforget\",\"1944\",\"20002000\",\"birthday1\",\"beatles1\",\"blue1\",\"bigdicks\",\"beethove\",\"blacklab\",\"blazers\",\"benny1\",\"woodwork\",\"0069\",\"0101\",\"taffy\",\"susie\",\"survivor\",\"swim\",\"stokes\",\"4567\",\"shodan\",\"spoiled\",\"steffen\",\"pissed\",\"pavlov\",\"pinnacle\",\"place\",\"petunia\",\"terrell\",\"thirty\",\"toni\",\"tito\",\"teenie\",\"lemonade\",\"lily\",\"lillie\",\"lalakers\",\"lebowski\",\"lalalala\",\"ladyboy\",\"jeeper\",\"joyjoy\",\"mercury1\",\"mantle\",\"mannn\",\"rocknrol\",\"riversid\",\"reeves\",\"123aaa\",\"11112222\",\"121314\",\"1021\",\"1004\",\"1120\",\"allen1\",\"ambers\",\"amstel\",\"ambrose\",\"alice1\",\"alleycat\",\"allegro\",\"ambrosia\",\"alley\",\"australia\",\"hatred\",\"gspot\",\"graves\",\"goodsex\",\"hattrick\",\"harpoon\",\"878787\",\"8inches\",\"4wwvte\",\"cassandr\",\"charlie123\",\"case\",\"chavez\",\"fighting\",\"gabriela\",\"gatsby\",\"fudge\",\"gerry\",\"generic\",\"gareth\",\"fuckme2\",\"samm\",\"sage\",\"seadog\",\"satchmo\",\"scxakv\",\"santafe\",\"dipper\",\"dingle\",\"dizzy\",\"outoutout\",\"madmad\",\"london1\",\"qbg26i\",\"pussy123\",\"randolph\",\"vaughn\",\"tzpvaw\",\"vamp\",\"comedy\",\"comp\",\"cowgirl\",\"coldplay\",\"dawgs\",\"delaney\",\"nt5d27\",\"novifarm\",\"needles\",\"notredam\",\"newness\",\"mykids\",\"bryan1\",\"bouncer\",\"hihihi\",\"honeybee\",\"iceman1\",\"herring\",\"horn\",\"hook\",\"hotlips\",\"dynamo\",\"klaus\",\"kittie\",\"kappa\",\"kahlua\",\"muffy\",\"mizzou\",\"mohamed\",\"musical\",\"wannabe\",\"wednesda\",\"whatup\",\"weller\",\"waterfal\",\"willy1\",\"invest\",\"blanche\",\"bear1\",\"billabon\",\"youknow\",\"zelda\",\"yyyyyy1\",\"zachary1\",\"01234567\",\"070462\",\"zurich\",\"superstar\",\"storms\",\"tail\",\"stiletto\",\"strat\",\"427900\",\"sigmachi\",\"shelter\",\"shells\",\"sexy123\",\"smile1\",\"sophie1\",\"stefano\",\"stayout\",\"somerset\",\"smithers\",\"playmate\",\"pinkfloyd\",\"phish1\",\"payday\",\"thebear\",\"telefon\",\"laetitia\",\"kswbdu\",\"larson\",\"jetta\",\"jerky\",\"melina\",\"metro\",\"revoluti\",\"retire\",\"respect\",\"1216\",\"1201\",\"1204\",\"1222\",\"1115\",\"archange\",\"barry1\",\"handball\",\"676767\",\"chandra\",\"chewbacc\",\"flesh\",\"furball\",\"gocubs\",\"fruit\",\"fullback\",\"gman\",\"gentle\",\"dunbar\",\"dewalt\",\"dominiqu\",\"diver1\",\"dhip6a\",\"olemiss\",\"ollie\",\"mandrake\",\"mangos\",\"pretzel\",\"pusssy\",\"tripleh\",\"valdez\",\"vagabond\",\"clean\",\"comment\",\"crew\",\"clovis\",\"deaths\",\"dandan\",\"csfbr5yy\",\"deadspin\",\"darrel\",\"ninguna\",\"noah\",\"ncc74656\",\"bootsie\",\"bp2002\",\"bourbon\",\"brennan\",\"bumble\",\"books\",\"hose\",\"heyyou\",\"houston1\",\"hemlock\",\"hippo\",\"hornets\",\"hurricane\",\"horseman\",\"hogan\",\"excess\",\"extensa\",\"muffin1\",\"virginie\",\"werdna\",\"idontknow\",\"info\",\"iron\",\"jack1\",\"1bitch\",\"151nxjmt\",\"bendover\",\"bmwbmw\",\"bills\",\"zaq123\",\"wxcvbn\",\"surprise\",\"supernov\",\"tahoe\",\"talbot\",\"simona\",\"shakur\",\"sexyone\",\"seviyi\",\"sonja\",\"smart1\",\"speed1\",\"pepito\",\"phantom1\",\"playoffs\",\"terry1\",\"terrier\",\"laser1\",\"lite\",\"lancia\",\"johngalt\",\"jenjen\",\"jolene\",\"midori\",\"message\",\"maserati\",\"matteo\",\"mental\",\"miami1\",\"riffraff\",\"ronald1\",\"reason\",\"rhythm\",\"1218\",\"1026\",\"123987\",\"1015\",\"1103\",\"armada\",\"architec\",\"austria\",\"gotmilk\",\"hawkins\",\"gray\",\"camila\",\"camp\",\"cambridg\",\"charge\",\"camero\",\"flex\",\"foreplay\",\"getoff\",\"glacier\",\"glotest\",\"froggie\",\"gerbil\",\"rugger\",\"sanity72\",\"salesman\",\"donna1\",\"dreaming\",\"deutsch\",\"orchard\",\"oyster\",\"palmtree\",\"ophelia\",\"pajero\",\"m5wkqf\",\"magenta\",\"luckyone\",\"treefrog\",\"vantage\",\"usmarine\",\"tyvugq\",\"uptown\",\"abacab\",\"aaaaaa1\",\"advance\",\"chuck1\",\"delmar\",\"darkange\",\"cyclones\",\"nate\",\"navajo\",\"nope\",\"border\",\"bubba123\",\"building\",\"iawgk2\",\"hrfzlz\",\"dylan1\",\"enrico\",\"encore\",\"emilio\",\"eclipse1\",\"killian\",\"kayleigh\",\"mutant\",\"mizuno\",\"mustang2\",\"video1\",\"viewer\",\"weed420\",\"whales\",\"jaguar1\",\"insight\",\"1990\",\"159159\",\"1love\",\"bliss\",\"bears1\",\"bigtruck\",\"binder\",\"bigboss\",\"blitz\",\"xqgann\",\"yeahyeah\",\"zeke\",\"zardoz\",\"stickman\",\"table\",\"3825\",\"signal\",\"sentra\",\"side\",\"shiva\",\"skipper1\",\"singapor\",\"southpaw\",\"sonora\",\"squid\",\"slamdunk\",\"slimjim\",\"placid\",\"photon\",\"placebo\",\"pearl1\",\"test12\",\"therock1\",\"tiger123\",\"leinad\",\"legman\",\"jeepers\",\"joeblow\",\"mccarthy\",\"mike23\",\"redcar\",\"rhinos\",\"rjw7x4\",\"1102\",\"13576479\",\"112211\",\"alcohol\",\"gwju3g\",\"greywolf\",\"7bgiqk\",\"7878\",\"535353\",\"4snz9g\",\"candyass\",\"cccccc1\",\"carola\",\"catfight\",\"cali\",\"fister\",\"fosters\",\"finland\",\"frankie1\",\"gizzmo\",\"fuller\",\"royalty\",\"rugrat\",\"sandie\",\"rudolf\",\"dooley\",\"dive\",\"doreen\",\"dodo\",\"drop\",\"oemdlg\",\"out3xf\",\"paddy\",\"opennow\",\"puppy1\",\"qazwsxedc\",\"pregnant\",\"quinn\",\"ramjet\",\"under\",\"uncle\",\"abraxas\",\"corner\",\"creed\",\"cocoa\",\"crown\",\"cows\",\"cn42qj\",\"dancer1\",\"death666\",\"damned\",\"nudity\",\"negative\",\"nimda2k\",\"buick\",\"bobb\",\"braves1\",\"brook\",\"henrik\",\"higher\",\"hooligan\",\"dust\",\"everlast\",\"karachi\",\"mortis\",\"mulligan\",\"monies\",\"motocros\",\"wally1\",\"weapon\",\"waterman\",\"view\",\"willie1\",\"vicki\",\"inspiron\",\"1test\",\"2929\",\"bigblack\",\"xytfu7\",\"yackwin\",\"zaq1xsw2\",\"yy5rbfsc\",\"100100\",\"0660\",\"tahiti\",\"takehana\",\"talks\",\"332211\",\"3535\",\"sedona\",\"seawolf\",\"skydiver\",\"shine\",\"spleen\",\"slash\",\"spjfet\",\"special1\",\"spooner\",\"slimshad\",\"sopranos\",\"spock1\",\"penis1\",\"patches1\",\"terri\",\"thierry\",\"thething\",\"toohot\",\"large\",\"limpone\",\"johnnie\",\"mash4077\",\"matchbox\",\"masterp\",\"maxdog\",\"ribbit\",\"reed\",\"rita\",\"rockin\",\"redhat\",\"rising\",\"1113\",\"14789632\",\"1331\",\"allday\",\"aladin\",\"andrey\",\"amethyst\",\"ariel\",\"anytime\",\"baseball1\",\"athome\",\"basil\",\"goofy1\",\"greenman\",\"gustavo\",\"goofball\",\"ha8fyp\",\"goodday\",\"778899\",\"charon\",\"chappy\",\"castillo\",\"caracas\",\"cardiff\",\"capitals\",\"canada1\",\"cajun\",\"catter\",\"freddy1\",\"favorite2\",\"frazier\",\"forme\",\"follow\",\"forsaken\",\"feelgood\",\"gavin\",\"gfxqx686\",\"garlic\",\"sarge\",\"saskia\",\"sanjose\",\"russ\",\"salsa\",\"dilbert1\",\"dukeduke\",\"downhill\",\"longhair\",\"loop\",\"locutus\",\"lockdown\",\"malachi\",\"mamacita\",\"lolipop\",\"rainyday\",\"pumpkin1\",\"punker\",\"prospect\",\"rambo1\",\"rainbows\",\"quake\",\"twin\",\"trinity1\",\"trooper1\",\"aimee\",\"citation\",\"coolcat\",\"crappy\",\"default\",\"dental\",\"deniro\",\"d9ungl\",\"daddys\",\"napoli\",\"nautica\",\"nermal\",\"bukowski\",\"brick\",\"bubbles1\",\"bogota\",\"board\",\"branch\",\"breath\",\"buds\",\"hulk\",\"humphrey\",\"hitachi\",\"evans\",\"ender\",\"export\",\"kikiki\",\"kcchiefs\",\"kram\",\"morticia\",\"montrose\",\"mongo\",\"waqw3p\",\"wizzard\",\"visited\",\"whdbtp\",\"whkzyc\",\"image\",\"154ugeiu\",\"1fuck\",\"binky\",\"blind\",\"bigred1\",\"blubber\",\"benz\",\"becky1\",\"year2005\",\"wonderfu\",\"wooden\",\"xrated\",\"0001\",\"tampabay\",\"survey\",\"tammy1\",\"stuffer\",\"3mpz4r\",\"3000\",\"3some\",\"selina\",\"sierra1\",\"shampoo\",\"silk\",\"shyshy\",\"slapnuts\",\"standby\",\"spartan1\",\"sprocket\",\"sometime\",\"stanley1\",\"poker1\",\"plus\",\"thought\",\"theshit\",\"torture\",\"thinking\",\"lavalamp\",\"light1\",\"laserjet\",\"jediknig\",\"jjjjj1\",\"jocelyn\",\"mazda626\",\"menthol\",\"maximo\",\"margaux\",\"medic1\",\"release\",\"richter\",\"rhino1\",\"roach\",\"renate\",\"repair\",\"reveal\",\"1209\",\"1234321\",\"amigos\",\"apricot\",\"alexandra\",\"asdfgh1\",\"hairball\",\"hatter\",\"graduate\",\"grimace\",\"7xm5rq\",\"6789\",\"cartoons\",\"capcom\",\"cheesy\",\"cashflow\",\"carrots\",\"camping\",\"fanatic\",\"fool\",\"format\",\"fleming\",\"girlie\",\"glover\",\"gilmore\",\"gardner\",\"safeway\",\"ruthie\",\"dogfart\",\"dondon\",\"diapers\",\"outsider\",\"odin\",\"opiate\",\"lollol\",\"love12\",\"loomis\",\"mallrats\",\"prague\",\"primetime21\",\"pugsley\",\"program\",\"r29hqq\",\"touch\",\"valleywa\",\"airman\",\"abcdefg1\",\"darkone\",\"cummer\",\"dempsey\",\"damn\",\"nadia\",\"natedogg\",\"nineball\",\"ndeyl5\",\"natchez\",\"newone\",\"normandy\",\"nicetits\",\"buddy123\",\"buddys\",\"homely\",\"husky\",\"iceland\",\"hr3ytm\",\"highlife\",\"holla\",\"earthlin\",\"exeter\",\"eatmenow\",\"kimkim\",\"karine\",\"k2trix\",\"kernel\",\"kirkland\",\"money123\",\"moonman\",\"miles1\",\"mufasa\",\"mousey\",\"wilma\",\"wilhelm\",\"whites\",\"warhamme\",\"instinct\",\"jackass1\",\"2277\",\"20spanks\",\"blobby\",\"blair\",\"blinky\",\"bikers\",\"blackjack\",\"becca\",\"blue23\",\"xman\",\"wyvern\",\"085tzzqi\",\"zxzxzx\",\"zsmj2v\",\"suede\",\"t26gn4\",\"sugars\",\"sylvie\",\"tantra\",\"swoosh\",\"swiss\",\"4226\",\"4271\",\"321123\",\"383pdjvl\",\"shoe\",\"shane1\",\"shelby1\",\"spades\",\"spain\",\"smother\",\"soup\",\"sparhawk\",\"pisser\",\"photo1\",\"pebble\",\"phones\",\"peavey\",\"picnic\",\"pavement\",\"terra\",\"thistle\",\"tokyo\",\"therapy\",\"lives\",\"linden\",\"kronos\",\"lilbit\",\"linux\",\"johnston\",\"material\",\"melanie1\",\"marbles\",\"redlight\",\"reno\",\"recall\",\"1208\",\"1138\",\"1008\",\"alchemy\",\"aolsucks\",\"alexalex\",\"atticus\",\"auditt\",\"ballet\",\"b929ezzh\",\"goodyear\",\"hanna\",\"griffith\",\"gubber\",\"863abgsg\",\"7474\",\"797979\",\"464646\",\"543210\",\"4zqauf\",\"4949\",\"ch5nmk\",\"carlito\",\"chewey\",\"carebear\",\"caleb\",\"checkmat\",\"cheddar\",\"chachi\",\"fever\",\"forgetit\",\"fine\",\"forlife\",\"giants1\",\"gates\",\"getit\",\"gamble\",\"gerhard\",\"galileo\",\"g3ujwg\",\"ganja\",\"rufus1\",\"rushmore\",\"scouts\",\"discus\",\"dudeman\",\"olympus\",\"oscars\",\"osprey\",\"madcow\",\"locust\",\"loyola\",\"mammoth\",\"proton\",\"rabbit1\",\"question\",\"ptfe3xxp\",\"pwxd5x\",\"purple1\",\"punkass\",\"prophecy\",\"uyxnyd\",\"tyson1\",\"aircraft\",\"access99\",\"abcabc\",\"cocktail\",\"colts\",\"civilwar\",\"cleveland\",\"claudia1\",\"contour\",\"clement\",\"dddddd1\",\"cypher\",\"denied\",\"dapzu455\",\"dagmar\",\"daisydog\",\"name\",\"noles\",\"butters\",\"buford\",\"hoochie\",\"hotel\",\"hoser\",\"eddy\",\"ellis\",\"eldiablo\",\"kingrich\",\"mudvayne\",\"motown\",\"mp8o6d\",\"wife\",\"vipergts\",\"italiano\",\"innocent\",\"2055\",\"2211\",\"beavers\",\"bloke\",\"blade1\",\"yamato\",\"zooropa\",\"yqlgr667\",\"050505\",\"zxcvbnm1\",\"zw6syj\",\"suckcock\",\"tango1\",\"swing\",\"stern\",\"stephens\",\"swampy\",\"susanna\",\"tammie\",\"445566\",\"333666\",\"380zliki\",\"sexpot\",\"sexylady\",\"sixtynin\",\"sickboy\",\"spiffy\",\"sleeping\",\"skylark\",\"sparkles\",\"slam\",\"pintail\",\"phreak\",\"places\",\"teller\",\"timtim\",\"tires\",\"thighs\",\"left\",\"latex\",\"llamas\",\"letsdoit\",\"lkjhg\",\"landmark\",\"letters\",\"lizzard\",\"marlins\",\"marauder\",\"metal1\",\"manu\",\"register\",\"righton\",\"1127\",\"alain\",\"alcat\",\"amigo\",\"basebal1\",\"azertyui\",\"attract\",\"azrael\",\"hamper\",\"gotenks\",\"golfgti\",\"gutter\",\"hawkwind\",\"h2slca\",\"harman\",\"grace1\",\"6chid8\",\"789654\",\"canine\",\"casio\",\"cazzo\",\"chamber\",\"cbr900\",\"cabrio\",\"calypso\",\"capetown\",\"feline\",\"flathead\",\"fisherma\",\"flipmode\",\"fungus\",\"goal\",\"g9zns4\",\"full\",\"giggle\",\"gabriel1\",\"fuck123\",\"saffron\",\"dogmeat\",\"dreamcas\",\"dirtydog\",\"dunlop\",\"douche\",\"dresden\",\"dickdick\",\"destiny1\",\"pappy\",\"oaktree\",\"lydia\",\"luft4\",\"puta\",\"prayer\",\"ramada\",\"trumpet1\",\"vcradq\",\"tulip\",\"tracy71\",\"tycoon\",\"aaaaaaa1\",\"conquest\",\"click\",\"chitown\",\"corps\",\"creepers\",\"constant\",\"couples\",\"code\",\"cornhole\",\"danman\",\"dada\",\"density\",\"d9ebk7\",\"cummins\",\"darth\",\"cute\",\"nash\",\"nirvana1\",\"nixon\",\"norbert\",\"nestle\",\"brenda1\",\"bonanza\",\"bundy\",\"buddies\",\"hotspur\",\"heavy\",\"horror\",\"hufmqw\",\"electro\",\"erasure\",\"enough\",\"elisabet\",\"etvww4\",\"ewyuza\",\"eric1\",\"kinder\",\"kenken\",\"kismet\",\"klaatu\",\"musician\",\"milamber\",\"willi\",\"waiting\",\"isacs155\",\"igor\",\"1million\",\"1letmein\",\"x35v8l\",\"yogi\",\"ywvxpz\",\"xngwoj\",\"zippy1\",\"020202\",\"****\",\"stonewal\",\"sweeney\",\"story\",\"sentry\",\"sexsexsex\",\"spence\",\"sonysony\",\"smirnoff\",\"star12\",\"solace\",\"sledge\",\"states\",\"snyder\",\"star1\",\"paxton\",\"pentagon\",\"pkxe62\",\"pilot1\",\"pommes\",\"paulpaul\",\"plants\",\"tical\",\"tictac\",\"toes\",\"lighthou\",\"lemans\",\"kubrick\",\"letmein22\",\"letmesee\",\"jys6wz\",\"jonesy\",\"jjjjjj1\",\"jigga\",\"joelle\",\"mate\",\"merchant\",\"redstorm\",\"riley1\",\"rosa\",\"relief\",\"14141414\",\"1126\",\"allison1\",\"badboy1\",\"asthma\",\"auggie\",\"basement\",\"hartley\",\"hartford\",\"hardwood\",\"gumbo\",\"616913\",\"57np39\",\"56qhxs\",\"4mnveh\",\"cake\",\"forbes\",\"fatluvr69\",\"fqkw5m\",\"fidelity\",\"feathers\",\"fresno\",\"godiva\",\"gecko\",\"gladys\",\"gibson1\",\"gogators\",\"fridge\",\"general1\",\"saxman\",\"rowing\",\"sammys\",\"scotts\",\"scout1\",\"sasasa\",\"samoht\",\"dragon69\",\"ducky\",\"dragonball\",\"driller\",\"p3wqaw\",\"nurse\",\"papillon\",\"oneone\",\"openit\",\"optimist\",\"longshot\",\"portia\",\"rapier\",\"pussy2\",\"ralphie\",\"tuxedo\",\"ulrike\",\"undertow\",\"trenton\",\"copenhag\",\"come\",\"delldell\",\"culinary\",\"deltas\",\"mytime\",\"nicky\",\"nickie\",\"noname\",\"noles1\",\"bucker\",\"bopper\",\"bullock\",\"burnout\",\"bryce\",\"hedges\",\"ibilltes\",\"hihje863\",\"hitter\",\"ekim\",\"espana\",\"eatme69\",\"elpaso\",\"envelope\",\"express1\",\"eeeeee1\",\"eatme1\",\"karaoke\",\"kara\",\"mustang5\",\"misses\",\"wellingt\",\"willem\",\"waterski\",\"webcam\",\"jasons\",\"infinite\",\"iloveyou!\",\"jakarta\",\"belair\",\"bigdad\",\"beerme\",\"yoshi\",\"yinyang\",\"zimmer\",\"x24ik3\",\"063dyjuy\",\"0000007\",\"ztmfcq\",\"stopit\",\"stooges\",\"survival\",\"stockton\",\"symow8\",\"strato\",\"2hot4u\",\"ship\",\"simons\",\"skins\",\"shakes\",\"sex1\",\"shield\",\"snacks\",\"softtail\",\"slimed123\",\"pizzaman\",\"pipe\",\"pitt\",\"pathetic\",\"pinto\",\"tigercat\",\"tonton\",\"lager\",\"lizzy\",\"juju\",\"john123\",\"jennings\",\"josiah\",\"jesse1\",\"jordon\",\"jingles\",\"martian\",\"mario1\",\"rootedit\",\"rochard\",\"redwine\",\"requiem\",\"riverrat\",\"rats\",\"1117\",\"1014\",\"1205\",\"althea\",\"allie\",\"amor\",\"amiga\",\"alpina\",\"alert\",\"atreides\",\"banana1\",\"bahamut\",\"hart\",\"golfman\",\"happines\",\"7uftyx\",\"5432\",\"5353\",\"5151\",\"4747\",\"byron\",\"chatham\",\"chadwick\",\"cherie\",\"foxfire\",\"ffvdj474\",\"freaked\",\"foreskin\",\"gayboy\",\"gggggg1\",\"glenda\",\"gameover\",\"glitter\",\"funny1\",\"scoobydoo\",\"scroll\",\"rudolph\",\"saddle\",\"saxophon\",\"dingbat\",\"digimon\",\"omicron\",\"parsons\",\"ohio\",\"panda1\",\"loloxx\",\"macintos\",\"lululu\",\"lollypop\",\"racer1\",\"queen1\",\"qwertzui\",\"prick\",\"upnfmc\",\"tyrant\",\"trout1\",\"9skw5g\",\"aceman\",\"adelaide\",\"acls2h\",\"aaabbb\",\"acapulco\",\"aggie\",\"comcast\",\"craft\",\"crissy\",\"cloudy\",\"cq2kph\",\"custer\",\"d6o8pm\",\"cybersex\",\"davecole\",\"darian\",\"crumbs\",\"daisey\",\"davedave\",\"dasani\",\"needle\",\"mzepab\",\"myporn\",\"narnia\",\"nineteen\",\"booger1\",\"bravo1\",\"budgie\",\"btnjey\",\"highlander\",\"hotel6\",\"humbug\",\"edwin\",\"ewtosi\",\"kristin1\",\"kobe\",\"knuckles\",\"keith1\",\"katarina\",\"muff\",\"muschi\",\"montana1\",\"wingchun\",\"wiggle\",\"whatthe\",\"walking\",\"watching\",\"vette1\",\"vols\",\"virago\",\"intj3a\",\"ishmael\",\"intern\",\"jachin\",\"illmatic\",\"199999\",\"2010\",\"beck\",\"blender\",\"bigpenis\",\"bengal\",\"blue1234\",\"your\",\"zaqxsw\",\"xray\",\"xxxxxxx1\",\"zebras\",\"yanks\",\"worlds\",\"tadpole\",\"stripes\",\"svetlana\",\"3737\",\"4343\",\"3728\",\"4444444\",\"368ejhih\",\"solar\",\"sonne\",\"smalls\",\"sniffer\",\"sonata\",\"squirts\",\"pitcher\",\"playstation\",\"pktmxr\",\"pescator\",\"points\",\"texaco\",\"lesbos\",\"lilian\",\"l8v53x\",\"jo9k2jw2\",\"jimbeam\",\"josie\",\"jimi\",\"jupiter2\",\"jurassic\",\"marines1\",\"maya\",\"rocket1\",\"ringer\",\"14725836\",\"12345679\",\"1219\",\"123098\",\"1233\",\"alessand\",\"althor\",\"angelika\",\"arch\",\"armando\",\"alpha123\",\"basher\",\"barefeet\",\"balboa\",\"bbbbb1\",\"banks\",\"badabing\",\"harriet\",\"gopack\",\"golfnut\",\"gsxr1000\",\"gregory1\",\"766rglqy\",\"8520\",\"753159\",\"8dihc6\",\"69camaro\",\"666777\",\"cheeba\",\"chino\",\"calendar\",\"cheeky\",\"camel1\",\"fishcake\",\"falling\",\"flubber\",\"giuseppe\",\"gianni\",\"gloves\",\"gnasher23\",\"frisbee\",\"fuzzy1\",\"fuzzball\",\"sauce\",\"save13tx\",\"schatz\",\"russell1\",\"sandra1\",\"scrotum\",\"scumbag\",\"sabre\",\"samdog\",\"dripping\",\"dragon12\",\"dragster\",\"paige\",\"orwell\",\"mainland\",\"lunatic\",\"lonnie\",\"lotion\",\"maine\",\"maddux\",\"qn632o\",\"poophead\",\"rapper\",\"porn4life\",\"producer\",\"rapunzel\",\"tracks\",\"velocity\",\"vanessa1\",\"ulrich\",\"trueblue\",\"vampire1\",\"abacus\",\"902100\",\"crispy\",\"corky\",\"crane\",\"chooch\",\"d6wnro\",\"cutie\",\"deal\",\"dabulls\",\"dehpye\",\"navyseal\",\"njqcw4\",\"nownow\",\"nigger1\",\"nightowl\",\"nonenone\",\"nightmar\",\"bustle\",\"buddy2\",\"boingo\",\"bugman\",\"bulletin\",\"bosshog\",\"bowie\",\"hybrid\",\"hillside\",\"hilltop\",\"hotlegs\",\"honesty\",\"hzze929b\",\"hhhhh1\",\"hellohel\",\"eloise\",\"evilone\",\"edgewise\",\"e5pftu\",\"eded\",\"embalmer\",\"excalibur\",\"elefant\",\"kenzie\",\"karl\",\"karin\",\"killah\",\"kleenex\",\"mouses\",\"mounta1n\",\"motors\",\"mutley\",\"muffdive\",\"vivitron\",\"winfield\",\"wednesday\",\"w00t88\",\"iloveit\",\"jarjar\",\"incest\",\"indycar\",\"17171717\",\"1664\",\"17011701\",\"222777\",\"2663\",\"beelch\",\"benben\",\"yitbos\",\"yyyyy1\",\"yasmin\",\"zapata\",\"zzzzz1\",\"stooge\",\"tangerin\",\"taztaz\",\"stewart1\",\"summer69\",\"sweetness\",\"system1\",\"surveyor\",\"stirling\",\"3qvqod\",\"3way\",\"456321\",\"sizzle\",\"simhrq\",\"shrink\",\"shawnee\",\"someday\",\"sparty\",\"ssptx452\",\"sphere\",\"spark\",\"slammed\",\"sober\",\"persian\",\"peppers\",\"ploppy\",\"pn5jvw\",\"poobear\",\"pianos\",\"plaster\",\"testme\",\"tiff\",\"thriller\",\"larissa\",\"lennox\",\"jewell\",\"master12\",\"messier\",\"rockey\",\"1229\",\"1217\",\"1478\",\"1009\",\"anastasi\",\"almighty\",\"amonra\",\"aragon\",\"argentin\",\"albino\",\"azazel\",\"grinder\",\"6uldv8\",\"83y6pv\",\"8888888\",\"4tlved\",\"515051\",\"carsten\",\"changes\",\"flanders\",\"flyers88\",\"ffffff1\",\"firehawk\",\"foreman\",\"firedog\",\"flashman\",\"ggggg1\",\"gerber\",\"godspeed\",\"galway\",\"giveitup\",\"funtimes\",\"gohan\",\"giveme\",\"geryfe\",\"frenchie\",\"sayang\",\"rudeboy\",\"savanna\",\"sandals\",\"devine\",\"dougal\",\"drag0n\",\"dga9la\",\"disaster\",\"desktop\",\"only\",\"onlyone\",\"otter\",\"pandas\",\"mafia\",\"lombard\",\"luckys\",\"lovejoy\",\"lovelife\",\"manders\",\"product\",\"qqh92r\",\"qcmfd454\",\"pork\",\"radar1\",\"punani\",\"ptbdhw\",\"turtles\",\"undertaker\",\"trs8f7\",\"tramp\",\"ugejvp\",\"abba\",\"911turbo\",\"acdc\",\"abcd123\",\"clever\",\"corina\",\"cristian\",\"create\",\"crash1\",\"colony\",\"crosby\",\"delboy\",\"daniele\",\"davinci\",\"daughter\",\"notebook\",\"niki\",\"nitrox\",\"borabora\",\"bonzai\",\"budd\",\"brisbane\",\"hotter\",\"heeled\",\"heroes\",\"hooyah\",\"hotgirl\",\"i62gbq\",\"horse1\",\"hills\",\"hpk2qc\",\"epvjb6\",\"echo\",\"korean\",\"kristie\",\"mnbvc\",\"mohammad\",\"mind\",\"mommy1\",\"munster\",\"wade\",\"wiccan\",\"wanted\",\"jacket\",\"2369\",\"bettyboo\",\"blondy\",\"bismark\",\"beanbag\",\"bjhgfi\",\"blackice\",\"yvtte545\",\"ynot\",\"yess\",\"zlzfrh\",\"wolvie\",\"007bond\",\"******\",\"tailgate\",\"tanya1\",\"sxhq65\",\"stinky1\",\"3234412\",\"3ki42x\",\"seville\",\"shimmer\",\"sheryl\",\"sienna\",\"shitshit\",\"skillet\",\"seaman\",\"sooners1\",\"solaris\",\"smartass\",\"pastor\",\"pasta\",\"pedros\",\"pennywis\",\"pfloyd\",\"tobydog\",\"thetruth\",\"lethal\",\"letme1n\",\"leland\",\"jenifer\",\"mario66\",\"micky\",\"rocky2\",\"rewq\",\"ripped\",\"reindeer\",\"1128\",\"1207\",\"1104\",\"1432\",\"aprilia\",\"allstate\",\"alyson\",\"bagels\",\"basic\",\"baggies\",\"barb\",\"barrage\",\"greatest\",\"gomez\",\"guru\",\"guard\",\"72d5tn\",\"606060\",\"4wcqjn\",\"caldwell\",\"chance1\",\"catalog\",\"faust\",\"film\",\"flange\",\"fran\",\"fartman\",\"geil\",\"gbhcf2\",\"fussball\",\"glen\",\"fuaqz4\",\"gameboy\",\"garnet\",\"geneviev\",\"rotary\",\"seahawk\",\"russel\",\"saab\",\"seal\",\"samadams\",\"devlt4\",\"ditto\",\"drevil\",\"drinker\",\"deuce\",\"dipstick\",\"donut\",\"octopus\",\"ottawa\",\"losangel\",\"loverman\",\"porky\",\"q9umoz\",\"rapture\",\"pump\",\"pussy4me\",\"university\",\"triplex\",\"ue8fpw\",\"trent\",\"trophy\",\"turbos\",\"troubles\",\"agent\",\"aaa340\",\"churchil\",\"crazyman\",\"consult\",\"creepy\",\"craven\",\"class\",\"cutiepie\",\"ddddd1\",\"dejavu\",\"cuxldv\",\"nettie\",\"nbvibt\",\"nikon\",\"niko\",\"norwood\",\"nascar1\",\"nolan\",\"bubba2\",\"boobear\",\"boogers\",\"buff\",\"bullwink\",\"bully\",\"bulldawg\",\"horsemen\",\"escalade\",\"editor\",\"eagle2\",\"dynamic\",\"ella\",\"efyreg\",\"edition\",\"kidney\",\"minnesot\",\"mogwai\",\"morrow\",\"msnxbi\",\"moonlight\",\"mwq6qlzo\",\"wars\",\"werder\",\"verygood\",\"voodoo1\",\"wheel\",\"iiiiii1\",\"159951\",\"1624\",\"1911a1\",\"2244\",\"bellagio\",\"bedlam\",\"belkin\",\"bill1\",\"woodrow\",\"xirt2k\",\"worship\",\"??????\",\"tanaka\",\"swift\",\"susieq\",\"sundown\",\"sukebe\",\"tales\",\"swifty\",\"2fast4u\",\"senate\",\"sexe\",\"sickness\",\"shroom\",\"shaun\",\"seaweed\",\"skeeter1\",\"status\",\"snicker\",\"sorrow\",\"spanky1\",\"spook\",\"patti\",\"phaedrus\",\"pilots\",\"pinch\",\"peddler\",\"theo\",\"thumper1\",\"tessie\",\"tiger7\",\"tmjxn151\",\"thematri\",\"l2g7k3\",\"letmeinn\",\"lazy\",\"jeffjeff\",\"joan\",\"johnmish\",\"mantra\",\"mariana\",\"mike69\",\"marshal\",\"mart\",\"mazda6\",\"riptide\",\"robots\",\"rental\",\"1107\",\"1130\",\"142857\",\"11001001\",\"1134\",\"armored\",\"alvin\",\"alec\",\"allnight\",\"alright\",\"amatuers\",\"bartok\",\"attorney\",\"astral\",\"baboon\",\"bahamas\",\"balls1\",\"bassoon\",\"hcleeb\",\"happyman\",\"granite\",\"graywolf\",\"golf1\",\"gomets\",\"8vjzus\",\"7890\",\"789123\",\"8uiazp\",\"5757\",\"474jdvff\",\"551scasi\",\"50cent\",\"camaro1\",\"cherry1\",\"chemist\",\"final\",\"firenze\",\"fishtank\",\"farrell\",\"freewill\",\"glendale\",\"frogfrog\",\"gerhardt\",\"ganesh\",\"same\",\"scirocco\",\"devilman\",\"doodles\",\"dinger\",\"okinawa\",\"olympic\",\"nursing\",\"orpheus\",\"ohmygod\",\"paisley\",\"pallmall\",\"null\",\"lounge\",\"lunchbox\",\"manhatta\",\"mahalo\",\"mandarin\",\"qwqwqw\",\"qguvyt\",\"pxx3eftp\",\"president\",\"rambler\",\"puzzle\",\"poppy1\",\"turk182\",\"trotter\",\"vdlxuc\",\"trish\",\"tugboat\",\"valiant\",\"tracie\",\"uwrl7c\",\"chris123\",\"coaster\",\"cmfnpu\",\"decimal\",\"debbie1\",\"dandy\",\"daedalus\",\"dede\",\"natasha1\",\"nissan1\",\"nancy123\",\"nevermin\",\"napalm\",\"newcastle\",\"boats\",\"branden\",\"britt\",\"bonghit\",\"hester\",\"ibxnsm\",\"hhhhhh1\",\"holger\",\"durham\",\"edmonton\",\"erwin\",\"equinox\",\"dvader\",\"kimmy\",\"knulla\",\"mustafa\",\"monsoon\",\"mistral\",\"morgana\",\"monica1\",\"mojave\",\"month\",\"monterey\",\"mrbill\",\"vkaxcs\",\"victor1\",\"wacker\",\"wendell\",\"violator\",\"vfdhif\",\"wilson1\",\"wavpzt\",\"verena\",\"wildstar\",\"winter99\",\"iqzzt580\",\"jarrod\",\"imback\",\"1914\",\"19741974\",\"1monkey\",\"1q2w3e4r5t\",\"2500\",\"2255\",\"blank\",\"bigshow\",\"bigbucks\",\"blackcoc\",\"zoomer\",\"wtcacq\",\"wobble\",\"xmen\",\"xjznq5\",\"yesterda\",\"yhwnqc\",\"zzzxxx\",\"streak\",\"393939\",\"2fchbg\",\"skinhead\",\"skilled\",\"shakira\",\"shaft\",\"shadow12\",\"seaside\",\"sigrid\",\"sinful\",\"silicon\",\"smk7366\",\"snapshot\",\"sniper1\",\"soccer11\",\"staff\",\"slap\",\"smutty\",\"peepers\",\"pleasant\",\"plokij\",\"pdiddy\",\"pimpdaddy\",\"thrust\",\"terran\",\"topaz\",\"today1\",\"lionhear\",\"littlema\",\"lauren1\",\"lincoln1\",\"lgnu9d\",\"laughing\",\"juneau\",\"methos\",\"medina\",\"merlyn\",\"rogue1\",\"romulus\",\"redshift\",\"1202\",\"1469\",\"12locked\",\"arizona1\",\"alfarome\",\"al9agd\",\"aol123\",\"altec\",\"apollo1\",\"arse\",\"baker1\",\"bbb747\",\"bach\",\"axeman\",\"astro1\",\"hawthorn\",\"goodfell\",\"hawks1\",\"gstring\",\"hannes\",\"8543852\",\"868686\",\"4ng62t\",\"554uzpad\",\"5401\",\"567890\",\"5232\",\"catfood\",\"frame\",\"flow\",\"fire1\",\"flipflop\",\"fffff1\",\"fozzie\",\"fluff\",\"garrison\",\"fzappa\",\"furious\",\"round\",\"rustydog\",\"sandberg\",\"scarab\",\"satin\",\"ruger\",\"samsung1\",\"destin\",\"diablo2\",\"dreamer1\",\"detectiv\",\"dominick\",\"doqvq3\",\"drywall\",\"paladin1\",\"papabear\",\"offroad\",\"panasonic\",\"nyyankee\",\"luetdi\",\"qcfmtz\",\"pyf8ah\",\"puddles\",\"privacy\",\"rainer\",\"pussyeat\",\"ralph1\",\"princeto\",\"trivia\",\"trewq\",\"tri5a3\",\"advent\",\"9898\",\"agyvorc\",\"clarkie\",\"coach1\",\"courier\",\"contest\",\"christo\",\"corinna\",\"chowder\",\"concept\",\"climbing\",\"cyzkhw\",\"davidb\",\"dad2ownu\",\"days\",\"daredevi\",\"de7mdf\",\"nose\",\"necklace\",\"nazgul\",\"booboo1\",\"broad\",\"bonzo\",\"brenna\",\"boot\",\"butch1\",\"huskers1\",\"hgfdsa\",\"hornyman\",\"elmer\",\"elektra\",\"england1\",\"elodie\",\"kermit1\",\"knife\",\"kaboom\",\"minute\",\"modern\",\"motherfucker\",\"morten\",\"mocha\",\"monday1\",\"morgoth\",\"ward\",\"weewee\",\"weenie\",\"walters\",\"vorlon\",\"website\",\"wahoo\",\"ilovegod\",\"insider\",\"jayman\",\"1911\",\"1dallas\",\"1900\",\"1ranger\",\"201jedlz\",\"2501\",\"1qaz\",\"bertram\",\"bignuts\",\"bigbad\",\"beebee\",\"billows\",\"belize\",\"bebe\",\"wvj5np\",\"wu4etd\",\"yamaha1\",\"wrinkle5\",\"zebra1\",\"yankee1\",\"zoomzoom\",\"09876543\",\"0311\",\"?????\",\"stjabn\",\"tainted\",\"3tmnej\",\"shoot\",\"skooter\",\"skelter\",\"sixteen\",\"starlite\",\"smack\",\"spice1\",\"stacey1\",\"smithy\",\"perrin\",\"pollux\",\"peternorth\",\"pixie\",\"paulina\",\"piston\",\"pick\",\"poets\",\"pine\",\"toons\",\"tooth\",\"topspin\",\"kugm7b\",\"legends\",\"jeepjeep\",\"juliana\",\"joystick\",\"junkmail\",\"jojojojo\",\"jonboy\",\"judge\",\"midland\",\"meteor\",\"mccabe\",\"matter\",\"mayfair\",\"meeting\",\"merrill\",\"raul\",\"riches\",\"reznor\",\"rockrock\",\"reboot\",\"reject\",\"robyn\",\"renee1\",\"roadway\",\"rasta220\",\"1411\",\"1478963\",\"1019\",\"archery\",\"allman\",\"andyandy\",\"barks\",\"bagpuss\",\"auckland\",\"gooseman\",\"hazmat\",\"gucci\",\"guns\",\"grammy\",\"happydog\",\"greek\",\"7kbe9d\",\"7676\",\"6bjvpe\",\"5lyedn\",\"5858\",\"5291\",\"charlie2\",\"chas\",\"c7lrwu\",\"candys\",\"chateau\",\"ccccc1\",\"cardinals\",\"fear\",\"fihdfv\",\"fortune12\",\"gocats\",\"gaelic\",\"fwsadn\",\"godboy\",\"gldmeo\",\"fx3tuo\",\"fubar1\",\"garland\",\"generals\",\"gforce\",\"rxmtkp\",\"rulz\",\"sairam\",\"dunhill\",\"division\",\"dogggg\",\"detect\",\"details\",\"doll\",\"drinks\",\"ozlq6qwm\",\"ov3ajy\",\"lockout\",\"makayla\",\"macgyver\",\"mallorca\",\"loves\",\"prima\",\"pvjegu\",\"qhxbij\",\"raphael\",\"prelude1\",\"totoro\",\"tusymo\",\"trousers\",\"tunnel\",\"valeria\",\"tulane\",\"turtle1\",\"tracy1\",\"aerosmit\",\"abbey1\",\"address\",\"clticic\",\"clueless\",\"cooper1\",\"comets\",\"collect\",\"corbin\",\"delpiero\",\"derick\",\"cyprus\",\"dante1\",\"dave1\",\"nounours\",\"neal\",\"nexus6\",\"nero\",\"nogard\",\"norfolk\",\"brent1\",\"booyah\",\"bootleg\",\"buckaroo\",\"bulls23\",\"bulls1\",\"booper\",\"heretic\",\"icecube\",\"hellno\",\"hounds\",\"honeydew\",\"hooters1\",\"hoes\",\"howie\",\"hevnm4\",\"hugohugo\",\"eighty\",\"epson\",\"evangeli\",\"eeeee1\",\"eyphed\"]","/** SecLists 10k-most-common.txt — NFKC-lowercased at build time. Version pinned in PASSCODE_SECURITY.md */\nimport denylistJson from \"./passcode-denylist.json\";\n\nexport const PASSCODE_DENYLIST_SOURCE =\n \"SecLists/Passwords/Common-Credentials/10k-most-common.txt\";\nexport const PASSCODE_DENYLIST_VERSION = \"2026-08-13\";\n\nconst DENYLIST = new Set<string>(denylistJson as string[]);\n\nexport function isPasscodeDenylisted(passcode: string): boolean {\n const normalized = passcode.normalize(\"NFKC\").toLowerCase();\n return DENYLIST.has(normalized);\n}\n\nexport function passcodeDenylistSize(): number {\n return DENYLIST.size;\n}\n","import { ZxcvbnFactory } from \"@zxcvbn-ts/core\";\nimport * as zxcvbnCommon from \"@zxcvbn-ts/language-common\";\nimport * as zxcvbnEn from \"@zxcvbn-ts/language-en\";\n\nimport { assertValidPasscode, normalizePasscode } from \"./pin\";\nimport { isPasscodeDenylisted } from \"./passcode-denylist\";\nimport { EmbeddedWalletWeakPasscodeError, type PasscodeStrengthLabel } from \"./types\";\n\nlet zxcvbnChecker: ZxcvbnFactory | null = null;\n\nfunction getZxcvbnChecker(): ZxcvbnFactory {\n if (!zxcvbnChecker) {\n zxcvbnChecker = new ZxcvbnFactory({\n translations: zxcvbnEn.translations,\n graphs: zxcvbnCommon.adjacencyGraphs,\n dictionary: {\n ...zxcvbnCommon.dictionary,\n ...zxcvbnEn.dictionary,\n },\n });\n }\n return zxcvbnChecker;\n}\n\nexport interface PasscodeStrengthResult {\n score: 0 | 1 | 2 | 3 | 4;\n label: PasscodeStrengthLabel;\n blocked: boolean;\n blockReason?: \"denylist\" | \"too_weak\" | \"numeric_short\";\n}\n\nfunction scoreToLabel(score: 0 | 1 | 2 | 3 | 4): PasscodeStrengthLabel {\n if (score <= 0) {\n return \"weak\";\n }\n if (score === 1) {\n return \"fair\";\n }\n if (score === 2) {\n return \"good\";\n }\n return \"strong\";\n}\n\nexport function hasMixedCharacterClasses(passcode: string): boolean {\n let classes = 0;\n if (/[a-z]/.test(passcode)) {\n classes++;\n }\n if (/[A-Z]/.test(passcode)) {\n classes++;\n }\n if (/[0-9]/.test(passcode)) {\n classes++;\n }\n if (/[^a-zA-Z0-9]/.test(passcode)) {\n classes++;\n }\n return classes >= 2;\n}\n\nfunction isAllDigits(passcode: string): boolean {\n return /^[0-9]+$/.test(passcode);\n}\n\n/** Score passcode strength for creation UI (denylist + zxcvbn). */\nexport function evaluatePasscodeStrength(passcode: string): PasscodeStrengthResult {\n assertValidPasscode(passcode);\n const normalized = normalizePasscode(passcode);\n\n if (isPasscodeDenylisted(normalized)) {\n return {\n score: 0,\n label: \"weak\",\n blocked: true,\n blockReason: \"denylist\",\n };\n }\n\n if (isAllDigits(normalized) && normalized.length < 12) {\n return {\n score: 0,\n label: \"weak\",\n blocked: true,\n blockReason: \"numeric_short\",\n };\n }\n\n const result = getZxcvbnChecker().check(normalized);\n const score = result.score as 0 | 1 | 2 | 3 | 4;\n const label = scoreToLabel(score);\n\n if (score === 0 && !(normalized.length >= 14 && hasMixedCharacterClasses(normalized))) {\n return {\n score,\n label,\n blocked: true,\n blockReason: \"too_weak\",\n };\n }\n\n return {\n score,\n label,\n blocked: false,\n };\n}\n\n/** Hard reject weak or common passcodes at wallet creation / recovery. */\nexport function assertPasscodeAllowedForCreation(passcode: string): void {\n const strength = evaluatePasscodeStrength(passcode);\n if (strength.blocked) {\n throw new EmbeddedWalletWeakPasscodeError(strength.blockReason ?? \"too_weak\");\n }\n}\n","import type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\n\nimport { exportEncryptedBackup, parseEncryptedBackup, serializeBackupFile } from \"./backup\";\nimport {\n assertVaultPermitsTransaction,\n createPasskeyMaterialFromAssertion,\n createPbkdf2Salt,\n decryptWalletPayload,\n deriveKekFromPbkdf2,\n deriveKekFromPrf,\n encryptWalletPayload,\n markVaultBackupAcknowledged,\n} from \"./crypto\";\nimport {\n assertPasscodeUnlockAllowed,\n recordPasscodeUnlockFailure,\n recordPasscodeUnlockSuccess,\n} from \"./lockout\";\nimport {\n createHdDerivedPlaintext,\n detectRecoveryMnemonicKeyType,\n plaintextFromRecoveryMnemonic,\n recoveryMnemonicAddress,\n recoveryMnemonicFromPlaintext,\n resolvePlaintextKeyType,\n} from \"./mnemonic\";\nimport { assertPasscodeAllowedForCreation } from \"./passcode-strength\";\nimport {\n deriveKekFromPasscode,\n EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\n} from \"./pin\";\nimport { detectWebAuthnPrfCapabilities, selectEmbeddedWalletKdf } from \"./prf\";\nimport { defaultEmbeddedHdPath, embeddedPlaintextToSigner } from \"./signer\";\nimport { clearVaultFromIndexedDb, loadVaultFromIndexedDb, saveVaultToIndexedDb } from \"./storage\";\nimport {\n EMBEDDED_WALLET_KDF_PBKDF2,\n EMBEDDED_WALLET_KDF_PIN,\n EMBEDDED_WALLET_KDF_PRF,\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n EMBEDDED_WALLET_KEY_HD_DERIVED,\n EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING,\n EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING,\n type EmbeddedWalletBackupFileV1,\n type EmbeddedWalletKeyType,\n type EmbeddedWalletPlaintext,\n type EmbeddedWalletRecoveryPhraseReveal,\n type EmbeddedWalletVaultV1,\n EmbeddedWalletVaultError,\n} from \"./types\";\nimport { assertPasskey, decodeCredentialId, registerPasskey } from \"./webauthn\";\n\nexport interface CreateEmbeddedWalletOptions {\n passcode: string;\n}\n\nexport interface UnlockEmbeddedWalletOptions {\n passcode?: string;\n}\n\nexport interface RevealEmbeddedRecoveryPhraseOptions {\n passcode?: string;\n}\n\nexport interface RecoverEmbeddedWalletOptions {\n passcode: string;\n mnemonic: string;\n /** When omitted, inferred from expectedAddress or defaults to hd-derived. */\n keyType?: EmbeddedWalletKeyType;\n /** Used to auto-detect legacy direct-entropy vs standard HD phrases. */\n expectedAddress?: string;\n hdPath?: string;\n /** When true, replaces an existing vault on this device (e.g. after device loss). */\n replaceExisting?: boolean;\n}\n\nexport interface EnableEmbeddedPasskeyUnlockOptions {\n passcode: string;\n userId: Uint8Array;\n userName: string;\n displayName: string;\n rpId?: string;\n}\n\nexport interface EmbeddedWalletSession {\n address: string;\n vault: EmbeddedWalletVaultV1;\n signer: OfflineDirectSigner;\n}\n\nlet activeSession: EmbeddedWalletSession | null = null;\n\nexport function vaultUsesPasskeyUnlock(vault: EmbeddedWalletVaultV1): boolean {\n return vault.kdf === EMBEDDED_WALLET_KDF_PRF || vault.kdf === EMBEDDED_WALLET_KDF_PBKDF2;\n}\n\nexport function vaultUsesPasscodeUnlock(vault: EmbeddedWalletVaultV1): boolean {\n return vault.kdf === EMBEDDED_WALLET_KDF_PIN;\n}\n\nfunction isPasscodeDecryptFailure(err: unknown): boolean {\n return (\n err instanceof EmbeddedWalletVaultError &&\n /decrypt/i.test(err.message)\n );\n}\n\nasync function decryptVaultWithPasscodeProtected(\n vault: EmbeddedWalletVaultV1,\n passcode: string | undefined,\n): Promise<EmbeddedWalletPlaintext> {\n if (!vaultUsesPasscodeUnlock(vault)) {\n throw new EmbeddedWalletVaultError(\"Vault does not use passcode unlock\");\n }\n if (!passcode) {\n throw new EmbeddedWalletVaultError(\"Passcode is required to unlock this wallet\");\n }\n\n await assertPasscodeUnlockAllowed(vault.publicAddress);\n\n try {\n const plaintext = await decryptVaultWithUnlockMaterial(vault, passcode);\n await recordPasscodeUnlockSuccess(vault.publicAddress);\n return plaintext;\n } catch (err) {\n if (isPasscodeDecryptFailure(err)) {\n await recordPasscodeUnlockFailure(vault.publicAddress);\n }\n throw err;\n }\n}\n\nasync function deriveKekFromPasskeyMaterial(\n vault: EmbeddedWalletVaultV1,\n prfOutput: Uint8Array | null,\n authenticatorData: Uint8Array,\n clientDataJSON: Uint8Array,\n): Promise<Uint8Array> {\n const caps = detectWebAuthnPrfCapabilities();\n const kdf = selectEmbeddedWalletKdf(caps, prfOutput);\n\n if (kdf === EMBEDDED_WALLET_KDF_PRF && prfOutput) {\n return deriveKekFromPrf(prfOutput);\n }\n\n if (vault.kdf !== EMBEDDED_WALLET_KDF_PBKDF2 || !vault.kdfSalt) {\n throw new EmbeddedWalletVaultError(\"Vault expects PBKDF2 but passkey material unavailable\");\n }\n\n const salt = decodeCredentialId(vault.kdfSalt);\n const material = createPasskeyMaterialFromAssertion(authenticatorData, clientDataJSON);\n return deriveKekFromPbkdf2(material, salt, vault.kdfIterations || undefined);\n}\n\nasync function deriveKekForVault(\n vault: EmbeddedWalletVaultV1,\n passcode: string | undefined,\n passkeyMaterial?: {\n prfOutput: Uint8Array | null;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n },\n): Promise<Uint8Array> {\n if (vaultUsesPasscodeUnlock(vault)) {\n if (!passcode) {\n throw new EmbeddedWalletVaultError(\"Passcode is required to unlock this wallet\");\n }\n if (!vault.kdfSalt) {\n throw new EmbeddedWalletVaultError(\"PIN vault is missing kdfSalt\");\n }\n const salt = decodeCredentialId(vault.kdfSalt);\n return deriveKekFromPasscode(passcode, salt, vault.kdfIterations || undefined);\n }\n\n if (!passkeyMaterial) {\n throw new EmbeddedWalletVaultError(\"Passkey authentication is required to unlock this wallet\");\n }\n\n return deriveKekFromPasskeyMaterial(\n vault,\n passkeyMaterial.prfOutput,\n passkeyMaterial.authenticatorData,\n passkeyMaterial.clientDataJSON,\n );\n}\n\nasync function decryptVaultWithUnlockMaterial(\n vault: EmbeddedWalletVaultV1,\n passcode: string | undefined,\n passkeyMaterial?: {\n prfOutput: Uint8Array | null;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n },\n): Promise<EmbeddedWalletPlaintext> {\n const kek = await deriveKekForVault(vault, passcode, passkeyMaterial);\n return decryptWalletPayload(vault, kek);\n}\n\nasync function encryptPlaintextWithPasscode(\n plaintext: EmbeddedWalletPlaintext,\n passcode: string,\n backupAcknowledged = false,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n assertPasscodeAllowedForCreation(passcode);\n const previewSigner = await embeddedPlaintextToSigner(plaintext);\n const [account] = await previewSigner.getAccounts();\n\n const salt = createPbkdf2Salt();\n const kek = await deriveKekFromPasscode(passcode, salt);\n\n const vault = await encryptWalletPayload(plaintext, {\n kdf: EMBEDDED_WALLET_KDF_PIN,\n credentialId: new Uint8Array(0),\n publicAddress: account.address,\n kek,\n kdfSalt: salt,\n kdfIterations: EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\n backupAcknowledged,\n });\n\n return { address: account.address, vault };\n}\n\nasync function encryptPlaintextWithPasskeyRegistration(\n plaintext: EmbeddedWalletPlaintext,\n registration: Awaited<ReturnType<typeof registerPasskey>>,\n backupAcknowledged = false,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n const previewSigner = await embeddedPlaintextToSigner(plaintext);\n const [account] = await previewSigner.getAccounts();\n\n const caps = detectWebAuthnPrfCapabilities();\n const kdf = selectEmbeddedWalletKdf(caps, registration.prfOutput);\n let kek: Uint8Array;\n let kdfSalt: Uint8Array | undefined;\n let prfSalt: Uint8Array | undefined;\n\n if (kdf === EMBEDDED_WALLET_KDF_PRF && registration.prfOutput) {\n kek = await deriveKekFromPrf(registration.prfOutput);\n prfSalt = registration.prfSalt;\n } else {\n kdfSalt = createPbkdf2Salt();\n const material = createPasskeyMaterialFromAssertion(\n registration.authenticatorData,\n registration.clientDataJSON,\n );\n kek = await deriveKekFromPbkdf2(material, kdfSalt);\n }\n\n const vault = await encryptWalletPayload(plaintext, {\n kdf,\n credentialId: registration.credentialId,\n publicAddress: account.address,\n kek,\n kdfSalt,\n prfSalt,\n backupAcknowledged,\n });\n\n return { address: account.address, vault };\n}\n\nasync function unlockVaultToSession(\n vault: EmbeddedWalletVaultV1,\n options: UnlockEmbeddedWalletOptions = {},\n): Promise<EmbeddedWalletSession> {\n if (vaultUsesPasscodeUnlock(vault)) {\n const plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\n const signer = await embeddedPlaintextToSigner(plaintext);\n const [account] = await signer.getAccounts();\n const session: EmbeddedWalletSession = { address: account.address, vault, signer };\n activeSession = session;\n return session;\n }\n\n const credentialId = decodeCredentialId(vault.credentialId);\n const prfSalt = vault.prfSalt ? decodeCredentialId(vault.prfSalt) : undefined;\n const assertion = await assertPasskey({ credentialId, rpId: undefined, prfSalt });\n const plaintext = await decryptVaultWithUnlockMaterial(vault, undefined, assertion);\n const signer = await embeddedPlaintextToSigner(plaintext);\n const [account] = await signer.getAccounts();\n const session: EmbeddedWalletSession = { address: account.address, vault, signer };\n activeSession = session;\n return session;\n}\n\n/** Returns true if an encrypted vault exists in IndexedDB. */\nexport async function hasEmbeddedWallet(): Promise<boolean> {\n const vault = await loadVaultFromIndexedDb();\n return vault != null;\n}\n\n/** Create passcode-protected encrypted vault; does not unlock signer until backup is acknowledged. */\nexport async function createEmbeddedWallet(\n options: CreateEmbeddedWalletOptions,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n const createdAt = new Date().toISOString();\n const plaintext = await createHdDerivedPlaintext(createdAt);\n const { address, vault } = await encryptPlaintextWithPasscode(plaintext, options.passcode);\n\n await saveVaultToIndexedDb(vault);\n lockEmbeddedWallet();\n return { address, vault };\n}\n\n/**\n * Re-authenticate and return the recovery phrase plus UI warnings.\n * Call only after showing {@link EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING} (and the\n * direct-entropy portability warning when applicable).\n */\nexport async function revealEmbeddedRecoveryPhrase(\n options: RevealEmbeddedRecoveryPhraseOptions = {},\n): Promise<EmbeddedWalletRecoveryPhraseReveal> {\n const vault = await loadVaultFromIndexedDb();\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n\n let plaintext: EmbeddedWalletPlaintext;\n if (vaultUsesPasscodeUnlock(vault)) {\n plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\n } else {\n const credentialId = decodeCredentialId(vault.credentialId);\n const prfSalt = vault.prfSalt ? decodeCredentialId(vault.prfSalt) : undefined;\n const assertion = await assertPasskey({ credentialId, rpId: undefined, prfSalt });\n plaintext = await decryptVaultWithUnlockMaterial(vault, undefined, assertion);\n }\n\n const keyType = resolvePlaintextKeyType(plaintext);\n const mnemonic = recoveryMnemonicFromPlaintext(plaintext);\n const signer = await embeddedPlaintextToSigner(plaintext);\n const [account] = await signer.getAccounts();\n\n const warnings = [EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING];\n if (keyType === EMBEDDED_WALLET_KEY_DIRECT_ENTROPY) {\n warnings.push(EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING);\n }\n\n return {\n mnemonic,\n keyType,\n address: account.address,\n warnings,\n };\n}\n\n/**\n * Restore an embedded wallet on a new device from a recovery phrase.\n * Sets a new passcode and stores an encrypted vault in IndexedDB.\n */\nexport async function recoverEmbeddedWalletFromMnemonic(\n options: RecoverEmbeddedWalletOptions,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1; keyType: EmbeddedWalletKeyType }> {\n const existing = await loadVaultFromIndexedDb();\n if (existing && !options.replaceExisting) {\n throw new EmbeddedWalletVaultError(\n \"An embedded wallet already exists on this device; pass replaceExisting to recover over it\",\n );\n }\n\n const hdPath = options.hdPath ?? defaultEmbeddedHdPath();\n let keyType = options.keyType;\n if (!keyType && options.expectedAddress) {\n keyType = await detectRecoveryMnemonicKeyType(\n options.mnemonic,\n options.expectedAddress,\n hdPath,\n );\n }\n if (!keyType) {\n keyType = EMBEDDED_WALLET_KEY_HD_DERIVED;\n }\n\n const createdAt = new Date().toISOString();\n const plaintext = await plaintextFromRecoveryMnemonic(\n options.mnemonic,\n keyType,\n createdAt,\n hdPath,\n );\n const address = await recoveryMnemonicAddress(options.mnemonic, keyType, hdPath);\n\n if (options.expectedAddress && address !== options.expectedAddress) {\n throw new EmbeddedWalletVaultError(\n \"Recovered wallet address does not match expectedAddress\",\n );\n }\n\n const result = await encryptPlaintextWithPasscode(plaintext, options.passcode);\n if (result.address !== address) {\n throw new EmbeddedWalletVaultError(\"Internal error: recovered address mismatch\");\n }\n\n await saveVaultToIndexedDb(result.vault);\n lockEmbeddedWallet();\n return { address: result.address, vault: result.vault, keyType };\n}\n\n/**\n * Opt-in upgrade: re-wrap an existing passcode vault with passkey unlock.\n * Does not change the underlying private key or address.\n */\nexport async function enableEmbeddedPasskeyUnlock(\n options: EnableEmbeddedPasskeyUnlockOptions,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n const vault = await loadVaultFromIndexedDb();\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n if (vaultUsesPasskeyUnlock(vault)) {\n throw new EmbeddedWalletVaultError(\"Passkey unlock is already enabled for this wallet\");\n }\n if (!vaultUsesPasscodeUnlock(vault)) {\n throw new EmbeddedWalletVaultError(\"Unsupported vault unlock method for passkey upgrade\");\n }\n\n const addressBefore = vault.publicAddress;\n const backupAcknowledged = vault.backupAcknowledged;\n const plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\n\n const registration = await registerPasskey({\n userId: options.userId,\n userName: options.userName,\n displayName: options.displayName,\n rpId: options.rpId,\n });\n\n const result = await encryptPlaintextWithPasskeyRegistration(\n plaintext,\n registration,\n backupAcknowledged,\n );\n\n if (result.address !== addressBefore) {\n throw new EmbeddedWalletVaultError(\"Passkey upgrade must not change wallet address\");\n }\n\n await saveVaultToIndexedDb(result.vault);\n if (activeSession) {\n activeSession = { ...activeSession, vault: result.vault };\n }\n lockEmbeddedWallet();\n return result;\n}\n\n/** Unlock existing vault with passcode (default) or passkey (opt-in upgrade path). */\nexport async function unlockEmbeddedWallet(\n options: UnlockEmbeddedWalletOptions = {},\n): Promise<EmbeddedWalletSession> {\n const vault = await loadVaultFromIndexedDb();\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n return unlockVaultToSession(vault, options);\n}\n\n/** Clear in-memory signer. */\nexport function lockEmbeddedWallet(): void {\n activeSession = null;\n}\n\nexport function getEmbeddedWalletSession(): EmbeddedWalletSession | null {\n return activeSession;\n}\n\n/** Offline signer for CosmJS; enforces backup gate before signing. */\nexport function getEmbeddedOfflineSigner(): OfflineDirectSigner {\n if (!activeSession) {\n throw new EmbeddedWalletVaultError(\"Embedded wallet is locked\");\n }\n assertVaultPermitsTransaction(activeSession.vault);\n\n const inner = activeSession.signer;\n return {\n getAccounts: () => inner.getAccounts(),\n signDirect: (signerAddress, signDoc) => inner.signDirect(signerAddress, signDoc),\n };\n}\n\n/** Mark backup downloaded/acknowledged and persist. Returns backup file payload. */\nexport async function acknowledgeEmbeddedBackup(): Promise<EmbeddedWalletBackupFileV1> {\n const vault = await loadVaultFromIndexedDb();\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n const updated = markVaultBackupAcknowledged(vault);\n await saveVaultToIndexedDb(updated);\n if (activeSession) {\n activeSession = { ...activeSession, vault: updated };\n }\n return exportEncryptedBackup(updated);\n}\n\nexport function downloadEmbeddedBackupFile(backup: EmbeddedWalletBackupFileV1, filename?: string): void {\n const blob = new Blob([serializeBackupFile(backup)], { type: \"application/json\" });\n const url = URL.createObjectURL(blob);\n const anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = filename ?? `kingdom-os-wallet-backup-${backup.vault.publicAddress}.json`;\n anchor.click();\n URL.revokeObjectURL(url);\n}\n\n/** Restore vault from user-held backup file (requires passcode or passkey to decrypt). */\nexport async function importEmbeddedBackup(json: string): Promise<EmbeddedWalletVaultV1> {\n const backup = parseEncryptedBackup(json);\n await saveVaultToIndexedDb(backup.vault);\n lockEmbeddedWallet();\n return backup.vault;\n}\n\nexport async function clearEmbeddedWallet(): Promise<void> {\n lockEmbeddedWallet();\n await clearVaultFromIndexedDb();\n}\n","import type { EncodeObject } from \"@cosmjs/proto-signing\";\n\nimport {\n ATTESTATION_TYPE_CITIZENSHIP_APPLICATION,\n attestationSignPayload,\n providerSeedFromHex,\n signAttestationPayload,\n type AttestationPayloadInput,\n} from \"./attestation\";\nimport { MsgSubmitApplication } from \"./registry\";\n\nexport interface SubmitApplicationParams {\n applicantWallet: string;\n applicationId: string;\n chainId: string;\n providerId: string;\n policyVersion: string;\n providerSeedHex: string;\n nonce: string;\n uniquenessReference: string;\n issuedAt: Date;\n expiresAt: Date;\n providerKeyVersion?: bigint;\n}\n\nexport function buildSubmitApplicationMsg(\n applicantWallet: string,\n applicationId: string,\n attestationInput: AttestationPayloadInput,\n signature: string,\n): EncodeObject {\n return {\n typeUrl: \"/isatheword.kingdomchain.compliance.v1.MsgSubmitApplication\",\n value: MsgSubmitApplication.fromPartial({\n applicant_wallet: applicantWallet,\n application_id: applicationId,\n provider_id: attestationInput.providerId,\n provider_key_version: attestationInput.providerKeyVersion,\n chain_id: attestationInput.chainId,\n case_id: attestationInput.caseId,\n policy_version: attestationInput.policyVersion,\n nonce: attestationInput.nonce,\n uniqueness_reference: attestationInput.uniquenessReference,\n issued_at: attestationInput.issuedAt,\n expires_at: attestationInput.expiresAt,\n signature,\n }),\n };\n}\n\nexport async function signCitizenshipAttestation(\n params: SubmitApplicationParams,\n): Promise<{ signature: string; input: AttestationPayloadInput }> {\n const input: AttestationPayloadInput = {\n attestationType: ATTESTATION_TYPE_CITIZENSHIP_APPLICATION,\n chainId: params.chainId,\n intendedWallet: params.applicantWallet,\n caseId: params.applicationId,\n policyVersion: params.policyVersion,\n nonce: params.nonce,\n uniquenessReference: params.uniquenessReference,\n issuedAt: params.issuedAt,\n expiresAt: params.expiresAt,\n providerId: params.providerId,\n providerKeyVersion: params.providerKeyVersion ?? 1n,\n };\n const payload = attestationSignPayload(input);\n const providerSeed = providerSeedFromHex(params.providerSeedHex);\n const signature = await signAttestationPayload(providerSeed, payload);\n return { signature, input };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/attestation.ts","../src/generated/google/protobuf/timestamp.ts","../src/generated/isatheword/kingdomchain/citizen/v1/tx.ts","../src/generated/isatheword/kingdomchain/compliance/v1/tx.ts","../src/generated/isatheword/kingdomchain/compliance/v1/compliance.ts","../src/registry.ts","../src/chainConstants.ts","../src/browserSigner.ts","../src/walletConnectSigner.ts","../src/embeddedWallet/types.ts","../src/embeddedWallet/signer.ts","../src/embeddedWallet/mnemonic.ts","../src/embeddedWallet/pin.ts","../src/embeddedWallet/crypto.ts","../src/embeddedWallet/prf.ts","../src/embeddedWallet/backup.ts","../src/embeddedWallet/webauthn.ts","../src/embeddedWallet/storage.ts","../src/embeddedWallet/lockout.ts","../src/embeddedWallet/passcode-denylist.json","../src/embeddedWallet/passcode-denylist.ts","../src/embeddedWallet/passcode-strength.ts","../src/embeddedWallet/wallet.ts","../src/submitApplication.ts"],"names":["BinaryWriter","BinaryReader","toTimestamp","fromTimestamp","ApplicationStatus","RecoveryAttestationStatus","englishWordlist","DirectSecp256k1Wallet","privateKey","toBase64","fromBase64","plaintext","signer","account","session"],"mappings":"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","file":"index.js","sourcesContent":["import { fromHex, toHex } from \"@cosmjs/encoding\";\r\nimport { sha256 } from \"@noble/hashes/sha256\";\r\nimport * as ed from \"@noble/ed25519\";\r\n\r\n/** Must match x/compliance/types/keys.go AttestationTypeCitizenshipApplication */\r\nexport const ATTESTATION_TYPE_CITIZENSHIP_APPLICATION = \"citizenship_application\";\r\n\r\n/** Must match x/compliance/types/keys.go AttestationTypeRecovery */\r\nexport const ATTESTATION_TYPE_RECOVERY = \"recovery\";\r\n\r\nexport interface AttestationPayloadInput {\r\n attestationType: string;\r\n chainId: string;\r\n intendedWallet: string;\r\n caseId: string;\r\n policyVersion: string;\r\n nonce: string;\r\n uniquenessReference: string;\r\n issuedAt: Date;\r\n expiresAt: Date;\r\n providerId: string;\r\n providerKeyVersion: bigint;\r\n citizenId?: bigint;\r\n oldWallet?: string;\r\n newWallet?: string;\r\n}\r\n\r\nfunction hashField(value: string): Uint8Array {\r\n return sha256(new TextEncoder().encode(value));\r\n}\r\n\r\n/** Format uint64 the same way Go strconv.FormatUint(v, 10) does. Rejects out-of-range values. */\r\nfunction formatUint64(value: bigint, fieldName: string): string {\r\n if (value < 0n) {\r\n throw new Error(`${fieldName} must be non-negative, got ${value}`);\r\n }\r\n if (value > 0xffff_ffff_ffff_ffffn) {\r\n throw new Error(`${fieldName} exceeds uint64 max, got ${value}`);\r\n }\r\n return value.toString(10);\r\n}\r\n\r\n/** Unix seconds truncated toward zero — matches Go time.Time.Unix(). */\r\nfunction unixSeconds(date: Date): number {\r\n return Math.trunc(date.getTime() / 1000);\r\n}\r\n\r\nfunction combineHashes(hashes: Uint8Array[]): string {\r\n const totalLen = hashes.reduce((acc, h) => acc + h.length, 0);\r\n const preimage = new Uint8Array(totalLen);\r\n let offset = 0;\r\n for (const h of hashes) {\r\n preimage.set(h, offset);\r\n offset += h.length;\r\n }\r\n return toHex(sha256(preimage));\r\n}\r\n\r\n/**\r\n * Canonical attestation payload — must match Go types.AttestationSignPayload bit-for-bit.\r\n */\r\nexport function attestationSignPayload(input: AttestationPayloadInput): string {\r\n const hashes = [\r\n hashField(input.attestationType),\r\n hashField(input.chainId),\r\n hashField(input.intendedWallet),\r\n hashField(input.caseId),\r\n hashField(input.policyVersion),\r\n hashField(input.nonce),\r\n hashField(input.uniquenessReference),\r\n hashField(String(unixSeconds(input.issuedAt))),\r\n hashField(String(unixSeconds(input.expiresAt))),\r\n hashField(input.providerId),\r\n hashField(formatUint64(input.providerKeyVersion, \"providerKeyVersion\")),\r\n ];\r\n if (input.attestationType === ATTESTATION_TYPE_RECOVERY) {\r\n hashes.push(\r\n hashField(formatUint64(input.citizenId ?? 0n, \"citizenId\")),\r\n hashField(input.oldWallet ?? \"\"),\r\n hashField(input.newWallet ?? \"\"),\r\n );\r\n }\r\n return combineHashes(hashes);\r\n}\r\n\r\nexport async function signAttestationPayload(privateKeySeed: Uint8Array, payload: string): Promise<string> {\r\n if (privateKeySeed.length !== 32) {\r\n throw new Error(\"invalid ed25519 seed size\");\r\n }\r\n const sig = await ed.signAsync(new TextEncoder().encode(payload), privateKeySeed);\r\n return toHex(sig);\r\n}\r\n\r\nexport async function publicKeyFromPrivateSeed(privateKeySeed: Uint8Array): Promise<string> {\r\n if (privateKeySeed.length !== 32) {\r\n throw new Error(\"invalid ed25519 seed size\");\r\n }\r\n const pub = await ed.getPublicKeyAsync(privateKeySeed);\r\n return toHex(pub);\r\n}\r\n\r\nexport function providerSeedFromHex(hex: string): Uint8Array {\r\n const seed = fromHex(hex);\r\n if (seed.length !== 32) {\r\n throw new Error(\"provider seed hex must decode to 32 bytes\");\r\n }\r\n return new Uint8Array(seed);\r\n}\r\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\r\n// versions:\r\n// protoc-gen-ts_proto v2.12.0\r\n// protoc unknown\r\n// source: google/protobuf/timestamp.proto\r\n\r\n/* eslint-disable */\r\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\r\n\r\n/**\r\n * A Timestamp represents a point in time independent of any time zone or local\r\n * calendar, encoded as a count of seconds and fractions of seconds at\r\n * nanosecond resolution. The count is relative to an epoch at UTC midnight on\r\n * January 1, 1970, in the proleptic Gregorian calendar which extends the\r\n * Gregorian calendar backwards to year one.\r\n *\r\n * All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\r\n * second table is needed for interpretation, using a [24-hour linear\r\n * smear](https://developers.google.com/time/smear).\r\n *\r\n * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\r\n * restricting to that range, we ensure that we can convert to and from [RFC\r\n * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\r\n *\r\n * # Examples\r\n *\r\n * Example 1: Compute Timestamp from POSIX `time()`.\r\n *\r\n * Timestamp timestamp;\r\n * timestamp.set_seconds(time(NULL));\r\n * timestamp.set_nanos(0);\r\n *\r\n * Example 2: Compute Timestamp from POSIX `gettimeofday()`.\r\n *\r\n * struct timeval tv;\r\n * gettimeofday(&tv, NULL);\r\n *\r\n * Timestamp timestamp;\r\n * timestamp.set_seconds(tv.tv_sec);\r\n * timestamp.set_nanos(tv.tv_usec * 1000);\r\n *\r\n * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\r\n *\r\n * FILETIME ft;\r\n * GetSystemTimeAsFileTime(&ft);\r\n * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\r\n *\r\n * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\r\n * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\r\n * Timestamp timestamp;\r\n * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\r\n * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\r\n *\r\n * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\r\n *\r\n * long millis = System.currentTimeMillis();\r\n *\r\n * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\r\n * .setNanos((int) ((millis % 1000) * 1000000)).build();\r\n *\r\n * Example 5: Compute Timestamp from Java `Instant.now()`.\r\n *\r\n * Instant now = Instant.now();\r\n *\r\n * Timestamp timestamp =\r\n * Timestamp.newBuilder().setSeconds(now.getEpochSecond())\r\n * .setNanos(now.getNano()).build();\r\n *\r\n * Example 6: Compute Timestamp from current time in Python.\r\n *\r\n * timestamp = Timestamp()\r\n * timestamp.GetCurrentTime()\r\n *\r\n * # JSON Mapping\r\n *\r\n * In JSON format, the Timestamp type is encoded as a string in the\r\n * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\r\n * format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\r\n * where {year} is always expressed using four digits while {month}, {day},\r\n * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\r\n * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\r\n * are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\r\n * is required. A proto3 JSON serializer should always use UTC (as indicated by\r\n * \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\r\n * able to accept both UTC and other timezones (as indicated by an offset).\r\n *\r\n * For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\r\n * 01:30 UTC on January 15, 2017.\r\n *\r\n * In JavaScript, one can convert a Date object to this format using the\r\n * standard\r\n * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\r\n * method. In Python, a standard `datetime.datetime` object can be converted\r\n * to this format using\r\n * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\r\n * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\r\n * the Joda Time's [`ISODateTimeFormat.dateTime()`](\r\n * http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\r\n * ) to obtain a formatter capable of generating timestamps in this format.\r\n */\r\nexport interface Timestamp {\r\n /**\r\n * Represents seconds of UTC time since Unix epoch\r\n * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\r\n * 9999-12-31T23:59:59Z inclusive.\r\n */\r\n seconds: bigint;\r\n /**\r\n * Non-negative fractions of a second at nanosecond resolution. Negative\r\n * second values with fractions must still have non-negative nanos values\r\n * that count forward in time. Must be from 0 to 999,999,999\r\n * inclusive.\r\n */\r\n nanos: number;\r\n}\r\n\r\nfunction createBaseTimestamp(): Timestamp {\r\n return { seconds: 0n, nanos: 0 };\r\n}\r\n\r\nexport const Timestamp: MessageFns<Timestamp> = {\r\n encode(message: Timestamp, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.seconds !== 0n) {\r\n if (BigInt.asIntN(64, message.seconds) !== message.seconds) {\r\n throw new globalThis.Error(\"value provided for field message.seconds of type int64 too large\");\r\n }\r\n writer.uint32(8).int64(message.seconds);\r\n }\r\n if (message.nanos !== 0) {\r\n writer.uint32(16).int32(message.nanos);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): Timestamp {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseTimestamp();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 8) {\r\n break;\r\n }\r\n\r\n message.seconds = reader.int64() as bigint;\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 16) {\r\n break;\r\n }\r\n\r\n message.nanos = reader.int32();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<Timestamp>): Timestamp {\r\n return Timestamp.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<Timestamp>): Timestamp {\r\n const message = createBaseTimestamp();\r\n message.seconds = (object.seconds !== undefined && object.seconds !== null) ? BigInt(object.seconds) : 0n;\r\n message.nanos = object.nanos ?? 0;\r\n return message;\r\n },\r\n};\r\n\r\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\r\n\r\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\r\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\r\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\r\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\r\n : Partial<T>;\r\n\r\ninterface MessageFns<T> {\r\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\r\n decode(input: BinaryReader | Uint8Array, length?: number): T;\r\n create(base?: DeepPartial<T>): T;\r\n fromPartial(object: DeepPartial<T>): T;\r\n}\r\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\r\n// versions:\r\n// protoc-gen-ts_proto v2.12.0\r\n// protoc unknown\r\n// source: isatheword/kingdomchain/citizen/v1/tx.proto\r\n\r\n/* eslint-disable */\r\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\r\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\r\n\r\nexport interface MsgIssueKCP {\r\n authority: string;\r\n application_id: string;\r\n wallet_address: string;\r\n uniqueness_commitment: string;\r\n decision_id: string;\r\n}\r\n\r\nexport interface MsgIssueKCPResponse {\r\n citizen_id: bigint;\r\n}\r\n\r\nexport interface MsgSuspendKCP {\r\n authority: string;\r\n citizen_id: bigint;\r\n reason_code: string;\r\n expires_at?: Date | undefined;\r\n}\r\n\r\nexport interface MsgSuspendKCPResponse {\r\n}\r\n\r\nexport interface MsgReactivateKCP {\r\n authority: string;\r\n citizen_id: bigint;\r\n}\r\n\r\nexport interface MsgReactivateKCPResponse {\r\n}\r\n\r\nexport interface MsgRevokeKCP {\r\n authority: string;\r\n citizen_id: bigint;\r\n reason_code: string;\r\n evidence_ref: string;\r\n}\r\n\r\nexport interface MsgRevokeKCPResponse {\r\n}\r\n\r\nexport interface MsgInitiateRecovery {\r\n authority: string;\r\n citizen_id: bigint;\r\n new_wallet: string;\r\n recovery_case_id: string;\r\n cooling_off_ends_at?: Date | undefined;\r\n}\r\n\r\nexport interface MsgInitiateRecoveryResponse {\r\n}\r\n\r\nexport interface MsgApproveRecovery {\r\n authority: string;\r\n recovery_case_id: string;\r\n}\r\n\r\nexport interface MsgApproveRecoveryResponse {\r\n}\r\n\r\nexport interface MsgFinalizeRecovery {\r\n authority: string;\r\n recovery_case_id: string;\r\n decision_id: string;\r\n}\r\n\r\nexport interface MsgFinalizeRecoveryResponse {\r\n}\r\n\r\nexport interface MsgCancelRecovery {\r\n authority: string;\r\n recovery_case_id: string;\r\n reason_code: string;\r\n}\r\n\r\nexport interface MsgCancelRecoveryResponse {\r\n}\r\n\r\nfunction createBaseMsgIssueKCP(): MsgIssueKCP {\r\n return { authority: \"\", application_id: \"\", wallet_address: \"\", uniqueness_commitment: \"\", decision_id: \"\" };\r\n}\r\n\r\nexport const MsgIssueKCP: MessageFns<MsgIssueKCP> = {\r\n encode(message: MsgIssueKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.application_id !== \"\") {\r\n writer.uint32(18).string(message.application_id);\r\n }\r\n if (message.wallet_address !== \"\") {\r\n writer.uint32(26).string(message.wallet_address);\r\n }\r\n if (message.uniqueness_commitment !== \"\") {\r\n writer.uint32(34).string(message.uniqueness_commitment);\r\n }\r\n if (message.decision_id !== \"\") {\r\n writer.uint32(42).string(message.decision_id);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIssueKCP {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgIssueKCP();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.application_id = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 26) {\r\n break;\r\n }\r\n\r\n message.wallet_address = reader.string();\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 34) {\r\n break;\r\n }\r\n\r\n message.uniqueness_commitment = reader.string();\r\n continue;\r\n }\r\n case 5: {\r\n if (tag !== 42) {\r\n break;\r\n }\r\n\r\n message.decision_id = reader.string();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgIssueKCP>): MsgIssueKCP {\r\n return MsgIssueKCP.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgIssueKCP>): MsgIssueKCP {\r\n const message = createBaseMsgIssueKCP();\r\n message.authority = object.authority ?? \"\";\r\n message.application_id = object.application_id ?? \"\";\r\n message.wallet_address = object.wallet_address ?? \"\";\r\n message.uniqueness_commitment = object.uniqueness_commitment ?? \"\";\r\n message.decision_id = object.decision_id ?? \"\";\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgIssueKCPResponse(): MsgIssueKCPResponse {\r\n return { citizen_id: 0n };\r\n}\r\n\r\nexport const MsgIssueKCPResponse: MessageFns<MsgIssueKCPResponse> = {\r\n encode(message: MsgIssueKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.citizen_id !== 0n) {\r\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\r\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\r\n }\r\n writer.uint32(8).uint64(message.citizen_id);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIssueKCPResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgIssueKCPResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 8) {\r\n break;\r\n }\r\n\r\n message.citizen_id = reader.uint64() as bigint;\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgIssueKCPResponse>): MsgIssueKCPResponse {\r\n return MsgIssueKCPResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgIssueKCPResponse>): MsgIssueKCPResponse {\r\n const message = createBaseMsgIssueKCPResponse();\r\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\r\n ? BigInt(object.citizen_id)\r\n : 0n;\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgSuspendKCP(): MsgSuspendKCP {\r\n return { authority: \"\", citizen_id: 0n, reason_code: \"\", expires_at: undefined };\r\n}\r\n\r\nexport const MsgSuspendKCP: MessageFns<MsgSuspendKCP> = {\r\n encode(message: MsgSuspendKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.citizen_id !== 0n) {\r\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\r\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\r\n }\r\n writer.uint32(16).uint64(message.citizen_id);\r\n }\r\n if (message.reason_code !== \"\") {\r\n writer.uint32(26).string(message.reason_code);\r\n }\r\n if (message.expires_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(34).fork()).join();\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendKCP {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgSuspendKCP();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 16) {\r\n break;\r\n }\r\n\r\n message.citizen_id = reader.uint64() as bigint;\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 26) {\r\n break;\r\n }\r\n\r\n message.reason_code = reader.string();\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 34) {\r\n break;\r\n }\r\n\r\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgSuspendKCP>): MsgSuspendKCP {\r\n return MsgSuspendKCP.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgSuspendKCP>): MsgSuspendKCP {\r\n const message = createBaseMsgSuspendKCP();\r\n message.authority = object.authority ?? \"\";\r\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\r\n ? BigInt(object.citizen_id)\r\n : 0n;\r\n message.reason_code = object.reason_code ?? \"\";\r\n message.expires_at = object.expires_at ?? undefined;\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgSuspendKCPResponse(): MsgSuspendKCPResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgSuspendKCPResponse: MessageFns<MsgSuspendKCPResponse> = {\r\n encode(_: MsgSuspendKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendKCPResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgSuspendKCPResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgSuspendKCPResponse>): MsgSuspendKCPResponse {\r\n return MsgSuspendKCPResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgSuspendKCPResponse>): MsgSuspendKCPResponse {\r\n const message = createBaseMsgSuspendKCPResponse();\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgReactivateKCP(): MsgReactivateKCP {\r\n return { authority: \"\", citizen_id: 0n };\r\n}\r\n\r\nexport const MsgReactivateKCP: MessageFns<MsgReactivateKCP> = {\r\n encode(message: MsgReactivateKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.citizen_id !== 0n) {\r\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\r\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\r\n }\r\n writer.uint32(16).uint64(message.citizen_id);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgReactivateKCP {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgReactivateKCP();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 16) {\r\n break;\r\n }\r\n\r\n message.citizen_id = reader.uint64() as bigint;\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgReactivateKCP>): MsgReactivateKCP {\r\n return MsgReactivateKCP.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgReactivateKCP>): MsgReactivateKCP {\r\n const message = createBaseMsgReactivateKCP();\r\n message.authority = object.authority ?? \"\";\r\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\r\n ? BigInt(object.citizen_id)\r\n : 0n;\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgReactivateKCPResponse(): MsgReactivateKCPResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgReactivateKCPResponse: MessageFns<MsgReactivateKCPResponse> = {\r\n encode(_: MsgReactivateKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgReactivateKCPResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgReactivateKCPResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgReactivateKCPResponse>): MsgReactivateKCPResponse {\r\n return MsgReactivateKCPResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgReactivateKCPResponse>): MsgReactivateKCPResponse {\r\n const message = createBaseMsgReactivateKCPResponse();\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgRevokeKCP(): MsgRevokeKCP {\r\n return { authority: \"\", citizen_id: 0n, reason_code: \"\", evidence_ref: \"\" };\r\n}\r\n\r\nexport const MsgRevokeKCP: MessageFns<MsgRevokeKCP> = {\r\n encode(message: MsgRevokeKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.citizen_id !== 0n) {\r\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\r\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\r\n }\r\n writer.uint32(16).uint64(message.citizen_id);\r\n }\r\n if (message.reason_code !== \"\") {\r\n writer.uint32(26).string(message.reason_code);\r\n }\r\n if (message.evidence_ref !== \"\") {\r\n writer.uint32(34).string(message.evidence_ref);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeKCP {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgRevokeKCP();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 16) {\r\n break;\r\n }\r\n\r\n message.citizen_id = reader.uint64() as bigint;\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 26) {\r\n break;\r\n }\r\n\r\n message.reason_code = reader.string();\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 34) {\r\n break;\r\n }\r\n\r\n message.evidence_ref = reader.string();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgRevokeKCP>): MsgRevokeKCP {\r\n return MsgRevokeKCP.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgRevokeKCP>): MsgRevokeKCP {\r\n const message = createBaseMsgRevokeKCP();\r\n message.authority = object.authority ?? \"\";\r\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\r\n ? BigInt(object.citizen_id)\r\n : 0n;\r\n message.reason_code = object.reason_code ?? \"\";\r\n message.evidence_ref = object.evidence_ref ?? \"\";\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgRevokeKCPResponse(): MsgRevokeKCPResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgRevokeKCPResponse: MessageFns<MsgRevokeKCPResponse> = {\r\n encode(_: MsgRevokeKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeKCPResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgRevokeKCPResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgRevokeKCPResponse>): MsgRevokeKCPResponse {\r\n return MsgRevokeKCPResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgRevokeKCPResponse>): MsgRevokeKCPResponse {\r\n const message = createBaseMsgRevokeKCPResponse();\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgInitiateRecovery(): MsgInitiateRecovery {\r\n return { authority: \"\", citizen_id: 0n, new_wallet: \"\", recovery_case_id: \"\", cooling_off_ends_at: undefined };\r\n}\r\n\r\nexport const MsgInitiateRecovery: MessageFns<MsgInitiateRecovery> = {\r\n encode(message: MsgInitiateRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.citizen_id !== 0n) {\r\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\r\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\r\n }\r\n writer.uint32(16).uint64(message.citizen_id);\r\n }\r\n if (message.new_wallet !== \"\") {\r\n writer.uint32(26).string(message.new_wallet);\r\n }\r\n if (message.recovery_case_id !== \"\") {\r\n writer.uint32(34).string(message.recovery_case_id);\r\n }\r\n if (message.cooling_off_ends_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.cooling_off_ends_at), writer.uint32(42).fork()).join();\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgInitiateRecovery {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgInitiateRecovery();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 16) {\r\n break;\r\n }\r\n\r\n message.citizen_id = reader.uint64() as bigint;\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 26) {\r\n break;\r\n }\r\n\r\n message.new_wallet = reader.string();\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 34) {\r\n break;\r\n }\r\n\r\n message.recovery_case_id = reader.string();\r\n continue;\r\n }\r\n case 5: {\r\n if (tag !== 42) {\r\n break;\r\n }\r\n\r\n message.cooling_off_ends_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgInitiateRecovery>): MsgInitiateRecovery {\r\n return MsgInitiateRecovery.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgInitiateRecovery>): MsgInitiateRecovery {\r\n const message = createBaseMsgInitiateRecovery();\r\n message.authority = object.authority ?? \"\";\r\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\r\n ? BigInt(object.citizen_id)\r\n : 0n;\r\n message.new_wallet = object.new_wallet ?? \"\";\r\n message.recovery_case_id = object.recovery_case_id ?? \"\";\r\n message.cooling_off_ends_at = object.cooling_off_ends_at ?? undefined;\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgInitiateRecoveryResponse(): MsgInitiateRecoveryResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgInitiateRecoveryResponse: MessageFns<MsgInitiateRecoveryResponse> = {\r\n encode(_: MsgInitiateRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgInitiateRecoveryResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgInitiateRecoveryResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgInitiateRecoveryResponse>): MsgInitiateRecoveryResponse {\r\n return MsgInitiateRecoveryResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgInitiateRecoveryResponse>): MsgInitiateRecoveryResponse {\r\n const message = createBaseMsgInitiateRecoveryResponse();\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgApproveRecovery(): MsgApproveRecovery {\r\n return { authority: \"\", recovery_case_id: \"\" };\r\n}\r\n\r\nexport const MsgApproveRecovery: MessageFns<MsgApproveRecovery> = {\r\n encode(message: MsgApproveRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.recovery_case_id !== \"\") {\r\n writer.uint32(18).string(message.recovery_case_id);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgApproveRecovery {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgApproveRecovery();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.recovery_case_id = reader.string();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgApproveRecovery>): MsgApproveRecovery {\r\n return MsgApproveRecovery.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgApproveRecovery>): MsgApproveRecovery {\r\n const message = createBaseMsgApproveRecovery();\r\n message.authority = object.authority ?? \"\";\r\n message.recovery_case_id = object.recovery_case_id ?? \"\";\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgApproveRecoveryResponse(): MsgApproveRecoveryResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgApproveRecoveryResponse: MessageFns<MsgApproveRecoveryResponse> = {\r\n encode(_: MsgApproveRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgApproveRecoveryResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgApproveRecoveryResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgApproveRecoveryResponse>): MsgApproveRecoveryResponse {\r\n return MsgApproveRecoveryResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgApproveRecoveryResponse>): MsgApproveRecoveryResponse {\r\n const message = createBaseMsgApproveRecoveryResponse();\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgFinalizeRecovery(): MsgFinalizeRecovery {\r\n return { authority: \"\", recovery_case_id: \"\", decision_id: \"\" };\r\n}\r\n\r\nexport const MsgFinalizeRecovery: MessageFns<MsgFinalizeRecovery> = {\r\n encode(message: MsgFinalizeRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.recovery_case_id !== \"\") {\r\n writer.uint32(18).string(message.recovery_case_id);\r\n }\r\n if (message.decision_id !== \"\") {\r\n writer.uint32(26).string(message.decision_id);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgFinalizeRecovery {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgFinalizeRecovery();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.recovery_case_id = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 26) {\r\n break;\r\n }\r\n\r\n message.decision_id = reader.string();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgFinalizeRecovery>): MsgFinalizeRecovery {\r\n return MsgFinalizeRecovery.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgFinalizeRecovery>): MsgFinalizeRecovery {\r\n const message = createBaseMsgFinalizeRecovery();\r\n message.authority = object.authority ?? \"\";\r\n message.recovery_case_id = object.recovery_case_id ?? \"\";\r\n message.decision_id = object.decision_id ?? \"\";\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgFinalizeRecoveryResponse(): MsgFinalizeRecoveryResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgFinalizeRecoveryResponse: MessageFns<MsgFinalizeRecoveryResponse> = {\r\n encode(_: MsgFinalizeRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgFinalizeRecoveryResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgFinalizeRecoveryResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgFinalizeRecoveryResponse>): MsgFinalizeRecoveryResponse {\r\n return MsgFinalizeRecoveryResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgFinalizeRecoveryResponse>): MsgFinalizeRecoveryResponse {\r\n const message = createBaseMsgFinalizeRecoveryResponse();\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgCancelRecovery(): MsgCancelRecovery {\r\n return { authority: \"\", recovery_case_id: \"\", reason_code: \"\" };\r\n}\r\n\r\nexport const MsgCancelRecovery: MessageFns<MsgCancelRecovery> = {\r\n encode(message: MsgCancelRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.recovery_case_id !== \"\") {\r\n writer.uint32(18).string(message.recovery_case_id);\r\n }\r\n if (message.reason_code !== \"\") {\r\n writer.uint32(26).string(message.reason_code);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelRecovery {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgCancelRecovery();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.recovery_case_id = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 26) {\r\n break;\r\n }\r\n\r\n message.reason_code = reader.string();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgCancelRecovery>): MsgCancelRecovery {\r\n return MsgCancelRecovery.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgCancelRecovery>): MsgCancelRecovery {\r\n const message = createBaseMsgCancelRecovery();\r\n message.authority = object.authority ?? \"\";\r\n message.recovery_case_id = object.recovery_case_id ?? \"\";\r\n message.reason_code = object.reason_code ?? \"\";\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgCancelRecoveryResponse(): MsgCancelRecoveryResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgCancelRecoveryResponse: MessageFns<MsgCancelRecoveryResponse> = {\r\n encode(_: MsgCancelRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelRecoveryResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgCancelRecoveryResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgCancelRecoveryResponse>): MsgCancelRecoveryResponse {\r\n return MsgCancelRecoveryResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgCancelRecoveryResponse>): MsgCancelRecoveryResponse {\r\n const message = createBaseMsgCancelRecoveryResponse();\r\n return message;\r\n },\r\n};\r\n\r\nexport type MsgDefinition = typeof MsgDefinition;\r\nexport const MsgDefinition = {\r\n name: \"Msg\",\r\n fullName: \"isatheword.kingdomchain.citizen.v1.Msg\",\r\n methods: {\r\n issueKCP: {\r\n name: \"IssueKCP\",\r\n requestType: MsgIssueKCP as typeof MsgIssueKCP,\r\n requestStream: false,\r\n responseType: MsgIssueKCPResponse as typeof MsgIssueKCPResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n suspendKCP: {\r\n name: \"SuspendKCP\",\r\n requestType: MsgSuspendKCP as typeof MsgSuspendKCP,\r\n requestStream: false,\r\n responseType: MsgSuspendKCPResponse as typeof MsgSuspendKCPResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n reactivateKCP: {\r\n name: \"ReactivateKCP\",\r\n requestType: MsgReactivateKCP as typeof MsgReactivateKCP,\r\n requestStream: false,\r\n responseType: MsgReactivateKCPResponse as typeof MsgReactivateKCPResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n revokeKCP: {\r\n name: \"RevokeKCP\",\r\n requestType: MsgRevokeKCP as typeof MsgRevokeKCP,\r\n requestStream: false,\r\n responseType: MsgRevokeKCPResponse as typeof MsgRevokeKCPResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n initiateRecovery: {\r\n name: \"InitiateRecovery\",\r\n requestType: MsgInitiateRecovery as typeof MsgInitiateRecovery,\r\n requestStream: false,\r\n responseType: MsgInitiateRecoveryResponse as typeof MsgInitiateRecoveryResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n approveRecovery: {\r\n name: \"ApproveRecovery\",\r\n requestType: MsgApproveRecovery as typeof MsgApproveRecovery,\r\n requestStream: false,\r\n responseType: MsgApproveRecoveryResponse as typeof MsgApproveRecoveryResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n finalizeRecovery: {\r\n name: \"FinalizeRecovery\",\r\n requestType: MsgFinalizeRecovery as typeof MsgFinalizeRecovery,\r\n requestStream: false,\r\n responseType: MsgFinalizeRecoveryResponse as typeof MsgFinalizeRecoveryResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n cancelRecovery: {\r\n name: \"CancelRecovery\",\r\n requestType: MsgCancelRecovery as typeof MsgCancelRecovery,\r\n requestStream: false,\r\n responseType: MsgCancelRecoveryResponse as typeof MsgCancelRecoveryResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n },\r\n} as const;\r\n\r\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\r\n\r\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\r\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\r\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\r\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\r\n : Partial<T>;\r\n\r\nfunction toTimestamp(date: Date): Timestamp {\r\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\r\n const nanos = (date.getTime() % 1_000) * 1_000_000;\r\n return { seconds, nanos };\r\n}\r\n\r\nfunction fromTimestamp(t: Timestamp): Date {\r\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\r\n millis += (t.nanos || 0) / 1_000_000;\r\n return new globalThis.Date(millis);\r\n}\r\n\r\ninterface MessageFns<T> {\r\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\r\n decode(input: BinaryReader | Uint8Array, length?: number): T;\r\n create(base?: DeepPartial<T>): T;\r\n fromPartial(object: DeepPartial<T>): T;\r\n}\r\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\r\n// versions:\r\n// protoc-gen-ts_proto v2.12.0\r\n// protoc unknown\r\n// source: isatheword/kingdomchain/compliance/v1/tx.proto\r\n\r\n/* eslint-disable */\r\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\r\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\r\n\r\nexport interface MsgRegisterProvider {\r\n authority: string;\r\n provider_id: string;\r\n public_key: string;\r\n key_version: bigint;\r\n supported_assurance_levels: string[];\r\n supported_jurisdictions: string[];\r\n active_from?: Date | undefined;\r\n active_until?: Date | undefined;\r\n}\r\n\r\nexport interface MsgRegisterProviderResponse {\r\n}\r\n\r\nexport interface MsgSuspendProvider {\r\n authority: string;\r\n provider_id: string;\r\n reason_code: string;\r\n}\r\n\r\nexport interface MsgSuspendProviderResponse {\r\n}\r\n\r\nexport interface MsgSubmitApplication {\r\n applicant_wallet: string;\r\n application_id: string;\r\n provider_id: string;\r\n provider_key_version: bigint;\r\n chain_id: string;\r\n case_id: string;\r\n policy_version: string;\r\n nonce: string;\r\n uniqueness_reference: string;\r\n issued_at?: Date | undefined;\r\n expires_at?: Date | undefined;\r\n signature: string;\r\n}\r\n\r\nexport interface MsgSubmitApplicationResponse {\r\n}\r\n\r\nexport interface MsgSubmitRecoveryAttestation {\r\n applicant_wallet: string;\r\n recovery_case_id: string;\r\n provider_id: string;\r\n provider_key_version: bigint;\r\n chain_id: string;\r\n case_id: string;\r\n policy_version: string;\r\n nonce: string;\r\n uniqueness_reference: string;\r\n citizen_id: bigint;\r\n old_wallet: string;\r\n new_wallet: string;\r\n issued_at?: Date | undefined;\r\n expires_at?: Date | undefined;\r\n signature: string;\r\n}\r\n\r\nexport interface MsgSubmitRecoveryAttestationResponse {\r\n}\r\n\r\nexport interface MsgDecideApplication {\r\n authority: string;\r\n application_id: string;\r\n approved: boolean;\r\n reason_code: string;\r\n}\r\n\r\nexport interface MsgDecideApplicationResponse {\r\n}\r\n\r\nexport interface MsgDecideRecoveryAttestation {\r\n authority: string;\r\n recovery_case_id: string;\r\n approved: boolean;\r\n reason_code: string;\r\n}\r\n\r\nexport interface MsgDecideRecoveryAttestationResponse {\r\n}\r\n\r\nfunction createBaseMsgRegisterProvider(): MsgRegisterProvider {\r\n return {\r\n authority: \"\",\r\n provider_id: \"\",\r\n public_key: \"\",\r\n key_version: 0n,\r\n supported_assurance_levels: [],\r\n supported_jurisdictions: [],\r\n active_from: undefined,\r\n active_until: undefined,\r\n };\r\n}\r\n\r\nexport const MsgRegisterProvider: MessageFns<MsgRegisterProvider> = {\r\n encode(message: MsgRegisterProvider, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.provider_id !== \"\") {\r\n writer.uint32(18).string(message.provider_id);\r\n }\r\n if (message.public_key !== \"\") {\r\n writer.uint32(26).string(message.public_key);\r\n }\r\n if (message.key_version !== 0n) {\r\n if (BigInt.asUintN(64, message.key_version) !== message.key_version) {\r\n throw new globalThis.Error(\"value provided for field message.key_version of type uint64 too large\");\r\n }\r\n writer.uint32(32).uint64(message.key_version);\r\n }\r\n for (const v of message.supported_assurance_levels) {\r\n writer.uint32(42).string(v!);\r\n }\r\n for (const v of message.supported_jurisdictions) {\r\n writer.uint32(50).string(v!);\r\n }\r\n if (message.active_from !== undefined) {\r\n Timestamp.encode(toTimestamp(message.active_from), writer.uint32(58).fork()).join();\r\n }\r\n if (message.active_until !== undefined) {\r\n Timestamp.encode(toTimestamp(message.active_until), writer.uint32(66).fork()).join();\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterProvider {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgRegisterProvider();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.provider_id = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 26) {\r\n break;\r\n }\r\n\r\n message.public_key = reader.string();\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 32) {\r\n break;\r\n }\r\n\r\n message.key_version = reader.uint64() as bigint;\r\n continue;\r\n }\r\n case 5: {\r\n if (tag !== 42) {\r\n break;\r\n }\r\n\r\n message.supported_assurance_levels.push(reader.string());\r\n continue;\r\n }\r\n case 6: {\r\n if (tag !== 50) {\r\n break;\r\n }\r\n\r\n message.supported_jurisdictions.push(reader.string());\r\n continue;\r\n }\r\n case 7: {\r\n if (tag !== 58) {\r\n break;\r\n }\r\n\r\n message.active_from = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n case 8: {\r\n if (tag !== 66) {\r\n break;\r\n }\r\n\r\n message.active_until = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgRegisterProvider>): MsgRegisterProvider {\r\n return MsgRegisterProvider.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgRegisterProvider>): MsgRegisterProvider {\r\n const message = createBaseMsgRegisterProvider();\r\n message.authority = object.authority ?? \"\";\r\n message.provider_id = object.provider_id ?? \"\";\r\n message.public_key = object.public_key ?? \"\";\r\n message.key_version = (object.key_version !== undefined && object.key_version !== null)\r\n ? BigInt(object.key_version)\r\n : 0n;\r\n message.supported_assurance_levels = object.supported_assurance_levels?.map((e) => e) || [];\r\n message.supported_jurisdictions = object.supported_jurisdictions?.map((e) => e) || [];\r\n message.active_from = object.active_from ?? undefined;\r\n message.active_until = object.active_until ?? undefined;\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgRegisterProviderResponse(): MsgRegisterProviderResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgRegisterProviderResponse: MessageFns<MsgRegisterProviderResponse> = {\r\n encode(_: MsgRegisterProviderResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterProviderResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgRegisterProviderResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgRegisterProviderResponse>): MsgRegisterProviderResponse {\r\n return MsgRegisterProviderResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgRegisterProviderResponse>): MsgRegisterProviderResponse {\r\n const message = createBaseMsgRegisterProviderResponse();\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgSuspendProvider(): MsgSuspendProvider {\r\n return { authority: \"\", provider_id: \"\", reason_code: \"\" };\r\n}\r\n\r\nexport const MsgSuspendProvider: MessageFns<MsgSuspendProvider> = {\r\n encode(message: MsgSuspendProvider, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.provider_id !== \"\") {\r\n writer.uint32(18).string(message.provider_id);\r\n }\r\n if (message.reason_code !== \"\") {\r\n writer.uint32(26).string(message.reason_code);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendProvider {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgSuspendProvider();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.provider_id = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 26) {\r\n break;\r\n }\r\n\r\n message.reason_code = reader.string();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgSuspendProvider>): MsgSuspendProvider {\r\n return MsgSuspendProvider.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgSuspendProvider>): MsgSuspendProvider {\r\n const message = createBaseMsgSuspendProvider();\r\n message.authority = object.authority ?? \"\";\r\n message.provider_id = object.provider_id ?? \"\";\r\n message.reason_code = object.reason_code ?? \"\";\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgSuspendProviderResponse(): MsgSuspendProviderResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgSuspendProviderResponse: MessageFns<MsgSuspendProviderResponse> = {\r\n encode(_: MsgSuspendProviderResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendProviderResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgSuspendProviderResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgSuspendProviderResponse>): MsgSuspendProviderResponse {\r\n return MsgSuspendProviderResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgSuspendProviderResponse>): MsgSuspendProviderResponse {\r\n const message = createBaseMsgSuspendProviderResponse();\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgSubmitApplication(): MsgSubmitApplication {\r\n return {\r\n applicant_wallet: \"\",\r\n application_id: \"\",\r\n provider_id: \"\",\r\n provider_key_version: 0n,\r\n chain_id: \"\",\r\n case_id: \"\",\r\n policy_version: \"\",\r\n nonce: \"\",\r\n uniqueness_reference: \"\",\r\n issued_at: undefined,\r\n expires_at: undefined,\r\n signature: \"\",\r\n };\r\n}\r\n\r\nexport const MsgSubmitApplication: MessageFns<MsgSubmitApplication> = {\r\n encode(message: MsgSubmitApplication, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.applicant_wallet !== \"\") {\r\n writer.uint32(10).string(message.applicant_wallet);\r\n }\r\n if (message.application_id !== \"\") {\r\n writer.uint32(18).string(message.application_id);\r\n }\r\n if (message.provider_id !== \"\") {\r\n writer.uint32(26).string(message.provider_id);\r\n }\r\n if (message.provider_key_version !== 0n) {\r\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\r\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\r\n }\r\n writer.uint32(32).uint64(message.provider_key_version);\r\n }\r\n if (message.chain_id !== \"\") {\r\n writer.uint32(42).string(message.chain_id);\r\n }\r\n if (message.case_id !== \"\") {\r\n writer.uint32(50).string(message.case_id);\r\n }\r\n if (message.policy_version !== \"\") {\r\n writer.uint32(58).string(message.policy_version);\r\n }\r\n if (message.nonce !== \"\") {\r\n writer.uint32(66).string(message.nonce);\r\n }\r\n if (message.uniqueness_reference !== \"\") {\r\n writer.uint32(74).string(message.uniqueness_reference);\r\n }\r\n if (message.issued_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(82).fork()).join();\r\n }\r\n if (message.expires_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(90).fork()).join();\r\n }\r\n if (message.signature !== \"\") {\r\n writer.uint32(98).string(message.signature);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitApplication {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgSubmitApplication();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.applicant_wallet = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.application_id = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 26) {\r\n break;\r\n }\r\n\r\n message.provider_id = reader.string();\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 32) {\r\n break;\r\n }\r\n\r\n message.provider_key_version = reader.uint64() as bigint;\r\n continue;\r\n }\r\n case 5: {\r\n if (tag !== 42) {\r\n break;\r\n }\r\n\r\n message.chain_id = reader.string();\r\n continue;\r\n }\r\n case 6: {\r\n if (tag !== 50) {\r\n break;\r\n }\r\n\r\n message.case_id = reader.string();\r\n continue;\r\n }\r\n case 7: {\r\n if (tag !== 58) {\r\n break;\r\n }\r\n\r\n message.policy_version = reader.string();\r\n continue;\r\n }\r\n case 8: {\r\n if (tag !== 66) {\r\n break;\r\n }\r\n\r\n message.nonce = reader.string();\r\n continue;\r\n }\r\n case 9: {\r\n if (tag !== 74) {\r\n break;\r\n }\r\n\r\n message.uniqueness_reference = reader.string();\r\n continue;\r\n }\r\n case 10: {\r\n if (tag !== 82) {\r\n break;\r\n }\r\n\r\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n case 11: {\r\n if (tag !== 90) {\r\n break;\r\n }\r\n\r\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n case 12: {\r\n if (tag !== 98) {\r\n break;\r\n }\r\n\r\n message.signature = reader.string();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgSubmitApplication>): MsgSubmitApplication {\r\n return MsgSubmitApplication.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgSubmitApplication>): MsgSubmitApplication {\r\n const message = createBaseMsgSubmitApplication();\r\n message.applicant_wallet = object.applicant_wallet ?? \"\";\r\n message.application_id = object.application_id ?? \"\";\r\n message.provider_id = object.provider_id ?? \"\";\r\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\r\n ? BigInt(object.provider_key_version)\r\n : 0n;\r\n message.chain_id = object.chain_id ?? \"\";\r\n message.case_id = object.case_id ?? \"\";\r\n message.policy_version = object.policy_version ?? \"\";\r\n message.nonce = object.nonce ?? \"\";\r\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\r\n message.issued_at = object.issued_at ?? undefined;\r\n message.expires_at = object.expires_at ?? undefined;\r\n message.signature = object.signature ?? \"\";\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgSubmitApplicationResponse(): MsgSubmitApplicationResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgSubmitApplicationResponse: MessageFns<MsgSubmitApplicationResponse> = {\r\n encode(_: MsgSubmitApplicationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitApplicationResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgSubmitApplicationResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgSubmitApplicationResponse>): MsgSubmitApplicationResponse {\r\n return MsgSubmitApplicationResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgSubmitApplicationResponse>): MsgSubmitApplicationResponse {\r\n const message = createBaseMsgSubmitApplicationResponse();\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgSubmitRecoveryAttestation(): MsgSubmitRecoveryAttestation {\r\n return {\r\n applicant_wallet: \"\",\r\n recovery_case_id: \"\",\r\n provider_id: \"\",\r\n provider_key_version: 0n,\r\n chain_id: \"\",\r\n case_id: \"\",\r\n policy_version: \"\",\r\n nonce: \"\",\r\n uniqueness_reference: \"\",\r\n citizen_id: 0n,\r\n old_wallet: \"\",\r\n new_wallet: \"\",\r\n issued_at: undefined,\r\n expires_at: undefined,\r\n signature: \"\",\r\n };\r\n}\r\n\r\nexport const MsgSubmitRecoveryAttestation: MessageFns<MsgSubmitRecoveryAttestation> = {\r\n encode(message: MsgSubmitRecoveryAttestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.applicant_wallet !== \"\") {\r\n writer.uint32(10).string(message.applicant_wallet);\r\n }\r\n if (message.recovery_case_id !== \"\") {\r\n writer.uint32(18).string(message.recovery_case_id);\r\n }\r\n if (message.provider_id !== \"\") {\r\n writer.uint32(26).string(message.provider_id);\r\n }\r\n if (message.provider_key_version !== 0n) {\r\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\r\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\r\n }\r\n writer.uint32(32).uint64(message.provider_key_version);\r\n }\r\n if (message.chain_id !== \"\") {\r\n writer.uint32(42).string(message.chain_id);\r\n }\r\n if (message.case_id !== \"\") {\r\n writer.uint32(50).string(message.case_id);\r\n }\r\n if (message.policy_version !== \"\") {\r\n writer.uint32(58).string(message.policy_version);\r\n }\r\n if (message.nonce !== \"\") {\r\n writer.uint32(66).string(message.nonce);\r\n }\r\n if (message.uniqueness_reference !== \"\") {\r\n writer.uint32(74).string(message.uniqueness_reference);\r\n }\r\n if (message.citizen_id !== 0n) {\r\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\r\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\r\n }\r\n writer.uint32(80).uint64(message.citizen_id);\r\n }\r\n if (message.old_wallet !== \"\") {\r\n writer.uint32(90).string(message.old_wallet);\r\n }\r\n if (message.new_wallet !== \"\") {\r\n writer.uint32(98).string(message.new_wallet);\r\n }\r\n if (message.issued_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(106).fork()).join();\r\n }\r\n if (message.expires_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(114).fork()).join();\r\n }\r\n if (message.signature !== \"\") {\r\n writer.uint32(122).string(message.signature);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitRecoveryAttestation {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgSubmitRecoveryAttestation();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.applicant_wallet = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.recovery_case_id = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 26) {\r\n break;\r\n }\r\n\r\n message.provider_id = reader.string();\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 32) {\r\n break;\r\n }\r\n\r\n message.provider_key_version = reader.uint64() as bigint;\r\n continue;\r\n }\r\n case 5: {\r\n if (tag !== 42) {\r\n break;\r\n }\r\n\r\n message.chain_id = reader.string();\r\n continue;\r\n }\r\n case 6: {\r\n if (tag !== 50) {\r\n break;\r\n }\r\n\r\n message.case_id = reader.string();\r\n continue;\r\n }\r\n case 7: {\r\n if (tag !== 58) {\r\n break;\r\n }\r\n\r\n message.policy_version = reader.string();\r\n continue;\r\n }\r\n case 8: {\r\n if (tag !== 66) {\r\n break;\r\n }\r\n\r\n message.nonce = reader.string();\r\n continue;\r\n }\r\n case 9: {\r\n if (tag !== 74) {\r\n break;\r\n }\r\n\r\n message.uniqueness_reference = reader.string();\r\n continue;\r\n }\r\n case 10: {\r\n if (tag !== 80) {\r\n break;\r\n }\r\n\r\n message.citizen_id = reader.uint64() as bigint;\r\n continue;\r\n }\r\n case 11: {\r\n if (tag !== 90) {\r\n break;\r\n }\r\n\r\n message.old_wallet = reader.string();\r\n continue;\r\n }\r\n case 12: {\r\n if (tag !== 98) {\r\n break;\r\n }\r\n\r\n message.new_wallet = reader.string();\r\n continue;\r\n }\r\n case 13: {\r\n if (tag !== 106) {\r\n break;\r\n }\r\n\r\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n case 14: {\r\n if (tag !== 114) {\r\n break;\r\n }\r\n\r\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n case 15: {\r\n if (tag !== 122) {\r\n break;\r\n }\r\n\r\n message.signature = reader.string();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgSubmitRecoveryAttestation>): MsgSubmitRecoveryAttestation {\r\n return MsgSubmitRecoveryAttestation.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgSubmitRecoveryAttestation>): MsgSubmitRecoveryAttestation {\r\n const message = createBaseMsgSubmitRecoveryAttestation();\r\n message.applicant_wallet = object.applicant_wallet ?? \"\";\r\n message.recovery_case_id = object.recovery_case_id ?? \"\";\r\n message.provider_id = object.provider_id ?? \"\";\r\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\r\n ? BigInt(object.provider_key_version)\r\n : 0n;\r\n message.chain_id = object.chain_id ?? \"\";\r\n message.case_id = object.case_id ?? \"\";\r\n message.policy_version = object.policy_version ?? \"\";\r\n message.nonce = object.nonce ?? \"\";\r\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\r\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\r\n ? BigInt(object.citizen_id)\r\n : 0n;\r\n message.old_wallet = object.old_wallet ?? \"\";\r\n message.new_wallet = object.new_wallet ?? \"\";\r\n message.issued_at = object.issued_at ?? undefined;\r\n message.expires_at = object.expires_at ?? undefined;\r\n message.signature = object.signature ?? \"\";\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgSubmitRecoveryAttestationResponse(): MsgSubmitRecoveryAttestationResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgSubmitRecoveryAttestationResponse: MessageFns<MsgSubmitRecoveryAttestationResponse> = {\r\n encode(_: MsgSubmitRecoveryAttestationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitRecoveryAttestationResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgSubmitRecoveryAttestationResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgSubmitRecoveryAttestationResponse>): MsgSubmitRecoveryAttestationResponse {\r\n return MsgSubmitRecoveryAttestationResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgSubmitRecoveryAttestationResponse>): MsgSubmitRecoveryAttestationResponse {\r\n const message = createBaseMsgSubmitRecoveryAttestationResponse();\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgDecideApplication(): MsgDecideApplication {\r\n return { authority: \"\", application_id: \"\", approved: false, reason_code: \"\" };\r\n}\r\n\r\nexport const MsgDecideApplication: MessageFns<MsgDecideApplication> = {\r\n encode(message: MsgDecideApplication, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.application_id !== \"\") {\r\n writer.uint32(18).string(message.application_id);\r\n }\r\n if (message.approved !== false) {\r\n writer.uint32(24).bool(message.approved);\r\n }\r\n if (message.reason_code !== \"\") {\r\n writer.uint32(34).string(message.reason_code);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideApplication {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgDecideApplication();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.application_id = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 24) {\r\n break;\r\n }\r\n\r\n message.approved = reader.bool();\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 34) {\r\n break;\r\n }\r\n\r\n message.reason_code = reader.string();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgDecideApplication>): MsgDecideApplication {\r\n return MsgDecideApplication.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgDecideApplication>): MsgDecideApplication {\r\n const message = createBaseMsgDecideApplication();\r\n message.authority = object.authority ?? \"\";\r\n message.application_id = object.application_id ?? \"\";\r\n message.approved = object.approved ?? false;\r\n message.reason_code = object.reason_code ?? \"\";\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgDecideApplicationResponse(): MsgDecideApplicationResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgDecideApplicationResponse: MessageFns<MsgDecideApplicationResponse> = {\r\n encode(_: MsgDecideApplicationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideApplicationResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgDecideApplicationResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgDecideApplicationResponse>): MsgDecideApplicationResponse {\r\n return MsgDecideApplicationResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgDecideApplicationResponse>): MsgDecideApplicationResponse {\r\n const message = createBaseMsgDecideApplicationResponse();\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgDecideRecoveryAttestation(): MsgDecideRecoveryAttestation {\r\n return { authority: \"\", recovery_case_id: \"\", approved: false, reason_code: \"\" };\r\n}\r\n\r\nexport const MsgDecideRecoveryAttestation: MessageFns<MsgDecideRecoveryAttestation> = {\r\n encode(message: MsgDecideRecoveryAttestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.authority !== \"\") {\r\n writer.uint32(10).string(message.authority);\r\n }\r\n if (message.recovery_case_id !== \"\") {\r\n writer.uint32(18).string(message.recovery_case_id);\r\n }\r\n if (message.approved !== false) {\r\n writer.uint32(24).bool(message.approved);\r\n }\r\n if (message.reason_code !== \"\") {\r\n writer.uint32(34).string(message.reason_code);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideRecoveryAttestation {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgDecideRecoveryAttestation();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.authority = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.recovery_case_id = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 24) {\r\n break;\r\n }\r\n\r\n message.approved = reader.bool();\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 34) {\r\n break;\r\n }\r\n\r\n message.reason_code = reader.string();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgDecideRecoveryAttestation>): MsgDecideRecoveryAttestation {\r\n return MsgDecideRecoveryAttestation.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<MsgDecideRecoveryAttestation>): MsgDecideRecoveryAttestation {\r\n const message = createBaseMsgDecideRecoveryAttestation();\r\n message.authority = object.authority ?? \"\";\r\n message.recovery_case_id = object.recovery_case_id ?? \"\";\r\n message.approved = object.approved ?? false;\r\n message.reason_code = object.reason_code ?? \"\";\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseMsgDecideRecoveryAttestationResponse(): MsgDecideRecoveryAttestationResponse {\r\n return {};\r\n}\r\n\r\nexport const MsgDecideRecoveryAttestationResponse: MessageFns<MsgDecideRecoveryAttestationResponse> = {\r\n encode(_: MsgDecideRecoveryAttestationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideRecoveryAttestationResponse {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseMsgDecideRecoveryAttestationResponse();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<MsgDecideRecoveryAttestationResponse>): MsgDecideRecoveryAttestationResponse {\r\n return MsgDecideRecoveryAttestationResponse.fromPartial(base ?? {});\r\n },\r\n fromPartial(_: DeepPartial<MsgDecideRecoveryAttestationResponse>): MsgDecideRecoveryAttestationResponse {\r\n const message = createBaseMsgDecideRecoveryAttestationResponse();\r\n return message;\r\n },\r\n};\r\n\r\nexport type MsgDefinition = typeof MsgDefinition;\r\nexport const MsgDefinition = {\r\n name: \"Msg\",\r\n fullName: \"isatheword.kingdomchain.compliance.v1.Msg\",\r\n methods: {\r\n registerProvider: {\r\n name: \"RegisterProvider\",\r\n requestType: MsgRegisterProvider as typeof MsgRegisterProvider,\r\n requestStream: false,\r\n responseType: MsgRegisterProviderResponse as typeof MsgRegisterProviderResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n suspendProvider: {\r\n name: \"SuspendProvider\",\r\n requestType: MsgSuspendProvider as typeof MsgSuspendProvider,\r\n requestStream: false,\r\n responseType: MsgSuspendProviderResponse as typeof MsgSuspendProviderResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n submitApplication: {\r\n name: \"SubmitApplication\",\r\n requestType: MsgSubmitApplication as typeof MsgSubmitApplication,\r\n requestStream: false,\r\n responseType: MsgSubmitApplicationResponse as typeof MsgSubmitApplicationResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n submitRecoveryAttestation: {\r\n name: \"SubmitRecoveryAttestation\",\r\n requestType: MsgSubmitRecoveryAttestation as typeof MsgSubmitRecoveryAttestation,\r\n requestStream: false,\r\n responseType: MsgSubmitRecoveryAttestationResponse as typeof MsgSubmitRecoveryAttestationResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n decideApplication: {\r\n name: \"DecideApplication\",\r\n requestType: MsgDecideApplication as typeof MsgDecideApplication,\r\n requestStream: false,\r\n responseType: MsgDecideApplicationResponse as typeof MsgDecideApplicationResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n decideRecoveryAttestation: {\r\n name: \"DecideRecoveryAttestation\",\r\n requestType: MsgDecideRecoveryAttestation as typeof MsgDecideRecoveryAttestation,\r\n requestStream: false,\r\n responseType: MsgDecideRecoveryAttestationResponse as typeof MsgDecideRecoveryAttestationResponse,\r\n responseStream: false,\r\n options: {},\r\n },\r\n },\r\n} as const;\r\n\r\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\r\n\r\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\r\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\r\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\r\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\r\n : Partial<T>;\r\n\r\nfunction toTimestamp(date: Date): Timestamp {\r\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\r\n const nanos = (date.getTime() % 1_000) * 1_000_000;\r\n return { seconds, nanos };\r\n}\r\n\r\nfunction fromTimestamp(t: Timestamp): Date {\r\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\r\n millis += (t.nanos || 0) / 1_000_000;\r\n return new globalThis.Date(millis);\r\n}\r\n\r\ninterface MessageFns<T> {\r\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\r\n decode(input: BinaryReader | Uint8Array, length?: number): T;\r\n create(base?: DeepPartial<T>): T;\r\n fromPartial(object: DeepPartial<T>): T;\r\n}\r\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\r\n// versions:\r\n// protoc-gen-ts_proto v2.12.0\r\n// protoc unknown\r\n// source: isatheword/kingdomchain/compliance/v1/compliance.proto\r\n\r\n/* eslint-disable */\r\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\r\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\r\n\r\nexport enum ProviderStatus {\r\n PROVIDER_STATUS_UNSPECIFIED = 0,\r\n PROVIDER_STATUS_ACTIVE = 1,\r\n PROVIDER_STATUS_SUSPENDED = 2,\r\n PROVIDER_STATUS_REVOKED = 3,\r\n UNRECOGNIZED = -1,\r\n}\r\n\r\nexport enum AttestationType {\r\n ATTESTATION_TYPE_UNSPECIFIED = 0,\r\n ATTESTATION_TYPE_CITIZENSHIP_APPLICATION = 1,\r\n ATTESTATION_TYPE_RECOVERY = 2,\r\n UNRECOGNIZED = -1,\r\n}\r\n\r\nexport enum ApplicationStatus {\r\n APPLICATION_STATUS_UNSPECIFIED = 0,\r\n APPLICATION_STATUS_SUBMITTED = 1,\r\n APPLICATION_STATUS_PENDING_REVIEW = 2,\r\n APPLICATION_STATUS_APPROVED = 3,\r\n APPLICATION_STATUS_REJECTED = 4,\r\n UNRECOGNIZED = -1,\r\n}\r\n\r\nexport enum RecoveryAttestationStatus {\r\n RECOVERY_ATTESTATION_STATUS_UNSPECIFIED = 0,\r\n RECOVERY_ATTESTATION_STATUS_SUBMITTED = 1,\r\n RECOVERY_ATTESTATION_STATUS_PENDING_REVIEW = 2,\r\n RECOVERY_ATTESTATION_STATUS_APPROVED = 3,\r\n RECOVERY_ATTESTATION_STATUS_REJECTED = 4,\r\n UNRECOGNIZED = -1,\r\n}\r\n\r\nexport interface ProviderRecord {\r\n provider_id: string;\r\n public_key: string;\r\n key_version: bigint;\r\n supported_assurance_levels: string[];\r\n supported_jurisdictions: string[];\r\n active_from?: Date | undefined;\r\n active_until?: Date | undefined;\r\n status: ProviderStatus;\r\n}\r\n\r\nexport interface Attestation {\r\n attestation_id: string;\r\n provider_id: string;\r\n provider_key_version: bigint;\r\n attestation_type: AttestationType;\r\n chain_id: string;\r\n intended_wallet: string;\r\n case_id: string;\r\n policy_version: string;\r\n nonce: string;\r\n uniqueness_reference: string;\r\n issued_at?: Date | undefined;\r\n expires_at?: Date | undefined;\r\n consumed: boolean;\r\n signature: string;\r\n citizen_id: bigint;\r\n old_wallet: string;\r\n new_wallet: string;\r\n}\r\n\r\nexport interface Application {\r\n application_id: string;\r\n applicant_wallet: string;\r\n status: ApplicationStatus;\r\n attestation_id: string;\r\n uniqueness_commitment: string;\r\n policy_version: string;\r\n decision_reason_code: string;\r\n submitted_at?: Date | undefined;\r\n decided_at?: Date | undefined;\r\n}\r\n\r\nexport interface RecoveryAttestationCase {\r\n recovery_case_id: string;\r\n applicant_wallet: string;\r\n status: RecoveryAttestationStatus;\r\n attestation_id: string;\r\n citizen_id: bigint;\r\n old_wallet: string;\r\n new_wallet: string;\r\n policy_version: string;\r\n decision_reason_code: string;\r\n submitted_at?: Date | undefined;\r\n decided_at?: Date | undefined;\r\n}\r\n\r\nfunction createBaseProviderRecord(): ProviderRecord {\r\n return {\r\n provider_id: \"\",\r\n public_key: \"\",\r\n key_version: 0n,\r\n supported_assurance_levels: [],\r\n supported_jurisdictions: [],\r\n active_from: undefined,\r\n active_until: undefined,\r\n status: 0,\r\n };\r\n}\r\n\r\nexport const ProviderRecord: MessageFns<ProviderRecord> = {\r\n encode(message: ProviderRecord, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.provider_id !== \"\") {\r\n writer.uint32(10).string(message.provider_id);\r\n }\r\n if (message.public_key !== \"\") {\r\n writer.uint32(18).string(message.public_key);\r\n }\r\n if (message.key_version !== 0n) {\r\n if (BigInt.asUintN(64, message.key_version) !== message.key_version) {\r\n throw new globalThis.Error(\"value provided for field message.key_version of type uint64 too large\");\r\n }\r\n writer.uint32(24).uint64(message.key_version);\r\n }\r\n for (const v of message.supported_assurance_levels) {\r\n writer.uint32(34).string(v!);\r\n }\r\n for (const v of message.supported_jurisdictions) {\r\n writer.uint32(42).string(v!);\r\n }\r\n if (message.active_from !== undefined) {\r\n Timestamp.encode(toTimestamp(message.active_from), writer.uint32(50).fork()).join();\r\n }\r\n if (message.active_until !== undefined) {\r\n Timestamp.encode(toTimestamp(message.active_until), writer.uint32(58).fork()).join();\r\n }\r\n if (message.status !== 0) {\r\n writer.uint32(64).int32(message.status);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): ProviderRecord {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseProviderRecord();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.provider_id = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.public_key = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 24) {\r\n break;\r\n }\r\n\r\n message.key_version = reader.uint64() as bigint;\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 34) {\r\n break;\r\n }\r\n\r\n message.supported_assurance_levels.push(reader.string());\r\n continue;\r\n }\r\n case 5: {\r\n if (tag !== 42) {\r\n break;\r\n }\r\n\r\n message.supported_jurisdictions.push(reader.string());\r\n continue;\r\n }\r\n case 6: {\r\n if (tag !== 50) {\r\n break;\r\n }\r\n\r\n message.active_from = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n case 7: {\r\n if (tag !== 58) {\r\n break;\r\n }\r\n\r\n message.active_until = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n case 8: {\r\n if (tag !== 64) {\r\n break;\r\n }\r\n\r\n message.status = reader.int32() as any;\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<ProviderRecord>): ProviderRecord {\r\n return ProviderRecord.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<ProviderRecord>): ProviderRecord {\r\n const message = createBaseProviderRecord();\r\n message.provider_id = object.provider_id ?? \"\";\r\n message.public_key = object.public_key ?? \"\";\r\n message.key_version = (object.key_version !== undefined && object.key_version !== null)\r\n ? BigInt(object.key_version)\r\n : 0n;\r\n message.supported_assurance_levels = object.supported_assurance_levels?.map((e) => e) || [];\r\n message.supported_jurisdictions = object.supported_jurisdictions?.map((e) => e) || [];\r\n message.active_from = object.active_from ?? undefined;\r\n message.active_until = object.active_until ?? undefined;\r\n message.status = object.status ?? 0;\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseAttestation(): Attestation {\r\n return {\r\n attestation_id: \"\",\r\n provider_id: \"\",\r\n provider_key_version: 0n,\r\n attestation_type: 0,\r\n chain_id: \"\",\r\n intended_wallet: \"\",\r\n case_id: \"\",\r\n policy_version: \"\",\r\n nonce: \"\",\r\n uniqueness_reference: \"\",\r\n issued_at: undefined,\r\n expires_at: undefined,\r\n consumed: false,\r\n signature: \"\",\r\n citizen_id: 0n,\r\n old_wallet: \"\",\r\n new_wallet: \"\",\r\n };\r\n}\r\n\r\nexport const Attestation: MessageFns<Attestation> = {\r\n encode(message: Attestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.attestation_id !== \"\") {\r\n writer.uint32(10).string(message.attestation_id);\r\n }\r\n if (message.provider_id !== \"\") {\r\n writer.uint32(18).string(message.provider_id);\r\n }\r\n if (message.provider_key_version !== 0n) {\r\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\r\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\r\n }\r\n writer.uint32(24).uint64(message.provider_key_version);\r\n }\r\n if (message.attestation_type !== 0) {\r\n writer.uint32(32).int32(message.attestation_type);\r\n }\r\n if (message.chain_id !== \"\") {\r\n writer.uint32(42).string(message.chain_id);\r\n }\r\n if (message.intended_wallet !== \"\") {\r\n writer.uint32(50).string(message.intended_wallet);\r\n }\r\n if (message.case_id !== \"\") {\r\n writer.uint32(58).string(message.case_id);\r\n }\r\n if (message.policy_version !== \"\") {\r\n writer.uint32(66).string(message.policy_version);\r\n }\r\n if (message.nonce !== \"\") {\r\n writer.uint32(74).string(message.nonce);\r\n }\r\n if (message.uniqueness_reference !== \"\") {\r\n writer.uint32(82).string(message.uniqueness_reference);\r\n }\r\n if (message.issued_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(90).fork()).join();\r\n }\r\n if (message.expires_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(98).fork()).join();\r\n }\r\n if (message.consumed !== false) {\r\n writer.uint32(104).bool(message.consumed);\r\n }\r\n if (message.signature !== \"\") {\r\n writer.uint32(114).string(message.signature);\r\n }\r\n if (message.citizen_id !== 0n) {\r\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\r\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\r\n }\r\n writer.uint32(120).uint64(message.citizen_id);\r\n }\r\n if (message.old_wallet !== \"\") {\r\n writer.uint32(130).string(message.old_wallet);\r\n }\r\n if (message.new_wallet !== \"\") {\r\n writer.uint32(138).string(message.new_wallet);\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): Attestation {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseAttestation();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.attestation_id = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.provider_id = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 24) {\r\n break;\r\n }\r\n\r\n message.provider_key_version = reader.uint64() as bigint;\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 32) {\r\n break;\r\n }\r\n\r\n message.attestation_type = reader.int32() as any;\r\n continue;\r\n }\r\n case 5: {\r\n if (tag !== 42) {\r\n break;\r\n }\r\n\r\n message.chain_id = reader.string();\r\n continue;\r\n }\r\n case 6: {\r\n if (tag !== 50) {\r\n break;\r\n }\r\n\r\n message.intended_wallet = reader.string();\r\n continue;\r\n }\r\n case 7: {\r\n if (tag !== 58) {\r\n break;\r\n }\r\n\r\n message.case_id = reader.string();\r\n continue;\r\n }\r\n case 8: {\r\n if (tag !== 66) {\r\n break;\r\n }\r\n\r\n message.policy_version = reader.string();\r\n continue;\r\n }\r\n case 9: {\r\n if (tag !== 74) {\r\n break;\r\n }\r\n\r\n message.nonce = reader.string();\r\n continue;\r\n }\r\n case 10: {\r\n if (tag !== 82) {\r\n break;\r\n }\r\n\r\n message.uniqueness_reference = reader.string();\r\n continue;\r\n }\r\n case 11: {\r\n if (tag !== 90) {\r\n break;\r\n }\r\n\r\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n case 12: {\r\n if (tag !== 98) {\r\n break;\r\n }\r\n\r\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n case 13: {\r\n if (tag !== 104) {\r\n break;\r\n }\r\n\r\n message.consumed = reader.bool();\r\n continue;\r\n }\r\n case 14: {\r\n if (tag !== 114) {\r\n break;\r\n }\r\n\r\n message.signature = reader.string();\r\n continue;\r\n }\r\n case 15: {\r\n if (tag !== 120) {\r\n break;\r\n }\r\n\r\n message.citizen_id = reader.uint64() as bigint;\r\n continue;\r\n }\r\n case 16: {\r\n if (tag !== 130) {\r\n break;\r\n }\r\n\r\n message.old_wallet = reader.string();\r\n continue;\r\n }\r\n case 17: {\r\n if (tag !== 138) {\r\n break;\r\n }\r\n\r\n message.new_wallet = reader.string();\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<Attestation>): Attestation {\r\n return Attestation.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<Attestation>): Attestation {\r\n const message = createBaseAttestation();\r\n message.attestation_id = object.attestation_id ?? \"\";\r\n message.provider_id = object.provider_id ?? \"\";\r\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\r\n ? BigInt(object.provider_key_version)\r\n : 0n;\r\n message.attestation_type = object.attestation_type ?? 0;\r\n message.chain_id = object.chain_id ?? \"\";\r\n message.intended_wallet = object.intended_wallet ?? \"\";\r\n message.case_id = object.case_id ?? \"\";\r\n message.policy_version = object.policy_version ?? \"\";\r\n message.nonce = object.nonce ?? \"\";\r\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\r\n message.issued_at = object.issued_at ?? undefined;\r\n message.expires_at = object.expires_at ?? undefined;\r\n message.consumed = object.consumed ?? false;\r\n message.signature = object.signature ?? \"\";\r\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\r\n ? BigInt(object.citizen_id)\r\n : 0n;\r\n message.old_wallet = object.old_wallet ?? \"\";\r\n message.new_wallet = object.new_wallet ?? \"\";\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseApplication(): Application {\r\n return {\r\n application_id: \"\",\r\n applicant_wallet: \"\",\r\n status: 0,\r\n attestation_id: \"\",\r\n uniqueness_commitment: \"\",\r\n policy_version: \"\",\r\n decision_reason_code: \"\",\r\n submitted_at: undefined,\r\n decided_at: undefined,\r\n };\r\n}\r\n\r\nexport const Application: MessageFns<Application> = {\r\n encode(message: Application, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.application_id !== \"\") {\r\n writer.uint32(10).string(message.application_id);\r\n }\r\n if (message.applicant_wallet !== \"\") {\r\n writer.uint32(18).string(message.applicant_wallet);\r\n }\r\n if (message.status !== 0) {\r\n writer.uint32(24).int32(message.status);\r\n }\r\n if (message.attestation_id !== \"\") {\r\n writer.uint32(34).string(message.attestation_id);\r\n }\r\n if (message.uniqueness_commitment !== \"\") {\r\n writer.uint32(42).string(message.uniqueness_commitment);\r\n }\r\n if (message.policy_version !== \"\") {\r\n writer.uint32(50).string(message.policy_version);\r\n }\r\n if (message.decision_reason_code !== \"\") {\r\n writer.uint32(58).string(message.decision_reason_code);\r\n }\r\n if (message.submitted_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.submitted_at), writer.uint32(66).fork()).join();\r\n }\r\n if (message.decided_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.decided_at), writer.uint32(74).fork()).join();\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): Application {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseApplication();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.application_id = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.applicant_wallet = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 24) {\r\n break;\r\n }\r\n\r\n message.status = reader.int32() as any;\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 34) {\r\n break;\r\n }\r\n\r\n message.attestation_id = reader.string();\r\n continue;\r\n }\r\n case 5: {\r\n if (tag !== 42) {\r\n break;\r\n }\r\n\r\n message.uniqueness_commitment = reader.string();\r\n continue;\r\n }\r\n case 6: {\r\n if (tag !== 50) {\r\n break;\r\n }\r\n\r\n message.policy_version = reader.string();\r\n continue;\r\n }\r\n case 7: {\r\n if (tag !== 58) {\r\n break;\r\n }\r\n\r\n message.decision_reason_code = reader.string();\r\n continue;\r\n }\r\n case 8: {\r\n if (tag !== 66) {\r\n break;\r\n }\r\n\r\n message.submitted_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n case 9: {\r\n if (tag !== 74) {\r\n break;\r\n }\r\n\r\n message.decided_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<Application>): Application {\r\n return Application.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<Application>): Application {\r\n const message = createBaseApplication();\r\n message.application_id = object.application_id ?? \"\";\r\n message.applicant_wallet = object.applicant_wallet ?? \"\";\r\n message.status = object.status ?? 0;\r\n message.attestation_id = object.attestation_id ?? \"\";\r\n message.uniqueness_commitment = object.uniqueness_commitment ?? \"\";\r\n message.policy_version = object.policy_version ?? \"\";\r\n message.decision_reason_code = object.decision_reason_code ?? \"\";\r\n message.submitted_at = object.submitted_at ?? undefined;\r\n message.decided_at = object.decided_at ?? undefined;\r\n return message;\r\n },\r\n};\r\n\r\nfunction createBaseRecoveryAttestationCase(): RecoveryAttestationCase {\r\n return {\r\n recovery_case_id: \"\",\r\n applicant_wallet: \"\",\r\n status: 0,\r\n attestation_id: \"\",\r\n citizen_id: 0n,\r\n old_wallet: \"\",\r\n new_wallet: \"\",\r\n policy_version: \"\",\r\n decision_reason_code: \"\",\r\n submitted_at: undefined,\r\n decided_at: undefined,\r\n };\r\n}\r\n\r\nexport const RecoveryAttestationCase: MessageFns<RecoveryAttestationCase> = {\r\n encode(message: RecoveryAttestationCase, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\r\n if (message.recovery_case_id !== \"\") {\r\n writer.uint32(10).string(message.recovery_case_id);\r\n }\r\n if (message.applicant_wallet !== \"\") {\r\n writer.uint32(18).string(message.applicant_wallet);\r\n }\r\n if (message.status !== 0) {\r\n writer.uint32(24).int32(message.status);\r\n }\r\n if (message.attestation_id !== \"\") {\r\n writer.uint32(34).string(message.attestation_id);\r\n }\r\n if (message.citizen_id !== 0n) {\r\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\r\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\r\n }\r\n writer.uint32(40).uint64(message.citizen_id);\r\n }\r\n if (message.old_wallet !== \"\") {\r\n writer.uint32(50).string(message.old_wallet);\r\n }\r\n if (message.new_wallet !== \"\") {\r\n writer.uint32(58).string(message.new_wallet);\r\n }\r\n if (message.policy_version !== \"\") {\r\n writer.uint32(66).string(message.policy_version);\r\n }\r\n if (message.decision_reason_code !== \"\") {\r\n writer.uint32(74).string(message.decision_reason_code);\r\n }\r\n if (message.submitted_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.submitted_at), writer.uint32(82).fork()).join();\r\n }\r\n if (message.decided_at !== undefined) {\r\n Timestamp.encode(toTimestamp(message.decided_at), writer.uint32(90).fork()).join();\r\n }\r\n return writer;\r\n },\r\n\r\n decode(input: BinaryReader | Uint8Array, length?: number): RecoveryAttestationCase {\r\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\r\n const end = length === undefined ? reader.len : reader.pos + length;\r\n const message = createBaseRecoveryAttestationCase();\r\n while (reader.pos < end) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1: {\r\n if (tag !== 10) {\r\n break;\r\n }\r\n\r\n message.recovery_case_id = reader.string();\r\n continue;\r\n }\r\n case 2: {\r\n if (tag !== 18) {\r\n break;\r\n }\r\n\r\n message.applicant_wallet = reader.string();\r\n continue;\r\n }\r\n case 3: {\r\n if (tag !== 24) {\r\n break;\r\n }\r\n\r\n message.status = reader.int32() as any;\r\n continue;\r\n }\r\n case 4: {\r\n if (tag !== 34) {\r\n break;\r\n }\r\n\r\n message.attestation_id = reader.string();\r\n continue;\r\n }\r\n case 5: {\r\n if (tag !== 40) {\r\n break;\r\n }\r\n\r\n message.citizen_id = reader.uint64() as bigint;\r\n continue;\r\n }\r\n case 6: {\r\n if (tag !== 50) {\r\n break;\r\n }\r\n\r\n message.old_wallet = reader.string();\r\n continue;\r\n }\r\n case 7: {\r\n if (tag !== 58) {\r\n break;\r\n }\r\n\r\n message.new_wallet = reader.string();\r\n continue;\r\n }\r\n case 8: {\r\n if (tag !== 66) {\r\n break;\r\n }\r\n\r\n message.policy_version = reader.string();\r\n continue;\r\n }\r\n case 9: {\r\n if (tag !== 74) {\r\n break;\r\n }\r\n\r\n message.decision_reason_code = reader.string();\r\n continue;\r\n }\r\n case 10: {\r\n if (tag !== 82) {\r\n break;\r\n }\r\n\r\n message.submitted_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n case 11: {\r\n if (tag !== 90) {\r\n break;\r\n }\r\n\r\n message.decided_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\r\n continue;\r\n }\r\n }\r\n if ((tag & 7) === 4 || tag === 0) {\r\n break;\r\n }\r\n reader.skip(tag & 7);\r\n }\r\n return message;\r\n },\r\n\r\n create(base?: DeepPartial<RecoveryAttestationCase>): RecoveryAttestationCase {\r\n return RecoveryAttestationCase.fromPartial(base ?? {});\r\n },\r\n fromPartial(object: DeepPartial<RecoveryAttestationCase>): RecoveryAttestationCase {\r\n const message = createBaseRecoveryAttestationCase();\r\n message.recovery_case_id = object.recovery_case_id ?? \"\";\r\n message.applicant_wallet = object.applicant_wallet ?? \"\";\r\n message.status = object.status ?? 0;\r\n message.attestation_id = object.attestation_id ?? \"\";\r\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\r\n ? BigInt(object.citizen_id)\r\n : 0n;\r\n message.old_wallet = object.old_wallet ?? \"\";\r\n message.new_wallet = object.new_wallet ?? \"\";\r\n message.policy_version = object.policy_version ?? \"\";\r\n message.decision_reason_code = object.decision_reason_code ?? \"\";\r\n message.submitted_at = object.submitted_at ?? undefined;\r\n message.decided_at = object.decided_at ?? undefined;\r\n return message;\r\n },\r\n};\r\n\r\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\r\n\r\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\r\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\r\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\r\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\r\n : Partial<T>;\r\n\r\nfunction toTimestamp(date: Date): Timestamp {\r\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\r\n const nanos = (date.getTime() % 1_000) * 1_000_000;\r\n return { seconds, nanos };\r\n}\r\n\r\nfunction fromTimestamp(t: Timestamp): Date {\r\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\r\n millis += (t.nanos || 0) / 1_000_000;\r\n return new globalThis.Date(millis);\r\n}\r\n\r\ninterface MessageFns<T> {\r\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\r\n decode(input: BinaryReader | Uint8Array, length?: number): T;\r\n create(base?: DeepPartial<T>): T;\r\n fromPartial(object: DeepPartial<T>): T;\r\n}\r\n","import { GeneratedType, Registry } from \"@cosmjs/proto-signing\";\r\nimport { defaultRegistryTypes } from \"@cosmjs/stargate\";\r\nimport { BinaryWriter } from \"@bufbuild/protobuf/wire\";\r\n\r\nimport {\r\n MsgApproveRecovery,\r\n MsgCancelRecovery,\r\n MsgFinalizeRecovery,\r\n MsgInitiateRecovery,\r\n MsgIssueKCP,\r\n MsgReactivateKCP,\r\n MsgRevokeKCP,\r\n MsgSuspendKCP,\r\n} from \"./generated/isatheword/kingdomchain/citizen/v1/tx\";\r\nimport {\r\n MsgDecideApplication,\r\n MsgDecideRecoveryAttestation,\r\n MsgRegisterProvider,\r\n MsgSubmitApplication,\r\n MsgSubmitRecoveryAttestation,\r\n MsgSuspendProvider,\r\n} from \"./generated/isatheword/kingdomchain/compliance/v1/tx\";\r\n\r\ninterface MessageFns<T> {\r\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\r\n decode(input: Uint8Array): T;\r\n fromPartial(object: Partial<T>): T;\r\n}\r\n\r\n/** Adapt ts-proto @bufbuild MessageFns to CosmJS Registry (encode().finish()). */\r\nfunction wrapMsgFns<T>(msgFns: MessageFns<T>): GeneratedType {\r\n return {\r\n encode: (message: T) => msgFns.encode(message) as any,\r\n decode: (input: Uint8Array) => msgFns.decode(input),\r\n fromPartial: (object: Partial<T>) => msgFns.fromPartial(object),\r\n };\r\n}\r\n\r\nconst COMPLIANCE_MSG_TYPES: ReadonlyArray<[string, GeneratedType]> = [\r\n [\"/isatheword.kingdomchain.compliance.v1.MsgRegisterProvider\", wrapMsgFns(MsgRegisterProvider)],\r\n [\"/isatheword.kingdomchain.compliance.v1.MsgSuspendProvider\", wrapMsgFns(MsgSuspendProvider)],\r\n [\"/isatheword.kingdomchain.compliance.v1.MsgSubmitApplication\", wrapMsgFns(MsgSubmitApplication)],\r\n [\"/isatheword.kingdomchain.compliance.v1.MsgSubmitRecoveryAttestation\", wrapMsgFns(MsgSubmitRecoveryAttestation)],\r\n [\"/isatheword.kingdomchain.compliance.v1.MsgDecideApplication\", wrapMsgFns(MsgDecideApplication)],\r\n [\"/isatheword.kingdomchain.compliance.v1.MsgDecideRecoveryAttestation\", wrapMsgFns(MsgDecideRecoveryAttestation)],\r\n];\r\n\r\nconst CITIZEN_MSG_TYPES: ReadonlyArray<[string, GeneratedType]> = [\r\n [\"/isatheword.kingdomchain.citizen.v1.MsgIssueKCP\", wrapMsgFns(MsgIssueKCP)],\r\n [\"/isatheword.kingdomchain.citizen.v1.MsgSuspendKCP\", wrapMsgFns(MsgSuspendKCP)],\r\n [\"/isatheword.kingdomchain.citizen.v1.MsgReactivateKCP\", wrapMsgFns(MsgReactivateKCP)],\r\n [\"/isatheword.kingdomchain.citizen.v1.MsgRevokeKCP\", wrapMsgFns(MsgRevokeKCP)],\r\n [\"/isatheword.kingdomchain.citizen.v1.MsgInitiateRecovery\", wrapMsgFns(MsgInitiateRecovery)],\r\n [\"/isatheword.kingdomchain.citizen.v1.MsgApproveRecovery\", wrapMsgFns(MsgApproveRecovery)],\r\n [\"/isatheword.kingdomchain.citizen.v1.MsgFinalizeRecovery\", wrapMsgFns(MsgFinalizeRecovery)],\r\n [\"/isatheword.kingdomchain.citizen.v1.MsgCancelRecovery\", wrapMsgFns(MsgCancelRecovery)],\r\n];\r\n\r\n/** CosmJS registry: standard Cosmos SDK types + Kingdom Chain citizen/compliance messages. */\r\nexport function createKingdomChainRegistry(): Registry {\r\n return new Registry([...defaultRegistryTypes, ...COMPLIANCE_MSG_TYPES, ...CITIZEN_MSG_TYPES]);\r\n}\r\n\r\nexport { MsgSubmitApplication, MsgSubmitRecoveryAttestation } from \"./generated/isatheword/kingdomchain/compliance/v1/tx\";\r\nexport { ApplicationStatus, RecoveryAttestationStatus } from \"./generated/isatheword/kingdomchain/compliance/v1/compliance\";\r\n","/**\r\n * Kingdom Chain on-chain denom and display metadata.\r\n *\r\n * Sources:\r\n * - x/supply/types/constants.go (UkdrDenom = \"ukdr\")\r\n * - TOKENOMICS_COSMOS_SPEC.md (1 KDR = 1,000,000 ukdr)\r\n * - app/app.go + app/config.go (bech32 prefix, coin type)\r\n */\r\n\r\n/** Base (minimal) denom registered in x/supply. */\r\nexport const UKDR_MINIMAL_DENOM = \"ukdr\";\r\n\r\n/** Human-readable display symbol. */\r\nexport const UKDR_DISPLAY_DENOM = \"KDR\";\r\n\r\n/** ukdr is a micro-unit: 10^6 ukdr = 1 KDR. */\r\nexport const UKDR_DECIMALS = 6;\r\n\r\n/** Account / validator bech32 prefix (AccountAddressPrefix in app/app.go). */\r\nexport const BECH32_PREFIX = \"king\";\r\n\r\n/** SLIP-0044 coin type (ChainCoinType in app/app.go). */\r\nexport const CHAIN_COIN_TYPE = 118;\r\n\r\n/** Devnet default chain ID (override via env when a permanent node exists). */\r\nexport const DEFAULT_CHAIN_ID = \"kingdomchain-e2e\";\r\n\r\nexport const DEFAULT_RPC_URL = \"http://127.0.0.1:26657\";\r\nexport const DEFAULT_REST_URL = \"http://127.0.0.1:1317\";\r\n","import type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\r\nimport { SigningStargateClient } from \"@cosmjs/stargate\";\r\n\r\nimport {\r\n BECH32_PREFIX,\r\n CHAIN_COIN_TYPE,\r\n UKDR_DECIMALS,\r\n UKDR_DISPLAY_DENOM,\r\n UKDR_MINIMAL_DENOM,\r\n} from \"./chainConstants\";\r\nimport { createKingdomChainRegistry } from \"./registry\";\r\n\r\n/** Keplr/Leap-compatible currency entry. */\r\nexport interface ChainCurrency {\r\n coinDenom: string;\r\n coinMinimalDenom: string;\r\n coinDecimals: number;\r\n gasPriceStep?: { low: number; average: number; high: number };\r\n}\r\n\r\n/** Keplr/Leap-compatible ChainInfo for experimentalSuggestChain. */\r\nexport interface ChainInfo {\r\n chainId: string;\r\n chainName: string;\r\n rpc: string;\r\n rest: string;\r\n bip44: { coinType: number };\r\n bech32Config: {\r\n bech32PrefixAccAddr: string;\r\n bech32PrefixAccPub: string;\r\n bech32PrefixValAddr: string;\r\n bech32PrefixValPub: string;\r\n bech32PrefixConsAddr: string;\r\n bech32PrefixConsPub: string;\r\n };\r\n currencies: ChainCurrency[];\r\n feeCurrencies: ChainCurrency[];\r\n stakeCurrency: ChainCurrency;\r\n}\r\n\r\n/** Subset of Keplr/Leap window API used for chain connect. */\r\nexport interface BrowserWalletApi {\r\n experimentalSuggestChain(chainInfo: ChainInfo): Promise<void>;\r\n enable(chainId: string): Promise<void>;\r\n getOfflineSigner(chainId: string): OfflineDirectSigner;\r\n}\r\n\r\nexport class WalletNotInstalledError extends Error {\r\n constructor(public readonly walletName: string) {\r\n super(`${walletName} extension is not installed. Install it and refresh the page.`);\r\n this.name = \"WalletNotInstalledError\";\r\n }\r\n}\r\n\r\nexport class WalletConnectionError extends Error {\r\n constructor(\r\n public readonly walletName: string,\r\n public readonly step: \"suggestChain\" | \"enable\" | \"getOfflineSigner\",\r\n cause?: unknown,\r\n ) {\r\n const stepLabel =\r\n step === \"suggestChain\"\r\n ? \"chain suggestion\"\r\n : step === \"enable\"\r\n ? \"connection request\"\r\n : \"offline signer retrieval\";\r\n super(`${walletName} failed during ${stepLabel}.`, { cause });\r\n this.name = \"WalletConnectionError\";\r\n }\r\n}\r\n\r\n/** @deprecated Use WalletConnectionError — kept for backward compatibility in tests/demo. */\r\nexport class WalletConnectionRejectedError extends WalletConnectionError {\r\n constructor(walletName: string, step: \"suggestChain\" | \"enable\", cause?: unknown) {\r\n super(walletName, step, cause);\r\n this.name = \"WalletConnectionRejectedError\";\r\n }\r\n}\r\n\r\nexport class WalletAccountError extends Error {\r\n constructor(public readonly walletName: string) {\r\n super(`${walletName} returned no usable accounts. Reconnect the wallet and try again.`);\r\n this.name = \"WalletAccountError\";\r\n }\r\n}\r\n\r\nexport class InvalidChainConfigError extends Error {\r\n constructor(message: string) {\r\n super(message);\r\n this.name = \"InvalidChainConfigError\";\r\n }\r\n}\r\n\r\nexport class RpcConnectionError extends Error {\r\n constructor(\r\n public readonly rpcUrl: string,\r\n cause?: unknown,\r\n ) {\r\n super(`Failed to connect to RPC endpoint ${rpcUrl}. Is the node running and reachable?`, { cause });\r\n this.name = \"RpcConnectionError\";\r\n }\r\n}\r\n\r\n/** Cosmostation exposes a Keplr-compatible provider at providers.keplr. */\r\nexport interface CosmostationWindowApi {\r\n providers?: {\r\n keplr?: BrowserWalletApi;\r\n };\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n keplr?: BrowserWalletApi;\r\n leap?: BrowserWalletApi;\r\n cosmostation?: CosmostationWindowApi;\r\n }\r\n}\r\n\r\nconst UKDR_CURRENCY: ChainCurrency = {\r\n coinDenom: UKDR_DISPLAY_DENOM,\r\n coinMinimalDenom: UKDR_MINIMAL_DENOM,\r\n coinDecimals: UKDR_DECIMALS,\r\n};\r\n\r\n/** E2E devnet uses minimum-gas-prices = \"0ukdr\" (scripts/citizen-compliance-e2e/run.sh). */\r\nconst UKDR_FEE_CURRENCY: ChainCurrency = {\r\n ...UKDR_CURRENCY,\r\n gasPriceStep: { low: 0, average: 0, high: 0.025 },\r\n};\r\n\r\nfunction isWalletApiPresent(api: unknown): api is BrowserWalletApi {\r\n if (api == null || typeof api !== \"object\") {\r\n return false;\r\n }\r\n const candidate = api as BrowserWalletApi;\r\n return (\r\n typeof candidate.experimentalSuggestChain === \"function\" &&\r\n typeof candidate.enable === \"function\" &&\r\n typeof candidate.getOfflineSigner === \"function\"\r\n );\r\n}\r\n\r\n/** Validate chain endpoint inputs before passing to Keplr/Leap. */\r\nexport function validateChainConfig(chainId: string, rpcUrl: string, restUrl: string): void {\r\n if (!chainId.trim()) {\r\n throw new InvalidChainConfigError(\"chainId is required\");\r\n }\r\n if (!rpcUrl.trim()) {\r\n throw new InvalidChainConfigError(\"rpcUrl is required\");\r\n }\r\n if (!restUrl.trim()) {\r\n throw new InvalidChainConfigError(\"restUrl is required\");\r\n }\r\n}\r\n\r\nexport function isKeplrAvailable(): boolean {\r\n return typeof window !== \"undefined\" && isWalletApiPresent(window.keplr);\r\n}\r\n\r\nexport function isLeapAvailable(): boolean {\r\n return typeof window !== \"undefined\" && isWalletApiPresent(window.leap);\r\n}\r\n\r\n/** Keplr-compatible API injected by the Cosmostation extension. */\r\nexport function getCosmostationKeplrApi(): BrowserWalletApi | undefined {\r\n if (typeof window === \"undefined\") {\r\n return undefined;\r\n }\r\n const api = window.cosmostation?.providers?.keplr;\r\n return isWalletApiPresent(api) ? api : undefined;\r\n}\r\n\r\nexport function isCosmostationAvailable(): boolean {\r\n return getCosmostationKeplrApi() != null;\r\n}\r\n\r\n/** Build ChainInfo for Keplr/Leap experimentalSuggestChain. */\r\nexport function buildKingdomChainInfo(\r\n chainId: string,\r\n rpcUrl: string,\r\n restUrl: string,\r\n chainName = \"Kingdom Chain\",\r\n): ChainInfo {\r\n validateChainConfig(chainId, rpcUrl, restUrl);\r\n\r\n const accPub = `${BECH32_PREFIX}pub`;\r\n const valAddr = `${BECH32_PREFIX}valoper`;\r\n const valPub = `${BECH32_PREFIX}valoperpub`;\r\n const consAddr = `${BECH32_PREFIX}valcons`;\r\n const consPub = `${BECH32_PREFIX}valconspub`;\r\n\r\n return {\r\n chainId,\r\n chainName,\r\n rpc: rpcUrl,\r\n rest: restUrl,\r\n bip44: { coinType: CHAIN_COIN_TYPE },\r\n bech32Config: {\r\n bech32PrefixAccAddr: BECH32_PREFIX,\r\n bech32PrefixAccPub: accPub,\r\n bech32PrefixValAddr: valAddr,\r\n bech32PrefixValPub: valPub,\r\n bech32PrefixConsAddr: consAddr,\r\n bech32PrefixConsPub: consPub,\r\n },\r\n currencies: [UKDR_CURRENCY],\r\n feeCurrencies: [UKDR_FEE_CURRENCY],\r\n stakeCurrency: UKDR_CURRENCY,\r\n };\r\n}\r\n\r\nasync function assertSignerHasAccount(signer: OfflineDirectSigner, walletName: string): Promise<void> {\r\n let accounts;\r\n try {\r\n accounts = await signer.getAccounts();\r\n } catch (err) {\r\n throw new WalletConnectionError(walletName, \"getOfflineSigner\", err);\r\n }\r\n if (accounts.length === 0 || !accounts[0]?.address?.trim()) {\r\n throw new WalletAccountError(walletName);\r\n }\r\n}\r\n\r\n/** Suggest chain, request access, return CosmJS OfflineDirectSigner. */\r\nexport async function suggestAndConnect(\r\n walletApi: BrowserWalletApi,\r\n chainInfo: ChainInfo,\r\n walletName = \"Wallet\",\r\n): Promise<OfflineDirectSigner> {\r\n try {\r\n await walletApi.experimentalSuggestChain(chainInfo);\r\n } catch (err) {\r\n throw new WalletConnectionRejectedError(walletName, \"suggestChain\", err);\r\n }\r\n\r\n try {\r\n await walletApi.enable(chainInfo.chainId);\r\n } catch (err) {\r\n throw new WalletConnectionRejectedError(walletName, \"enable\", err);\r\n }\r\n\r\n let signer: OfflineDirectSigner;\r\n try {\r\n signer = walletApi.getOfflineSigner(chainInfo.chainId);\r\n } catch (err) {\r\n throw new WalletConnectionError(walletName, \"getOfflineSigner\", err);\r\n }\r\n\r\n await assertSignerHasAccount(signer, walletName);\r\n return signer;\r\n}\r\n\r\nfunction resolveWalletApi(\r\n getter: () => BrowserWalletApi | undefined,\r\n walletName: string,\r\n): BrowserWalletApi {\r\n if (!isWalletApiPresent(getter())) {\r\n throw new WalletNotInstalledError(walletName);\r\n }\r\n const api = getter();\r\n if (!isWalletApiPresent(api)) {\r\n throw new WalletNotInstalledError(walletName);\r\n }\r\n return api;\r\n}\r\n\r\nexport async function connectKeplr(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\r\n const api = resolveWalletApi(() => window.keplr, \"Keplr\");\r\n return suggestAndConnect(api, chainInfo, \"Keplr\");\r\n}\r\n\r\nexport async function connectLeap(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\r\n const api = resolveWalletApi(() => window.leap, \"Leap\");\r\n return suggestAndConnect(api, chainInfo, \"Leap\");\r\n}\r\n\r\nexport async function connectCosmostation(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\r\n const api = resolveWalletApi(getCosmostationKeplrApi, \"Cosmostation\");\r\n return suggestAndConnect(api, chainInfo, \"Cosmostation\");\r\n}\r\n\r\n/** SigningStargateClient wired with Kingdom Chain custom message registry. */\r\nexport async function createBrowserSigningClient(\r\n rpcUrl: string,\r\n signer: OfflineDirectSigner,\r\n): Promise<SigningStargateClient> {\r\n if (!rpcUrl.trim()) {\r\n throw new InvalidChainConfigError(\"rpcUrl is required\");\r\n }\r\n try {\r\n return await SigningStargateClient.connectWithSigner(rpcUrl, signer, {\r\n registry: createKingdomChainRegistry(),\r\n });\r\n } catch (err) {\r\n throw new RpcConnectionError(rpcUrl, err);\r\n }\r\n}\r\n","import SignClient from \"@walletconnect/sign-client\";\r\nimport type { ProposalTypes, SessionTypes } from \"@walletconnect/types\";\r\nimport type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\r\nimport type { AccountData, DirectSignResponse } from \"@cosmjs/proto-signing\";\r\nimport type { SignDoc } from \"cosmjs-types/cosmos/tx/v1beta1/tx\";\r\nimport { fromBase64, toBase64 } from \"@cosmjs/encoding\";\r\n\r\nexport const WALLETCONNECT_COSMOS_NAMESPACE = \"cosmos\";\r\n\r\nexport const WALLETCONNECT_COSMOS_METHODS = [\r\n \"cosmos_getAccounts\",\r\n \"cosmos_signDirect\",\r\n \"cosmos_signAmino\",\r\n] as const;\r\n\r\nexport interface WalletConnectMetadata {\r\n name: string;\r\n description: string;\r\n url: string;\r\n icons: string[];\r\n}\r\n\r\nexport interface WalletConnectChainConfig {\r\n chainId: string;\r\n projectId: string;\r\n metadata: WalletConnectMetadata;\r\n relayUrl?: string;\r\n}\r\n\r\nexport interface WalletConnectConnectResult {\r\n uri: string;\r\n session: SessionTypes.Struct;\r\n signer: OfflineDirectSigner;\r\n}\r\n\r\nexport class WalletConnectNotInitializedError extends Error {\r\n constructor() {\r\n super(\"WalletConnect Sign Client is not initialized.\");\r\n this.name = \"WalletConnectNotInitializedError\";\r\n }\r\n}\r\n\r\nexport class WalletConnectSessionError extends Error {\r\n constructor(message: string, cause?: unknown) {\r\n super(message, { cause });\r\n this.name = \"WalletConnectSessionError\";\r\n }\r\n}\r\n\r\nexport class WalletConnectSigningError extends Error {\r\n constructor(message: string, cause?: unknown) {\r\n super(message, { cause });\r\n this.name = \"WalletConnectSigningError\";\r\n }\r\n}\r\n\r\n/** WalletConnect chain id: `cosmos:{chainId}`. */\r\nexport function toWalletConnectCosmosChainId(chainId: string): string {\r\n return `${WALLETCONNECT_COSMOS_NAMESPACE}:${chainId}`;\r\n}\r\n\r\nexport function parseWalletConnectAccount(\r\n account: string,\r\n): { namespace: string; chainId: string; address: string } {\r\n const parts = account.split(\":\");\r\n if (parts.length !== 3) {\r\n throw new WalletConnectSessionError(`Invalid WalletConnect account id: ${account}`);\r\n }\r\n const [namespace, chainId, address] = parts;\r\n return { namespace, chainId, address };\r\n}\r\n\r\nexport function buildRequiredCosmosNamespaces(chainId: string): ProposalTypes.RequiredNamespaces {\r\n const wcChainId = toWalletConnectCosmosChainId(chainId);\r\n return {\r\n [WALLETCONNECT_COSMOS_NAMESPACE]: {\r\n methods: [...WALLETCONNECT_COSMOS_METHODS],\r\n chains: [wcChainId],\r\n events: [],\r\n },\r\n };\r\n}\r\n\r\nexport async function initWalletConnectClient(\r\n config: WalletConnectChainConfig,\r\n): Promise<SignClient> {\r\n if (!config.projectId.trim()) {\r\n throw new WalletConnectSessionError(\"WalletConnect projectId is required\");\r\n }\r\n if (!config.chainId.trim()) {\r\n throw new WalletConnectSessionError(\"chainId is required\");\r\n }\r\n\r\n return SignClient.init({\r\n projectId: config.projectId,\r\n metadata: config.metadata,\r\n relayUrl: config.relayUrl,\r\n });\r\n}\r\n\r\nexport function createWalletConnectOfflineSigner(\r\n client: SignClient,\r\n session: SessionTypes.Struct,\r\n chainId: string,\r\n): OfflineDirectSigner {\r\n const wcChainId = toWalletConnectCosmosChainId(chainId);\r\n const accounts = session.namespaces[WALLETCONNECT_COSMOS_NAMESPACE]?.accounts ?? [];\r\n const chainAccounts = accounts\r\n .map(parseWalletConnectAccount)\r\n .filter((entry) => entry.chainId === chainId);\r\n\r\n if (chainAccounts.length === 0) {\r\n throw new WalletConnectSessionError(\r\n `WalletConnect session has no accounts for chain ${chainId}`,\r\n );\r\n }\r\n\r\n const primaryAddress = chainAccounts[0].address;\r\n\r\n return {\r\n getAccounts: async (): Promise<AccountData[]> => {\r\n try {\r\n const response = (await client.request({\r\n topic: session.topic,\r\n chainId: wcChainId,\r\n request: {\r\n method: \"cosmos_getAccounts\",\r\n params: {},\r\n },\r\n })) as { address: string; algo: string; pubkey: string }[];\r\n\r\n if (Array.isArray(response) && response.length > 0) {\r\n return response.map((account) => ({\r\n address: account.address,\r\n algo: account.algo as AccountData[\"algo\"],\r\n pubkey: fromBase64(account.pubkey),\r\n }));\r\n }\r\n } catch {\r\n // Some wallets omit cosmos_getAccounts; fall back to session account list.\r\n }\r\n\r\n return chainAccounts.map((account) => ({\r\n address: account.address,\r\n algo: \"secp256k1\",\r\n pubkey: new Uint8Array(0),\r\n }));\r\n },\r\n\r\n signDirect: async (signerAddress: string, signDoc: SignDoc): Promise<DirectSignResponse> => {\r\n if (signerAddress !== primaryAddress) {\r\n throw new WalletConnectSigningError(\r\n `WalletConnect signer address mismatch: expected ${primaryAddress}, got ${signerAddress}`,\r\n );\r\n }\r\n\r\n try {\r\n const result = (await client.request({\r\n topic: session.topic,\r\n chainId: wcChainId,\r\n request: {\r\n method: \"cosmos_signDirect\",\r\n params: {\r\n signerAddress,\r\n signDoc: {\r\n chainId: signDoc.chainId,\r\n accountNumber: signDoc.accountNumber.toString(),\r\n authInfoBytes: toBase64(signDoc.authInfoBytes),\r\n bodyBytes: toBase64(signDoc.bodyBytes),\r\n },\r\n },\r\n },\r\n })) as {\r\n signature: { pub_key: { type: string; value: string }; signature: string };\r\n signed?: {\r\n chainId: string;\r\n accountNumber: string;\r\n authInfoBytes: string;\r\n bodyBytes: string;\r\n };\r\n };\r\n\r\n return {\r\n signed: {\r\n chainId: result.signed?.chainId ?? signDoc.chainId,\r\n accountNumber: BigInt(result.signed?.accountNumber ?? signDoc.accountNumber),\r\n authInfoBytes: result.signed?.authInfoBytes\r\n ? fromBase64(result.signed.authInfoBytes)\r\n : signDoc.authInfoBytes,\r\n bodyBytes: result.signed?.bodyBytes\r\n ? fromBase64(result.signed.bodyBytes)\r\n : signDoc.bodyBytes,\r\n },\r\n signature: {\r\n pub_key: {\r\n type: result.signature.pub_key.type,\r\n value: result.signature.pub_key.value,\r\n },\r\n signature: result.signature.signature,\r\n },\r\n };\r\n } catch (err) {\r\n throw new WalletConnectSigningError(\"WalletConnect cosmos_signDirect failed.\", err);\r\n }\r\n },\r\n };\r\n}\r\n\r\n/** Pair with a mobile wallet; returns WC URI (for QR) and approval promise. */\r\nexport async function connectWalletConnect(\r\n client: SignClient,\r\n chainId: string,\r\n options?: { pairingTopic?: string },\r\n): Promise<WalletConnectConnectResult> {\r\n const { uri, approval } = await client.connect({\r\n pairingTopic: options?.pairingTopic,\r\n requiredNamespaces: buildRequiredCosmosNamespaces(chainId),\r\n });\r\n\r\n if (!uri) {\r\n throw new WalletConnectSessionError(\"WalletConnect did not return a pairing URI\");\r\n }\r\n\r\n const session = await approval();\r\n const signer = createWalletConnectOfflineSigner(client, session, chainId);\r\n const accounts = await signer.getAccounts();\r\n if (accounts.length === 0 || !accounts[0]?.address?.trim()) {\r\n throw new WalletConnectSessionError(\"WalletConnect session returned no usable accounts\");\r\n }\r\n\r\n return { uri, session, signer };\r\n}\r\n\r\nexport async function disconnectWalletConnect(\r\n client: SignClient,\r\n session: SessionTypes.Struct,\r\n reason = \"User disconnected\",\r\n): Promise<void> {\r\n await client.disconnect({\r\n topic: session.topic,\r\n reason: { code: 6000, message: reason },\r\n });\r\n}\r\n\r\nexport async function restoreWalletConnectSession(\r\n client: SignClient,\r\n chainId: string,\r\n): Promise<{ session: SessionTypes.Struct; signer: OfflineDirectSigner } | null> {\r\n const sessions = client.session.getAll();\r\n const wcChainId = toWalletConnectCosmosChainId(chainId);\r\n const active = sessions.find((session) => {\r\n const chains = session.namespaces[WALLETCONNECT_COSMOS_NAMESPACE]?.chains ?? [];\r\n return chains.includes(wcChainId);\r\n });\r\n\r\n if (!active) {\r\n return null;\r\n }\r\n\r\n const signer = createWalletConnectOfflineSigner(client, active, chainId);\r\n return { session: active, signer };\r\n}\r\n","/** Embedded wallet vault format version. */\r\nexport const EMBEDDED_WALLET_VAULT_VERSION = 1;\r\n\r\nexport const EMBEDDED_WALLET_KDF_PRF = \"webauthn-prf\" as const;\r\nexport const EMBEDDED_WALLET_KDF_PBKDF2 = \"pbkdf2-passkey\" as const;\r\nexport const EMBEDDED_WALLET_KDF_PIN = \"pbkdf2-pin\" as const;\r\n\r\nexport type EmbeddedWalletKdf =\r\n | typeof EMBEDDED_WALLET_KDF_PRF\r\n | typeof EMBEDDED_WALLET_KDF_PBKDF2\r\n | typeof EMBEDDED_WALLET_KDF_PIN;\r\n\r\n/** How the wallet key relates to its recovery phrase. */\r\nexport const EMBEDDED_WALLET_KEY_HD_DERIVED = \"hd-derived\" as const;\r\nexport const EMBEDDED_WALLET_KEY_DIRECT_ENTROPY = \"direct-entropy\" as const;\r\n\r\nexport type EmbeddedWalletKeyType =\r\n | typeof EMBEDDED_WALLET_KEY_HD_DERIVED\r\n | typeof EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\r\n\r\n/** Plaintext wallet payload — never persisted unencrypted. */\r\nexport interface EmbeddedWalletPlaintext {\r\n privateKey: Uint8Array;\r\n hdPath: string;\r\n createdAt: string;\r\n /** Omitted in pre-phase-3 vaults; treated as direct-entropy when absent. */\r\n keyType?: EmbeddedWalletKeyType;\r\n /** Stored for hd-derived wallets so the phrase can be revealed later. */\r\n mnemonic?: string;\r\n}\r\n\r\n/** Warnings shown before revealing a recovery phrase. */\r\nexport interface EmbeddedWalletRecoveryPhraseWarning {\r\n id: \"general\" | \"direct-entropy-portability\";\r\n title: string;\r\n body: string;\r\n}\r\n\r\nexport const EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING: EmbeddedWalletRecoveryPhraseWarning =\r\n {\r\n id: \"general\",\r\n title: \"Protect your recovery phrase\",\r\n body:\r\n \"Anyone with these words can access your funds. Never share them, never enter them on any other website, and Kingdom OS will never ask you for them.\",\r\n };\r\n\r\nexport const EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING: EmbeddedWalletRecoveryPhraseWarning =\r\n {\r\n id: \"direct-entropy-portability\",\r\n title: \"Kingdom OS recovery phrase only\",\r\n body:\r\n \"This phrase restores this wallet in Kingdom OS only. It will not import into Keplr, Exodus, or other standard Cosmos wallets.\",\r\n };\r\n\r\nexport interface EmbeddedWalletRecoveryPhraseReveal {\r\n mnemonic: string;\r\n keyType: EmbeddedWalletKeyType;\r\n address: string;\r\n warnings: EmbeddedWalletRecoveryPhraseWarning[];\r\n}\r\n\r\n/** Encrypted vault stored in IndexedDB and exported backup files. */\r\nexport interface EmbeddedWalletVaultV1 {\r\n version: typeof EMBEDDED_WALLET_VAULT_VERSION;\r\n kdf: EmbeddedWalletKdf;\r\n credentialId: string;\r\n publicAddress: string;\r\n iv: string;\r\n ciphertext: string;\r\n /** PBKDF2 salt (base64). Empty when kdf=webauthn-prf. */\r\n kdfSalt: string;\r\n /** PBKDF2 iterations. Zero when kdf=webauthn-prf. */\r\n kdfIterations: number;\r\n /** PRF eval salt (base64). Empty when kdf=pbkdf2-passkey. */\r\n prfSalt: string;\r\n /** Hard gate: must be true before any transaction is permitted. */\r\n backupAcknowledged: boolean;\r\n backupAcknowledgedAt?: string;\r\n createdAt: string;\r\n}\r\n\r\nexport interface EmbeddedWalletBackupFileV1 {\r\n format: \"kingdom-os-embedded-wallet-backup\";\r\n version: typeof EMBEDDED_WALLET_VAULT_VERSION;\r\n vault: EmbeddedWalletVaultV1;\r\n exportedAt: string;\r\n}\r\n\r\nexport class EmbeddedWalletBackupRequiredError extends Error {\r\n constructor() {\r\n super(\r\n \"Encrypted backup must be downloaded and acknowledged before the first transaction.\",\r\n );\r\n this.name = \"EmbeddedWalletBackupRequiredError\";\r\n }\r\n}\r\n\r\nexport class EmbeddedWalletVaultError extends Error {\r\n constructor(message: string, cause?: unknown) {\r\n super(message, { cause });\r\n this.name = \"EmbeddedWalletVaultError\";\r\n }\r\n}\r\n\r\n/** Thrown when AES-GCM decryption fails (wrong KEK or tampered ciphertext). */\r\nexport class EmbeddedWalletDecryptError extends EmbeddedWalletVaultError {\r\n readonly code = \"decrypt_failed\" as const;\r\n\r\n constructor(cause?: unknown) {\r\n super(\"Failed to decrypt wallet vault (wrong key or corrupted data)\", cause);\r\n this.name = \"EmbeddedWalletDecryptError\";\r\n }\r\n}\r\n\r\nexport type PasscodeStrengthLabel = \"weak\" | \"fair\" | \"good\" | \"strong\";\r\n\r\nexport type PasscodeBlockReason = \"denylist\" | \"too_weak\" | \"numeric_short\";\r\n\r\n/** Thrown when too many failed passcode unlock attempts trigger a timed lockout. */\r\nexport class EmbeddedWalletLockoutError extends Error {\r\n readonly retryAfterMs: number;\r\n\r\n constructor(retryAfterMs: number) {\r\n super(`Passcode unlock temporarily locked; retry in ${Math.ceil(retryAfterMs / 1000)} seconds`);\r\n this.name = \"EmbeddedWalletLockoutError\";\r\n this.retryAfterMs = retryAfterMs;\r\n }\r\n}\r\n\r\n/** Thrown when a passcode is too weak or on the common-password denylist. */\r\nexport class EmbeddedWalletWeakPasscodeError extends Error {\r\n readonly reason: PasscodeBlockReason;\r\n\r\n constructor(reason: PasscodeBlockReason) {\r\n const messages: Record<PasscodeBlockReason, string> = {\r\n denylist: \"Passcode is too common; choose something less predictable\",\r\n too_weak: \"Passcode is too weak; use a longer or more varied passcode\",\r\n numeric_short: \"Numeric-only passcodes must be at least 12 digits\",\r\n };\r\n super(messages[reason]);\r\n this.name = \"EmbeddedWalletWeakPasscodeError\";\r\n this.reason = reason;\r\n }\r\n}\r\n","import { DirectSecp256k1Wallet } from \"@cosmjs/proto-signing\";\r\n\r\nimport { BECH32_PREFIX } from \"../chainConstants\";\r\nimport type { EmbeddedWalletPlaintext } from \"./types\";\r\nimport { EmbeddedWalletVaultError } from \"./types\";\r\n\r\nconst DEFAULT_HD_PATH = \"m/44'/118'/0'/0/0\";\r\n\r\n/** Build a CosmJS offline signer from decrypted vault plaintext. */\r\nexport async function embeddedPlaintextToSigner(\r\n plaintext: EmbeddedWalletPlaintext,\r\n prefix = BECH32_PREFIX,\r\n): Promise<DirectSecp256k1Wallet> {\r\n if (plaintext.privateKey.length !== 32) {\r\n throw new EmbeddedWalletVaultError(\r\n `Invalid secp256k1 private key length: ${plaintext.privateKey.length}`,\r\n );\r\n }\r\n return DirectSecp256k1Wallet.fromKey(plaintext.privateKey, prefix);\r\n}\r\n\r\nexport function defaultEmbeddedHdPath(): string {\r\n return DEFAULT_HD_PATH;\r\n}\r\n","import { Bip39, EnglishMnemonic, Slip10, Slip10Curve, stringToPath } from \"@cosmjs/crypto\";\r\nimport { DirectSecp256k1HdWallet, DirectSecp256k1Wallet } from \"@cosmjs/proto-signing\";\r\nimport { entropyToMnemonic, mnemonicToEntropy, validateMnemonic } from \"@scure/bip39\";\r\nimport { wordlist as englishWordlist } from \"@scure/bip39/wordlists/english\";\r\n\r\nimport { BECH32_PREFIX } from \"../chainConstants\";\r\nimport { defaultEmbeddedHdPath } from \"./signer\";\r\nimport {\r\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\r\n EMBEDDED_WALLET_KEY_HD_DERIVED,\r\n type EmbeddedWalletKeyType,\r\n type EmbeddedWalletPlaintext,\r\n EmbeddedWalletVaultError,\r\n} from \"./types\";\r\n\r\nconst MNEMONIC_WORD_COUNT = 24;\r\n\r\n/** Normalize user input: trim, lowercase, collapse whitespace. */\r\nexport function normalizeRecoveryMnemonic(mnemonic: string): string {\r\n return mnemonic.trim().toLowerCase().replace(/\\s+/g, \" \");\r\n}\r\n\r\nexport function assertValidRecoveryMnemonic(mnemonic: string): void {\r\n const normalized = normalizeRecoveryMnemonic(mnemonic);\r\n if (!validateMnemonic(normalized, englishWordlist)) {\r\n throw new EmbeddedWalletVaultError(\"Recovery phrase is not a valid BIP-39 mnemonic\");\r\n }\r\n const words = normalized.split(\" \");\r\n if (words.length !== MNEMONIC_WORD_COUNT) {\r\n throw new EmbeddedWalletVaultError(\r\n `Recovery phrase must be ${MNEMONIC_WORD_COUNT} words, got ${words.length}`,\r\n );\r\n }\r\n}\r\n\r\nexport function resolvePlaintextKeyType(plaintext: EmbeddedWalletPlaintext): EmbeddedWalletKeyType {\r\n return plaintext.keyType ?? EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\r\n}\r\n\r\n/** Encode a legacy raw 32-byte key as a 24-word BIP-39 mnemonic (entropy encoding, no HD). */\r\nexport function encodeDirectEntropyMnemonic(privateKey: Uint8Array): string {\r\n if (privateKey.length !== 32) {\r\n throw new EmbeddedWalletVaultError(\r\n `Direct-entropy mnemonic requires a 32-byte key, got ${privateKey.length}`,\r\n );\r\n }\r\n return entropyToMnemonic(privateKey, englishWordlist);\r\n}\r\n\r\n/** Decode a direct-entropy mnemonic back to the original 32-byte key. */\r\nexport function decodeDirectEntropyMnemonic(mnemonic: string): Uint8Array {\r\n assertValidRecoveryMnemonic(mnemonic);\r\n const entropy = mnemonicToEntropy(normalizeRecoveryMnemonic(mnemonic), englishWordlist);\r\n if (entropy.length !== 32) {\r\n throw new EmbeddedWalletVaultError(\r\n `Direct-entropy mnemonic must decode to 32 bytes, got ${entropy.length}`,\r\n );\r\n }\r\n return entropy;\r\n}\r\n\r\nexport async function derivePrivateKeyFromHdMnemonic(\r\n mnemonic: string,\r\n hdPath = defaultEmbeddedHdPath(),\r\n): Promise<Uint8Array> {\r\n assertValidRecoveryMnemonic(mnemonic);\r\n const seed = await Bip39.mnemonicToSeed(new EnglishMnemonic(normalizeRecoveryMnemonic(mnemonic)));\r\n const { privkey } = Slip10.derivePath(Slip10Curve.Secp256k1, seed, stringToPath(hdPath));\r\n return privkey;\r\n}\r\n\r\nexport async function addressFromPrivateKey(\r\n privateKey: Uint8Array,\r\n prefix = BECH32_PREFIX,\r\n): Promise<string> {\r\n const wallet = await DirectSecp256k1Wallet.fromKey(privateKey, prefix);\r\n const [account] = await wallet.getAccounts();\r\n return account.address;\r\n}\r\n\r\nexport async function addressFromHdMnemonic(\r\n mnemonic: string,\r\n hdPath = defaultEmbeddedHdPath(),\r\n prefix = BECH32_PREFIX,\r\n): Promise<string> {\r\n const wallet = await DirectSecp256k1HdWallet.fromMnemonic(normalizeRecoveryMnemonic(mnemonic), {\r\n prefix,\r\n hdPaths: [stringToPath(hdPath)],\r\n });\r\n const [account] = await wallet.getAccounts();\r\n return account.address;\r\n}\r\n\r\nexport async function createHdDerivedPlaintext(\r\n createdAt: string,\r\n hdPath = defaultEmbeddedHdPath(),\r\n): Promise<EmbeddedWalletPlaintext> {\r\n const hdWallet = await DirectSecp256k1HdWallet.generate(MNEMONIC_WORD_COUNT, {\r\n prefix: BECH32_PREFIX,\r\n hdPaths: [stringToPath(hdPath)],\r\n });\r\n const mnemonic = hdWallet.mnemonic;\r\n const privateKey = await derivePrivateKeyFromHdMnemonic(mnemonic, hdPath);\r\n return {\r\n privateKey,\r\n hdPath,\r\n createdAt,\r\n keyType: EMBEDDED_WALLET_KEY_HD_DERIVED,\r\n mnemonic,\r\n };\r\n}\r\n\r\nexport async function plaintextFromRecoveryMnemonic(\r\n mnemonic: string,\r\n keyType: EmbeddedWalletKeyType,\r\n createdAt: string,\r\n hdPath = defaultEmbeddedHdPath(),\r\n): Promise<EmbeddedWalletPlaintext> {\r\n assertValidRecoveryMnemonic(mnemonic);\r\n const normalized = normalizeRecoveryMnemonic(mnemonic);\r\n\r\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\r\n const privateKey = await derivePrivateKeyFromHdMnemonic(normalized, hdPath);\r\n return {\r\n privateKey,\r\n hdPath,\r\n createdAt,\r\n keyType: EMBEDDED_WALLET_KEY_HD_DERIVED,\r\n mnemonic: normalized,\r\n };\r\n }\r\n\r\n const privateKey = decodeDirectEntropyMnemonic(normalized);\r\n return {\r\n privateKey,\r\n hdPath,\r\n createdAt,\r\n keyType: EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\r\n };\r\n}\r\n\r\n/** Infer key type by matching an expected on-chain address, or default to hd-derived. */\r\nexport async function detectRecoveryMnemonicKeyType(\r\n mnemonic: string,\r\n expectedAddress: string,\r\n hdPath = defaultEmbeddedHdPath(),\r\n prefix = BECH32_PREFIX,\r\n): Promise<EmbeddedWalletKeyType> {\r\n assertValidRecoveryMnemonic(mnemonic);\r\n const normalized = normalizeRecoveryMnemonic(mnemonic);\r\n\r\n const hdAddress = await addressFromHdMnemonic(normalized, hdPath, prefix);\r\n if (hdAddress === expectedAddress) {\r\n return EMBEDDED_WALLET_KEY_HD_DERIVED;\r\n }\r\n\r\n const directKey = decodeDirectEntropyMnemonic(normalized);\r\n const directAddress = await addressFromPrivateKey(directKey, prefix);\r\n if (directAddress === expectedAddress) {\r\n return EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\r\n }\r\n\r\n throw new EmbeddedWalletVaultError(\r\n \"Recovery phrase does not match the expected wallet address for either HD or direct-entropy decoding\",\r\n );\r\n}\r\n\r\nexport async function recoveryMnemonicAddress(\r\n mnemonic: string,\r\n keyType: EmbeddedWalletKeyType,\r\n hdPath = defaultEmbeddedHdPath(),\r\n prefix = BECH32_PREFIX,\r\n): Promise<string> {\r\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\r\n return addressFromHdMnemonic(mnemonic, hdPath, prefix);\r\n }\r\n const privateKey = decodeDirectEntropyMnemonic(mnemonic);\r\n return addressFromPrivateKey(privateKey, prefix);\r\n}\r\n\r\n/** Build the recovery phrase for an unlocked plaintext payload. */\r\nexport function recoveryMnemonicFromPlaintext(plaintext: EmbeddedWalletPlaintext): string {\r\n const keyType = resolvePlaintextKeyType(plaintext);\r\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\r\n if (!plaintext.mnemonic) {\r\n throw new EmbeddedWalletVaultError(\r\n \"HD-derived wallet is missing stored mnemonic; cannot reveal recovery phrase\",\r\n );\r\n }\r\n return normalizeRecoveryMnemonic(plaintext.mnemonic);\r\n }\r\n return encodeDirectEntropyMnemonic(plaintext.privateKey);\r\n}\r\n","import { deriveKekFromPbkdf2 } from \"./crypto\";\r\nimport { EmbeddedWalletVaultError } from \"./types\";\r\n\r\n/** Minimum passcode length — alphanumeric passcode, not a 4–6 digit PIN. */\r\nexport const EMBEDDED_WALLET_PASSCODE_MIN_LENGTH = 8;\r\n\r\n/** Maximum passcode length (DoS guard for PBKDF2 input). */\r\nexport const EMBEDDED_WALLET_PASSCODE_MAX_LENGTH = 128;\r\n\r\n/**\r\n * OWASP-recommended PBKDF2-SHA256 iteration count (2023 guidance).\r\n * Uses native Web Crypto — no WASM bundle required.\r\n */\r\nexport const EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS = 600_000;\r\n\r\n/** Passkey PBKDF2 fallback iteration count (matches PIN path; OWASP 2023 guidance). */\r\nexport const EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS = 600_000;\r\n\r\nexport function normalizePasscode(passcode: string): string {\r\n return passcode.normalize(\"NFKC\");\r\n}\r\n\r\n/** Validate citizen-chosen passcode before KDF. */\r\nexport function assertValidPasscode(passcode: string): void {\r\n const normalized = normalizePasscode(passcode);\r\n if (normalized.length < EMBEDDED_WALLET_PASSCODE_MIN_LENGTH) {\r\n throw new EmbeddedWalletVaultError(\r\n `Passcode must be at least ${EMBEDDED_WALLET_PASSCODE_MIN_LENGTH} characters`,\r\n );\r\n }\r\n if (normalized.length > EMBEDDED_WALLET_PASSCODE_MAX_LENGTH) {\r\n throw new EmbeddedWalletVaultError(\r\n `Passcode must be at most ${EMBEDDED_WALLET_PASSCODE_MAX_LENGTH} characters`,\r\n );\r\n }\r\n}\r\n\r\nexport async function deriveKekFromPasscode(\r\n passcode: string,\r\n salt: Uint8Array,\r\n iterations = EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\r\n): Promise<Uint8Array> {\r\n assertValidPasscode(passcode);\r\n const material = new TextEncoder().encode(normalizePasscode(passcode));\r\n return deriveKekFromPbkdf2(material, salt, iterations);\r\n}\r\n","import { toBase64, fromBase64 } from \"@cosmjs/encoding\";\r\n\r\nimport {\r\n EMBEDDED_WALLET_KDF_PBKDF2,\r\n EMBEDDED_WALLET_KDF_PIN,\r\n EMBEDDED_WALLET_KDF_PRF,\r\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\r\n EMBEDDED_WALLET_VAULT_VERSION,\r\n EmbeddedWalletBackupRequiredError,\r\n type EmbeddedWalletKdf,\r\n type EmbeddedWalletKeyType,\r\n type EmbeddedWalletPlaintext,\r\n type EmbeddedWalletVaultV1,\r\n EmbeddedWalletDecryptError,\r\n EmbeddedWalletVaultError,\r\n} from \"./types\";\r\nimport { resolvePlaintextKeyType } from \"./mnemonic\";\r\nimport { EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS } from \"./pin\";\r\nconst AES_GCM_IV_BYTES = 12;\r\n\r\nexport interface EncryptWalletOptions {\r\n kdf: EmbeddedWalletKdf;\r\n credentialId: Uint8Array;\r\n publicAddress: string;\r\n kek: Uint8Array;\r\n /** Required when kdf=pbkdf2-passkey or kdf=pbkdf2-pin */\r\n kdfSalt?: Uint8Array;\r\n /** Required when kdf=webauthn-prf */\r\n prfSalt?: Uint8Array;\r\n /** Override PBKDF2 iterations (defaults vary by kdf type). */\r\n kdfIterations?: number;\r\n backupAcknowledged?: boolean;\r\n}\r\n\r\nfunction pbkdf2IterationsForKdf(kdf: EmbeddedWalletKdf, override?: number): number {\r\n if (kdf === EMBEDDED_WALLET_KDF_PRF) {\r\n return 0;\r\n }\r\n if (override != null) {\r\n return override;\r\n }\r\n if (kdf === EMBEDDED_WALLET_KDF_PIN) {\r\n throw new EmbeddedWalletVaultError(\"PIN vault encryption requires explicit kdfIterations\");\r\n }\r\n return EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS;\r\n}\r\n\r\nfunction assertKekLength(kek: Uint8Array): void {\r\n if (kek.length !== 32) {\r\n throw new EmbeddedWalletVaultError(`KEK must be 32 bytes, got ${kek.length}`);\r\n }\r\n}\r\n\r\nfunction serializePlaintext(payload: EmbeddedWalletPlaintext): Uint8Array {\r\n const keyType = resolvePlaintextKeyType(payload);\r\n const json: Record<string, string> = {\r\n privateKey: toBase64(payload.privateKey),\r\n hdPath: payload.hdPath,\r\n createdAt: payload.createdAt,\r\n keyType,\r\n };\r\n if (payload.mnemonic) {\r\n json.mnemonic = payload.mnemonic;\r\n }\r\n return new TextEncoder().encode(JSON.stringify(json));\r\n}\r\n\r\nfunction deserializePlaintext(bytes: Uint8Array): EmbeddedWalletPlaintext {\r\n let parsed: unknown;\r\n try {\r\n parsed = JSON.parse(new TextDecoder().decode(bytes));\r\n } catch (err) {\r\n throw new EmbeddedWalletVaultError(\"Failed to parse decrypted wallet payload\", err);\r\n }\r\n\r\n if (\r\n typeof parsed !== \"object\" ||\r\n parsed == null ||\r\n typeof (parsed as EmbeddedWalletPlaintext).hdPath !== \"string\" ||\r\n typeof (parsed as EmbeddedWalletPlaintext).createdAt !== \"string\" ||\r\n typeof (parsed as { privateKey?: unknown }).privateKey !== \"string\"\r\n ) {\r\n throw new EmbeddedWalletVaultError(\"Decrypted wallet payload has invalid shape\");\r\n }\r\n\r\n const record = parsed as {\r\n privateKey: string;\r\n hdPath: string;\r\n createdAt: string;\r\n keyType?: EmbeddedWalletKeyType;\r\n mnemonic?: string;\r\n };\r\n\r\n const plaintext: EmbeddedWalletPlaintext = {\r\n privateKey: fromBase64(record.privateKey),\r\n hdPath: record.hdPath,\r\n createdAt: record.createdAt,\r\n };\r\n\r\n if (record.keyType) {\r\n plaintext.keyType = record.keyType;\r\n } else {\r\n plaintext.keyType = EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\r\n }\r\n\r\n if (typeof record.mnemonic === \"string\" && record.mnemonic.length > 0) {\r\n plaintext.mnemonic = record.mnemonic;\r\n }\r\n\r\n return plaintext;\r\n}\r\n\r\nexport async function deriveKekFromPrf(prfOutput: Uint8Array): Promise<Uint8Array> {\r\n if (prfOutput.length < 32) {\r\n throw new EmbeddedWalletVaultError(`PRF output must be at least 32 bytes, got ${prfOutput.length}`);\r\n }\r\n return prfOutput.slice(0, 32);\r\n}\r\n\r\n/** PBKDF2-SHA256 fallback when WebAuthn PRF is unavailable (Safari cross-device QR, etc.). */\r\nexport async function deriveKekFromPbkdf2(\r\n passkeyMaterial: Uint8Array,\r\n salt: Uint8Array,\r\n iterations = EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS,\r\n): Promise<Uint8Array> {\r\n if (salt.length < 16) {\r\n throw new EmbeddedWalletVaultError(\"PBKDF2 salt must be at least 16 bytes\");\r\n }\r\n\r\n const keyMaterial = await crypto.subtle.importKey(\r\n \"raw\",\r\n new Uint8Array(passkeyMaterial),\r\n \"PBKDF2\",\r\n false,\r\n [\"deriveBits\"],\r\n );\r\n const derived = await crypto.subtle.deriveBits(\r\n { name: \"PBKDF2\", salt: new Uint8Array(salt), iterations, hash: \"SHA-256\" },\r\n keyMaterial,\r\n 256,\r\n );\r\n return new Uint8Array(derived);\r\n}\r\n\r\nexport function createPbkdf2Salt(): Uint8Array {\r\n const salt = new Uint8Array(32);\r\n crypto.getRandomValues(salt);\r\n return salt;\r\n}\r\n\r\nexport function createPasskeyMaterialFromAssertion(\r\n authenticatorData: Uint8Array,\r\n clientDataJSON: Uint8Array,\r\n): Uint8Array {\r\n const combined = new Uint8Array(authenticatorData.length + clientDataJSON.length);\r\n combined.set(authenticatorData, 0);\r\n combined.set(clientDataJSON, authenticatorData.length);\r\n return combined;\r\n}\r\n\r\nasync function importAesKey(kek: Uint8Array): Promise<CryptoKey> {\r\n assertKekLength(kek);\r\n const raw = new Uint8Array(kek);\r\n return crypto.subtle.importKey(\"raw\", raw, \"AES-GCM\", false, [\"encrypt\", \"decrypt\"]);\r\n}\r\n\r\nexport async function encryptWalletPayload(\r\n payload: EmbeddedWalletPlaintext,\r\n options: EncryptWalletOptions,\r\n): Promise<EmbeddedWalletVaultV1> {\r\n const iv = crypto.getRandomValues(new Uint8Array(AES_GCM_IV_BYTES));\r\n const aesKey = await importAesKey(options.kek);\r\n const plaintext = serializePlaintext(payload);\r\n const ciphertext = await crypto.subtle.encrypt(\r\n { name: \"AES-GCM\", iv },\r\n aesKey,\r\n new Uint8Array(plaintext),\r\n );\r\n\r\n if (\r\n (options.kdf === EMBEDDED_WALLET_KDF_PBKDF2 || options.kdf === EMBEDDED_WALLET_KDF_PIN) &&\r\n !options.kdfSalt\r\n ) {\r\n throw new EmbeddedWalletVaultError(\"PBKDF2 encryption requires kdfSalt\");\r\n }\r\n\r\n const iterations = pbkdf2IterationsForKdf(options.kdf, options.kdfIterations);\r\n\r\n return {\r\n version: EMBEDDED_WALLET_VAULT_VERSION,\r\n kdf: options.kdf,\r\n credentialId: toBase64(options.credentialId),\r\n publicAddress: options.publicAddress,\r\n iv: toBase64(iv),\r\n ciphertext: toBase64(new Uint8Array(ciphertext)),\r\n kdfSalt: options.kdfSalt ? toBase64(options.kdfSalt) : \"\",\r\n kdfIterations: iterations,\r\n prfSalt: options.prfSalt ? toBase64(options.prfSalt) : \"\",\r\n backupAcknowledged: options.backupAcknowledged ?? false,\r\n backupAcknowledgedAt: options.backupAcknowledged ? new Date().toISOString() : undefined,\r\n createdAt: payload.createdAt,\r\n };\r\n}\r\n\r\nexport async function decryptWalletPayload(\r\n vault: EmbeddedWalletVaultV1,\r\n kek: Uint8Array,\r\n): Promise<EmbeddedWalletPlaintext> {\r\n if (vault.version !== EMBEDDED_WALLET_VAULT_VERSION) {\r\n throw new EmbeddedWalletVaultError(`Unsupported vault version: ${vault.version}`);\r\n }\r\n\r\n const aesKey = await importAesKey(kek);\r\n const iv = fromBase64(vault.iv);\r\n const ciphertext = fromBase64(vault.ciphertext);\r\n\r\n let plaintextBytes: ArrayBuffer;\r\n try {\r\n plaintextBytes = await crypto.subtle.decrypt(\r\n { name: \"AES-GCM\", iv: new Uint8Array(iv) },\r\n aesKey,\r\n new Uint8Array(ciphertext),\r\n );\r\n } catch (err) {\r\n throw new EmbeddedWalletDecryptError(err);\r\n }\r\n\r\n return deserializePlaintext(new Uint8Array(plaintextBytes));\r\n}\r\n\r\nexport function markVaultBackupAcknowledged(vault: EmbeddedWalletVaultV1): EmbeddedWalletVaultV1 {\r\n const now = new Date().toISOString();\r\n return {\r\n ...vault,\r\n backupAcknowledged: true,\r\n backupAcknowledgedAt: now,\r\n };\r\n}\r\n\r\nexport function assertVaultPermitsTransaction(vault: EmbeddedWalletVaultV1): void {\r\n if (!vault.backupAcknowledged) {\r\n throw new EmbeddedWalletBackupRequiredError();\r\n }\r\n}\r\n","/**\r\n * WebAuthn PRF capability detection for embedded wallet KEK derivation.\r\n *\r\n * Safari does not expose PRF during cross-device QR-code WebAuthn flows — only\r\n * direct iCloud-synced passkeys. Callers must fall back to PBKDF2 in that case.\r\n */\r\n\r\nexport interface WebAuthnPrfCapabilities {\r\n /** Browser exposes PublicKeyCredential. */\r\n webAuthnAvailable: boolean;\r\n /** PRF extension likely usable on this device/browser combo. */\r\n prfLikelySupported: boolean;\r\n /** Human-readable reason when prfLikelySupported is false. */\r\n prfFallbackReason?: string;\r\n}\r\n\r\n/** Best-effort PRF support probe — PBKDF2 fallback remains mandatory. */\r\nexport function detectWebAuthnPrfCapabilities(): WebAuthnPrfCapabilities {\r\n if (typeof globalThis.PublicKeyCredential === \"undefined\") {\r\n return {\r\n webAuthnAvailable: false,\r\n prfLikelySupported: false,\r\n prfFallbackReason: \"WebAuthn is not available in this environment\",\r\n };\r\n }\r\n\r\n const ua = typeof navigator !== \"undefined\" ? navigator.userAgent : \"\";\r\n const isSafari = /Safari/i.test(ua) && !/Chrome|Chromium|CriOS|FxiOS/i.test(ua);\r\n\r\n // Safari cross-device QR WebAuthn cannot use PRF today — PBKDF2 is load-bearing.\r\n if (isSafari) {\r\n return {\r\n webAuthnAvailable: true,\r\n prfLikelySupported: false,\r\n prfFallbackReason:\r\n \"Safari does not support WebAuthn PRF for cross-device QR flows; use PBKDF2 fallback\",\r\n };\r\n }\r\n\r\n const getCaps = (\r\n PublicKeyCredential as unknown as {\r\n getClientCapabilities?: () => Promise<Record<string, boolean>>;\r\n }\r\n ).getClientCapabilities;\r\n\r\n if (typeof getCaps !== \"function\") {\r\n return {\r\n webAuthnAvailable: true,\r\n prfLikelySupported: true,\r\n };\r\n }\r\n\r\n return {\r\n webAuthnAvailable: true,\r\n prfLikelySupported: true,\r\n prfFallbackReason: undefined,\r\n };\r\n}\r\n\r\n/** Extract 32-byte PRF output from assertion clientExtensionResults. */\r\nexport function readPrfOutput(\r\n clientExtensionResults: AuthenticationExtensionsClientOutputs | undefined,\r\n): Uint8Array | null {\r\n const prf = clientExtensionResults?.prf as\r\n | { results?: Record<string, ArrayBuffer> }\r\n | undefined;\r\n const first = prf?.results?.first ?? (prf?.results ? Object.values(prf.results)[0] : undefined);\r\n if (!first || first.byteLength < 32) {\r\n return null;\r\n }\r\n return new Uint8Array(first).slice(0, 32);\r\n}\r\n\r\nexport function selectEmbeddedWalletKdf(\r\n caps: WebAuthnPrfCapabilities,\r\n prfOutput: Uint8Array | null,\r\n): \"webauthn-prf\" | \"pbkdf2-passkey\" {\r\n if (caps.prfLikelySupported && prfOutput && prfOutput.length >= 32) {\r\n return \"webauthn-prf\";\r\n }\r\n return \"pbkdf2-passkey\";\r\n}\r\n","import type { EmbeddedWalletBackupFileV1, EmbeddedWalletVaultV1 } from \"./types\";\r\nimport { EMBEDDED_WALLET_VAULT_VERSION } from \"./types\";\r\n\r\nexport function exportEncryptedBackup(vault: EmbeddedWalletVaultV1): EmbeddedWalletBackupFileV1 {\r\n return {\r\n format: \"kingdom-os-embedded-wallet-backup\",\r\n version: EMBEDDED_WALLET_VAULT_VERSION,\r\n vault: structuredClone(vault),\r\n exportedAt: new Date().toISOString(),\r\n };\r\n}\r\n\r\nexport function parseEncryptedBackup(json: string): EmbeddedWalletBackupFileV1 {\r\n let parsed: unknown;\r\n try {\r\n parsed = JSON.parse(json);\r\n } catch (err) {\r\n throw new Error(\"Backup file is not valid JSON\", { cause: err });\r\n }\r\n\r\n if (\r\n typeof parsed !== \"object\" ||\r\n parsed == null ||\r\n (parsed as EmbeddedWalletBackupFileV1).format !== \"kingdom-os-embedded-wallet-backup\" ||\r\n (parsed as EmbeddedWalletBackupFileV1).version !== EMBEDDED_WALLET_VAULT_VERSION ||\r\n typeof (parsed as EmbeddedWalletBackupFileV1).vault !== \"object\"\r\n ) {\r\n throw new Error(\"Unrecognized embedded wallet backup format\");\r\n }\r\n\r\n return parsed as EmbeddedWalletBackupFileV1;\r\n}\r\n\r\nexport function serializeBackupFile(backup: EmbeddedWalletBackupFileV1): string {\r\n return JSON.stringify(backup, null, 2);\r\n}\r\n","import { fromBase64, toBase64 } from \"@cosmjs/encoding\";\r\n\r\nimport { EmbeddedWalletVaultError } from \"./types\";\r\n\r\nexport const WEBAUTHN_RP_NAME = \"Kingdom OS\";\r\n\r\nexport interface PasskeyRegistrationResult {\r\n credentialId: Uint8Array;\r\n authenticatorData: Uint8Array;\r\n clientDataJSON: Uint8Array;\r\n prfOutput: Uint8Array | null;\r\n prfSalt: Uint8Array;\r\n}\r\n\r\nexport interface PasskeyAssertionResult {\r\n credentialId: Uint8Array;\r\n authenticatorData: Uint8Array;\r\n clientDataJSON: Uint8Array;\r\n prfOutput: Uint8Array | null;\r\n}\r\n\r\nexport class WebAuthnUnavailableError extends Error {\r\n constructor(message = \"WebAuthn is not available in this browser\") {\r\n super(message);\r\n this.name = \"WebAuthnUnavailableError\";\r\n }\r\n}\r\n\r\nexport class WebAuthnUserCancelledError extends Error {\r\n constructor(message = \"Passkey request was cancelled\") {\r\n super(message);\r\n this.name = \"WebAuthnUserCancelledError\";\r\n }\r\n}\r\n\r\nfunction randomChallenge(): BufferSource {\r\n return toBufferSource(crypto.getRandomValues(new Uint8Array(32)));\r\n}\r\n\r\n/** Copy bytes into a plain ArrayBuffer-backed Uint8Array for WebAuthn BufferSource typing. */\r\nfunction toBufferSource(bytes: Uint8Array): BufferSource {\r\n return Uint8Array.from(bytes);\r\n}\r\n\r\nfunction resolveRpId(explicit?: string): string {\r\n if (explicit?.trim()) {\r\n return explicit.trim();\r\n }\r\n if (typeof window !== \"undefined\" && window.location.hostname) {\r\n return window.location.hostname;\r\n }\r\n throw new EmbeddedWalletVaultError(\"rpId is required when window.location is unavailable\");\r\n}\r\n\r\nfunction mapWebAuthnError(err: unknown): Error {\r\n if (err instanceof DOMException) {\r\n if (err.name === \"NotAllowedError\") {\r\n return new WebAuthnUserCancelledError();\r\n }\r\n return new EmbeddedWalletVaultError(`WebAuthn failed: ${err.name}`, err);\r\n }\r\n return err instanceof Error ? err : new EmbeddedWalletVaultError(String(err));\r\n}\r\n\r\n/** Register a platform passkey; attempts PRF extension when supported. */\r\nexport async function registerPasskey(options: {\r\n userId: Uint8Array;\r\n userName: string;\r\n displayName: string;\r\n rpId?: string;\r\n prfSalt?: Uint8Array;\r\n}): Promise<PasskeyRegistrationResult> {\r\n if (typeof navigator === \"undefined\" || !navigator.credentials?.create) {\r\n throw new WebAuthnUnavailableError();\r\n }\r\n\r\n const rpId = resolveRpId(options.rpId);\r\n const prfSalt = options.prfSalt ?? crypto.getRandomValues(new Uint8Array(32));\r\n\r\n try {\r\n const credential = (await navigator.credentials.create({\r\n publicKey: {\r\n challenge: randomChallenge(),\r\n rp: { name: WEBAUTHN_RP_NAME, id: rpId },\r\n user: {\r\n id: toBufferSource(options.userId),\r\n name: options.userName,\r\n displayName: options.displayName,\r\n },\r\n pubKeyCredParams: [{ alg: -7, type: \"public-key\" }],\r\n authenticatorSelection: {\r\n residentKey: \"preferred\",\r\n userVerification: \"required\",\r\n },\r\n extensions: {\r\n prf: { eval: { first: toBufferSource(prfSalt) } },\r\n } as AuthenticationExtensionsClientInputs,\r\n },\r\n })) as PublicKeyCredential | null;\r\n\r\n if (!credential || !(credential.response instanceof AuthenticatorAttestationResponse)) {\r\n throw new EmbeddedWalletVaultError(\"Passkey registration returned no credential\");\r\n }\r\n\r\n const prfOutput = readPrfFromExtensions(credential.getClientExtensionResults());\r\n\r\n return {\r\n credentialId: new Uint8Array(credential.rawId),\r\n authenticatorData: new Uint8Array(credential.response.getAuthenticatorData()),\r\n clientDataJSON: new Uint8Array(credential.response.clientDataJSON),\r\n prfOutput,\r\n prfSalt,\r\n };\r\n } catch (err) {\r\n throw mapWebAuthnError(err);\r\n }\r\n}\r\n\r\n/** Assert an existing passkey; re-derives PRF output when extension succeeds. */\r\nexport async function assertPasskey(options: {\r\n credentialId: Uint8Array;\r\n rpId?: string;\r\n prfSalt?: Uint8Array;\r\n}): Promise<PasskeyAssertionResult> {\r\n if (typeof navigator === \"undefined\" || !navigator.credentials?.get) {\r\n throw new WebAuthnUnavailableError();\r\n }\r\n\r\n const rpId = resolveRpId(options.rpId);\r\n const extensions: AuthenticationExtensionsClientInputs = {};\r\n if (options.prfSalt) {\r\n extensions.prf = { eval: { first: toBufferSource(options.prfSalt) } };\r\n }\r\n\r\n try {\r\n const assertion = (await navigator.credentials.get({\r\n publicKey: {\r\n challenge: randomChallenge(),\r\n rpId,\r\n allowCredentials: [{ id: toBufferSource(options.credentialId), type: \"public-key\" }],\r\n userVerification: \"required\",\r\n extensions,\r\n },\r\n })) as PublicKeyCredential | null;\r\n\r\n if (!assertion || !(assertion.response instanceof AuthenticatorAssertionResponse)) {\r\n throw new EmbeddedWalletVaultError(\"Passkey assertion returned no credential\");\r\n }\r\n\r\n return {\r\n credentialId: new Uint8Array(assertion.rawId),\r\n authenticatorData: new Uint8Array(assertion.response.authenticatorData),\r\n clientDataJSON: new Uint8Array(assertion.response.clientDataJSON),\r\n prfOutput: readPrfFromExtensions(assertion.getClientExtensionResults()),\r\n };\r\n } catch (err) {\r\n throw mapWebAuthnError(err);\r\n }\r\n}\r\n\r\nfunction readPrfFromExtensions(\r\n results: AuthenticationExtensionsClientOutputs,\r\n): Uint8Array | null {\r\n const prf = results?.prf as { results?: { first?: ArrayBuffer } } | undefined;\r\n const first = prf?.results?.first;\r\n if (!first || first.byteLength < 32) {\r\n return null;\r\n }\r\n return new Uint8Array(first).slice(0, 32);\r\n}\r\n\r\nexport function encodeCredentialId(id: Uint8Array): string {\r\n return toBase64(id);\r\n}\r\n\r\nexport function decodeCredentialId(encoded: string): Uint8Array {\r\n return fromBase64(encoded);\r\n}\r\n","import type { EmbeddedWalletVaultV1 } from \"./types\";\r\n\r\nconst DB_NAME = \"kingdom-os-wallet\";\r\nconst DB_VERSION = 2;\r\nconst VAULT_STORE_NAME = \"vault\";\r\nconst LOCKOUT_STORE_NAME = \"passcode-lockout\";\r\n\r\n/** Legacy unscoped vault key used before per-account scoping shipped. */\r\nexport const VAULT_LEGACY_KEY = \"primary\";\r\n\r\nexport interface VaultStorageOptions {\r\n /** When set, vault is stored under this account-scoped key instead of {@link VAULT_LEGACY_KEY}. */\r\n scopeId?: string;\r\n}\r\n\r\nexport interface PasscodeLockoutRecord {\r\n failedAttempts: number;\r\n lockoutTier: number;\r\n lockedUntil: string | null;\r\n}\r\n\r\nexport function resolveVaultStorageKey(scopeId?: string): string {\r\n const trimmed = scopeId?.trim();\r\n return trimmed ? trimmed : VAULT_LEGACY_KEY;\r\n}\r\n\r\nfunction openDb(): Promise<IDBDatabase> {\r\n return new Promise((resolve, reject) => {\r\n const request = indexedDB.open(DB_NAME, DB_VERSION);\r\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB open failed\"));\r\n request.onupgradeneeded = () => {\r\n const db = request.result;\r\n if (!db.objectStoreNames.contains(VAULT_STORE_NAME)) {\r\n db.createObjectStore(VAULT_STORE_NAME);\r\n }\r\n if (!db.objectStoreNames.contains(LOCKOUT_STORE_NAME)) {\r\n db.createObjectStore(LOCKOUT_STORE_NAME);\r\n }\r\n };\r\n request.onsuccess = () => resolve(request.result);\r\n });\r\n}\r\n\r\nexport async function saveVaultToIndexedDb(\r\n vault: EmbeddedWalletVaultV1,\r\n options: VaultStorageOptions = {},\r\n): Promise<void> {\r\n const key = resolveVaultStorageKey(options.scopeId);\r\n const db = await openDb();\r\n await new Promise<void>((resolve, reject) => {\r\n const tx = db.transaction(VAULT_STORE_NAME, \"readwrite\");\r\n tx.objectStore(VAULT_STORE_NAME).put(vault, key);\r\n tx.oncomplete = () => resolve();\r\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB write failed\"));\r\n });\r\n db.close();\r\n}\r\n\r\nexport async function loadVaultFromIndexedDb(\r\n options: VaultStorageOptions = {},\r\n): Promise<EmbeddedWalletVaultV1 | null> {\r\n const key = resolveVaultStorageKey(options.scopeId);\r\n const db = await openDb();\r\n const vault = await new Promise<EmbeddedWalletVaultV1 | null>((resolve, reject) => {\r\n const tx = db.transaction(VAULT_STORE_NAME, \"readonly\");\r\n const request = tx.objectStore(VAULT_STORE_NAME).get(key);\r\n request.onsuccess = () => resolve((request.result as EmbeddedWalletVaultV1 | undefined) ?? null);\r\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB read failed\"));\r\n });\r\n db.close();\r\n return vault;\r\n}\r\n\r\nexport async function clearVaultFromIndexedDb(options: VaultStorageOptions = {}): Promise<void> {\r\n const key = resolveVaultStorageKey(options.scopeId);\r\n const vault = await loadVaultFromIndexedDb(options);\r\n const db = await openDb();\r\n await new Promise<void>((resolve, reject) => {\r\n const storeNames = vault ? [VAULT_STORE_NAME, LOCKOUT_STORE_NAME] : [VAULT_STORE_NAME];\r\n const tx = db.transaction(storeNames, \"readwrite\");\r\n tx.objectStore(VAULT_STORE_NAME).delete(key);\r\n if (vault) {\r\n tx.objectStore(LOCKOUT_STORE_NAME).delete(vault.publicAddress);\r\n }\r\n tx.oncomplete = () => resolve();\r\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB delete failed\"));\r\n });\r\n db.close();\r\n}\r\n\r\nexport async function loadPasscodeLockoutRecord(\r\n publicAddress: string,\r\n): Promise<PasscodeLockoutRecord | null> {\r\n const db = await openDb();\r\n const record = await new Promise<PasscodeLockoutRecord | null>((resolve, reject) => {\r\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readonly\");\r\n const request = tx.objectStore(LOCKOUT_STORE_NAME).get(publicAddress);\r\n request.onsuccess = () =>\r\n resolve((request.result as PasscodeLockoutRecord | undefined) ?? null);\r\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB read failed\"));\r\n });\r\n db.close();\r\n return record;\r\n}\r\n\r\nexport async function savePasscodeLockoutRecord(\r\n publicAddress: string,\r\n record: PasscodeLockoutRecord,\r\n): Promise<void> {\r\n const db = await openDb();\r\n await new Promise<void>((resolve, reject) => {\r\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readwrite\");\r\n tx.objectStore(LOCKOUT_STORE_NAME).put(record, publicAddress);\r\n tx.oncomplete = () => resolve();\r\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB write failed\"));\r\n });\r\n db.close();\r\n}\r\n\r\nexport async function clearPasscodeLockoutRecord(publicAddress: string): Promise<void> {\r\n const db = await openDb();\r\n await new Promise<void>((resolve, reject) => {\r\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readwrite\");\r\n tx.objectStore(LOCKOUT_STORE_NAME).delete(publicAddress);\r\n tx.oncomplete = () => resolve();\r\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB delete failed\"));\r\n });\r\n db.close();\r\n}\r\n","import {\r\n clearPasscodeLockoutRecord,\r\n loadPasscodeLockoutRecord,\r\n savePasscodeLockoutRecord,\r\n type PasscodeLockoutRecord,\r\n} from \"./storage\";\r\nimport { EmbeddedWalletLockoutError } from \"./types\";\r\n\r\n/** Consecutive wrong passcodes before lockout triggers. */\r\nexport const PASSCODE_LOCKOUT_FAILURE_THRESHOLD = 5;\r\n\r\n/** First lockout duration (milliseconds). */\r\nexport const PASSCODE_LOCKOUT_INITIAL_MS = 30_000;\r\n\r\n/** Maximum lockout duration (15 minutes). */\r\nexport const PASSCODE_LOCKOUT_MAX_MS = 900_000;\r\n\r\n/** Pure lockout duration for a tier (exported for property tests). */\r\nexport function computePasscodeLockoutDurationMs(tier: number): number {\r\n const duration = PASSCODE_LOCKOUT_INITIAL_MS * 2 ** tier;\r\n return Math.min(duration, PASSCODE_LOCKOUT_MAX_MS);\r\n}\r\n\r\nfunction emptyRecord(): PasscodeLockoutRecord {\r\n return {\r\n failedAttempts: 0,\r\n lockoutTier: 0,\r\n lockedUntil: null,\r\n };\r\n}\r\n\r\nfunction computeRetryAfterMs(lockedUntil: string | null): number {\r\n if (!lockedUntil) {\r\n return 0;\r\n }\r\n const until = Date.parse(lockedUntil);\r\n if (Number.isNaN(until)) {\r\n return 0;\r\n }\r\n return Math.max(0, until - Date.now());\r\n}\r\n\r\n/** Throws when the vault is temporarily locked after too many failed unlock attempts. */\r\nexport async function assertPasscodeUnlockAllowed(publicAddress: string): Promise<void> {\r\n const record = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\r\n const retryAfterMs = computeRetryAfterMs(record.lockedUntil);\r\n if (retryAfterMs > 0) {\r\n throw new EmbeddedWalletLockoutError(retryAfterMs);\r\n }\r\n}\r\n\r\n/** Record a failed passcode unlock attempt; triggers lockout at threshold. */\r\nexport async function recordPasscodeUnlockFailure(publicAddress: string): Promise<void> {\r\n const existing = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\r\n\r\n const retryAfterMs = computeRetryAfterMs(existing.lockedUntil);\r\n if (retryAfterMs > 0) {\r\n return;\r\n }\r\n\r\n const failedAttempts = existing.failedAttempts + 1;\r\n if (failedAttempts < PASSCODE_LOCKOUT_FAILURE_THRESHOLD) {\r\n await savePasscodeLockoutRecord(publicAddress, {\r\n ...existing,\r\n failedAttempts,\r\n });\r\n return;\r\n }\r\n\r\n const durationMs = computePasscodeLockoutDurationMs(existing.lockoutTier);\r\n const lockedUntil = new Date(Date.now() + durationMs).toISOString();\r\n await savePasscodeLockoutRecord(publicAddress, {\r\n failedAttempts: 0,\r\n lockoutTier: existing.lockoutTier + 1,\r\n lockedUntil,\r\n });\r\n}\r\n\r\n/** Clear lockout state after a successful passcode unlock. */\r\nexport async function recordPasscodeUnlockSuccess(publicAddress: string): Promise<void> {\r\n await clearPasscodeLockoutRecord(publicAddress);\r\n}\r\n\r\nexport async function getPasscodeLockoutState(\r\n publicAddress: string,\r\n): Promise<PasscodeLockoutRecord & { retryAfterMs: number }> {\r\n const record = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\r\n return {\r\n ...record,\r\n retryAfterMs: computeRetryAfterMs(record.lockedUntil),\r\n };\r\n}\r\n","[\"password\",\"123456\",\"12345678\",\"1234\",\"qwerty\",\"12345\",\"dragon\",\"pussy\",\"baseball\",\"football\",\"letmein\",\"monkey\",\"696969\",\"abc123\",\"mustang\",\"michael\",\"shadow\",\"master\",\"jennifer\",\"111111\",\"2000\",\"jordan\",\"superman\",\"harley\",\"1234567\",\"fuckme\",\"hunter\",\"fuckyou\",\"trustno1\",\"ranger\",\"buster\",\"thomas\",\"tigger\",\"robert\",\"soccer\",\"fuck\",\"batman\",\"test\",\"pass\",\"killer\",\"hockey\",\"george\",\"charlie\",\"andrew\",\"michelle\",\"love\",\"sunshine\",\"jessica\",\"asshole\",\"6969\",\"pepper\",\"daniel\",\"access\",\"123456789\",\"654321\",\"joshua\",\"maggie\",\"starwars\",\"silver\",\"william\",\"dallas\",\"yankees\",\"123123\",\"ashley\",\"666666\",\"hello\",\"amanda\",\"orange\",\"biteme\",\"freedom\",\"computer\",\"sexy\",\"thunder\",\"nicole\",\"ginger\",\"heather\",\"hammer\",\"summer\",\"corvette\",\"taylor\",\"fucker\",\"austin\",\"1111\",\"merlin\",\"matthew\",\"121212\",\"golfer\",\"cheese\",\"princess\",\"martin\",\"chelsea\",\"patrick\",\"richard\",\"diamond\",\"yellow\",\"bigdog\",\"secret\",\"asdfgh\",\"sparky\",\"cowboy\",\"camaro\",\"anthony\",\"matrix\",\"falcon\",\"iloveyou\",\"bailey\",\"guitar\",\"jackson\",\"purple\",\"scooter\",\"phoenix\",\"aaaaaa\",\"morgan\",\"tigers\",\"porsche\",\"mickey\",\"maverick\",\"cookie\",\"nascar\",\"peanut\",\"justin\",\"131313\",\"money\",\"horny\",\"samantha\",\"panties\",\"steelers\",\"joseph\",\"snoopy\",\"boomer\",\"whatever\",\"iceman\",\"smokey\",\"gateway\",\"dakota\",\"cowboys\",\"eagles\",\"chicken\",\"dick\",\"black\",\"zxcvbn\",\"please\",\"andrea\",\"ferrari\",\"knight\",\"hardcore\",\"melissa\",\"compaq\",\"coffee\",\"booboo\",\"bitch\",\"johnny\",\"bulldog\",\"xxxxxx\",\"welcome\",\"james\",\"player\",\"ncc1701\",\"wizard\",\"scooby\",\"charles\",\"junior\",\"internet\",\"bigdick\",\"mike\",\"brandy\",\"tennis\",\"blowjob\",\"banana\",\"monster\",\"spider\",\"lakers\",\"miller\",\"rabbit\",\"enter\",\"mercedes\",\"brandon\",\"steven\",\"fender\",\"john\",\"yamaha\",\"diablo\",\"chris\",\"boston\",\"tiger\",\"marine\",\"chicago\",\"rangers\",\"gandalf\",\"winter\",\"bigtits\",\"barney\",\"edward\",\"raiders\",\"porn\",\"badboy\",\"blowme\",\"spanky\",\"bigdaddy\",\"johnson\",\"chester\",\"london\",\"midnight\",\"blue\",\"fishing\",\"000000\",\"hannah\",\"slayer\",\"11111111\",\"rachel\",\"sexsex\",\"redsox\",\"thx1138\",\"asdf\",\"marlboro\",\"panther\",\"zxcvbnm\",\"arsenal\",\"oliver\",\"qazwsx\",\"mother\",\"victoria\",\"7777777\",\"jasper\",\"angel\",\"david\",\"winner\",\"crystal\",\"golden\",\"butthead\",\"viking\",\"jack\",\"iwantu\",\"shannon\",\"murphy\",\"angels\",\"prince\",\"cameron\",\"girls\",\"madison\",\"wilson\",\"carlos\",\"hooters\",\"willie\",\"startrek\",\"captain\",\"maddog\",\"jasmine\",\"butter\",\"booger\",\"angela\",\"golf\",\"lauren\",\"rocket\",\"tiffany\",\"theman\",\"dennis\",\"liverpoo\",\"flower\",\"forever\",\"green\",\"jackie\",\"muffin\",\"turtle\",\"sophie\",\"danielle\",\"redskins\",\"toyota\",\"jason\",\"sierra\",\"winston\",\"debbie\",\"giants\",\"packers\",\"newyork\",\"jeremy\",\"casper\",\"bubba\",\"112233\",\"sandra\",\"lovers\",\"mountain\",\"united\",\"cooper\",\"driver\",\"tucker\",\"helpme\",\"fucking\",\"pookie\",\"lucky\",\"maxwell\",\"8675309\",\"bear\",\"suckit\",\"gators\",\"5150\",\"222222\",\"shithead\",\"fuckoff\",\"jaguar\",\"monica\",\"fred\",\"happy\",\"hotdog\",\"tits\",\"gemini\",\"lover\",\"xxxxxxxx\",\"777777\",\"canada\",\"nathan\",\"victor\",\"florida\",\"88888888\",\"nicholas\",\"rosebud\",\"metallic\",\"doctor\",\"trouble\",\"success\",\"stupid\",\"tomcat\",\"warrior\",\"peaches\",\"apples\",\"fish\",\"qwertyui\",\"magic\",\"buddy\",\"dolphins\",\"rainbow\",\"gunner\",\"987654\",\"freddy\",\"alexis\",\"braves\",\"cock\",\"2112\",\"1212\",\"cocacola\",\"xavier\",\"dolphin\",\"testing\",\"bond007\",\"member\",\"calvin\",\"voodoo\",\"7777\",\"samson\",\"alex\",\"apollo\",\"fire\",\"tester\",\"walter\",\"beavis\",\"voyager\",\"peter\",\"porno\",\"bonnie\",\"rush2112\",\"beer\",\"apple\",\"scorpio\",\"jonathan\",\"skippy\",\"sydney\",\"scott\",\"red123\",\"power\",\"gordon\",\"travis\",\"beaver\",\"star\",\"jackass\",\"flyers\",\"boobs\",\"232323\",\"zzzzzz\",\"steve\",\"rebecca\",\"scorpion\",\"doggie\",\"legend\",\"ou812\",\"yankee\",\"blazer\",\"bill\",\"runner\",\"birdie\",\"bitches\",\"555555\",\"parker\",\"topgun\",\"asdfasdf\",\"heaven\",\"viper\",\"animal\",\"2222\",\"bigboy\",\"4444\",\"arthur\",\"baby\",\"private\",\"godzilla\",\"donald\",\"williams\",\"lifehack\",\"phantom\",\"dave\",\"rock\",\"august\",\"sammy\",\"cool\",\"brian\",\"platinum\",\"jake\",\"bronco\",\"paul\",\"mark\",\"frank\",\"heka6w2\",\"copper\",\"billy\",\"cumshot\",\"garfield\",\"willow\",\"cunt\",\"little\",\"carter\",\"slut\",\"albert\",\"69696969\",\"kitten\",\"super\",\"jordan23\",\"eagle1\",\"shelby\",\"america\",\"11111\",\"jessie\",\"house\",\"free\",\"123321\",\"chevy\",\"bullshit\",\"white\",\"broncos\",\"horney\",\"surfer\",\"nissan\",\"999999\",\"saturn\",\"airborne\",\"elephant\",\"marvin\",\"shit\",\"action\",\"adidas\",\"qwert\",\"kevin\",\"1313\",\"explorer\",\"walker\",\"police\",\"christin\",\"december\",\"benjamin\",\"wolf\",\"sweet\",\"therock\",\"king\",\"online\",\"dickhead\",\"brooklyn\",\"teresa\",\"cricket\",\"sharon\",\"dexter\",\"racing\",\"penis\",\"gregory\",\"0000\",\"teens\",\"redwings\",\"dreams\",\"michigan\",\"hentai\",\"magnum\",\"87654321\",\"nothing\",\"donkey\",\"trinity\",\"digital\",\"333333\",\"stella\",\"cartman\",\"guinness\",\"123abc\",\"speedy\",\"buffalo\",\"kitty\",\"pimpin\",\"eagle\",\"einstein\",\"kelly\",\"nelson\",\"nirvana\",\"vampire\",\"xxxx\",\"playboy\",\"louise\",\"pumpkin\",\"snowball\",\"test123\",\"girl\",\"sucker\",\"mexico\",\"beatles\",\"fantasy\",\"ford\",\"gibson\",\"celtic\",\"marcus\",\"cherry\",\"cassie\",\"888888\",\"natasha\",\"sniper\",\"chance\",\"genesis\",\"hotrod\",\"reddog\",\"alexande\",\"college\",\"jester\",\"passw0rd\",\"bigcock\",\"smith\",\"lasvegas\",\"carmen\",\"slipknot\",\"3333\",\"death\",\"kimberly\",\"1q2w3e\",\"eclipse\",\"1q2w3e4r\",\"stanley\",\"samuel\",\"drummer\",\"homer\",\"montana\",\"music\",\"aaaa\",\"spencer\",\"jimmy\",\"carolina\",\"colorado\",\"creative\",\"hello1\",\"rocky\",\"goober\",\"friday\",\"bollocks\",\"scotty\",\"abcdef\",\"bubbles\",\"hawaii\",\"fluffy\",\"mine\",\"stephen\",\"horses\",\"thumper\",\"5555\",\"pussies\",\"darkness\",\"asdfghjk\",\"pamela\",\"boobies\",\"buddha\",\"vanessa\",\"sandman\",\"naughty\",\"douglas\",\"honda\",\"matt\",\"azerty\",\"6666\",\"shorty\",\"money1\",\"beach\",\"loveme\",\"4321\",\"simple\",\"poohbear\",\"444444\",\"badass\",\"destiny\",\"sarah\",\"denise\",\"vikings\",\"lizard\",\"melanie\",\"assman\",\"sabrina\",\"nintendo\",\"water\",\"good\",\"howard\",\"time\",\"123qwe\",\"november\",\"xxxxx\",\"october\",\"leather\",\"bastard\",\"young\",\"101010\",\"extreme\",\"hard\",\"password1\",\"vincent\",\"pussy1\",\"lacrosse\",\"hotmail\",\"spooky\",\"amateur\",\"alaska\",\"badger\",\"paradise\",\"maryjane\",\"poop\",\"crazy\",\"mozart\",\"video\",\"russell\",\"vagina\",\"spitfire\",\"anderson\",\"norman\",\"eric\",\"cherokee\",\"cougar\",\"barbara\",\"long\",\"420420\",\"family\",\"horse\",\"enigma\",\"allison\",\"raider\",\"brazil\",\"blonde\",\"jones\",\"55555\",\"dude\",\"drowssap\",\"jeff\",\"school\",\"marshall\",\"lovely\",\"1qaz2wsx\",\"jeffrey\",\"caroline\",\"franklin\",\"booty\",\"molly\",\"snickers\",\"leslie\",\"nipples\",\"courtney\",\"diesel\",\"rocks\",\"eminem\",\"westside\",\"suzuki\",\"daddy\",\"passion\",\"hummer\",\"ladies\",\"zachary\",\"frankie\",\"elvis\",\"reggie\",\"alpha\",\"suckme\",\"simpson\",\"patricia\",\"147147\",\"pirate\",\"tommy\",\"semperfi\",\"jupiter\",\"redrum\",\"freeuser\",\"wanker\",\"stinky\",\"ducati\",\"paris\",\"natalie\",\"babygirl\",\"bishop\",\"windows\",\"spirit\",\"pantera\",\"monday\",\"patches\",\"brutus\",\"houston\",\"smooth\",\"penguin\",\"marley\",\"forest\",\"cream\",\"212121\",\"flash\",\"maximus\",\"nipple\",\"bobby\",\"bradley\",\"vision\",\"pokemon\",\"champion\",\"fireman\",\"indian\",\"softball\",\"picard\",\"system\",\"clinton\",\"cobra\",\"enjoy\",\"lucky1\",\"claire\",\"claudia\",\"boogie\",\"timothy\",\"marines\",\"security\",\"dirty\",\"admin\",\"wildcats\",\"pimp\",\"dancer\",\"hardon\",\"veronica\",\"fucked\",\"abcd1234\",\"abcdefg\",\"ironman\",\"wolverin\",\"remember\",\"great\",\"freepass\",\"bigred\",\"squirt\",\"justice\",\"francis\",\"hobbes\",\"kermit\",\"pearljam\",\"mercury\",\"domino\",\"9999\",\"denver\",\"brooke\",\"rascal\",\"hitman\",\"mistress\",\"simon\",\"tony\",\"bbbbbb\",\"friend\",\"peekaboo\",\"naked\",\"budlight\",\"electric\",\"sluts\",\"stargate\",\"saints\",\"bondage\",\"brittany\",\"bigman\",\"zombie\",\"swimming\",\"duke\",\"qwerty1\",\"babes\",\"scotland\",\"disney\",\"rooster\",\"brenda\",\"mookie\",\"swordfis\",\"candy\",\"duncan\",\"olivia\",\"hunting\",\"blink182\",\"alicia\",\"8888\",\"samsung\",\"bubba1\",\"whore\",\"virginia\",\"general\",\"passport\",\"aaaaaaaa\",\"erotic\",\"liberty\",\"arizona\",\"jesus\",\"abcd\",\"newport\",\"skipper\",\"rolltide\",\"balls\",\"happy1\",\"galore\",\"christ\",\"weasel\",\"242424\",\"wombat\",\"digger\",\"classic\",\"bulldogs\",\"poopoo\",\"accord\",\"popcorn\",\"turkey\",\"jenny\",\"amber\",\"bunny\",\"mouse\",\"007007\",\"titanic\",\"liverpool\",\"dreamer\",\"everton\",\"friends\",\"chevelle\",\"carrie\",\"gabriel\",\"psycho\",\"nemesis\",\"burton\",\"pontiac\",\"connor\",\"eatme\",\"lickme\",\"roland\",\"cumming\",\"mitchell\",\"ireland\",\"lincoln\",\"arnold\",\"spiderma\",\"patriots\",\"goblue\",\"devils\",\"eugene\",\"empire\",\"asdfg\",\"cardinal\",\"brown\",\"shaggy\",\"froggy\",\"qwer\",\"kawasaki\",\"kodiak\",\"people\",\"phpbb\",\"light\",\"54321\",\"kramer\",\"chopper\",\"hooker\",\"honey\",\"whynot\",\"lesbian\",\"lisa\",\"baxter\",\"adam\",\"snake\",\"teen\",\"ncc1701d\",\"qqqqqq\",\"airplane\",\"britney\",\"avalon\",\"sandy\",\"sugar\",\"sublime\",\"stewart\",\"wildcat\",\"raven\",\"scarface\",\"elizabet\",\"123654\",\"trucks\",\"wolfpack\",\"pervert\",\"lawrence\",\"raymond\",\"redhead\",\"american\",\"alyssa\",\"bambam\",\"movie\",\"woody\",\"shaved\",\"snowman\",\"tiger1\",\"chicks\",\"raptor\",\"1969\",\"stingray\",\"shooter\",\"france\",\"stars\",\"madmax\",\"kristen\",\"sports\",\"jerry\",\"789456\",\"garcia\",\"simpsons\",\"lights\",\"ryan\",\"looking\",\"chronic\",\"alison\",\"hahaha\",\"packard\",\"hendrix\",\"perfect\",\"service\",\"spring\",\"srinivas\",\"spike\",\"katie\",\"252525\",\"oscar\",\"brother\",\"bigmac\",\"suck\",\"single\",\"cannon\",\"georgia\",\"popeye\",\"tattoo\",\"texas\",\"party\",\"bullet\",\"taurus\",\"sailor\",\"wolves\",\"panthers\",\"japan\",\"strike\",\"flowers\",\"pussycat\",\"chris1\",\"loverboy\",\"berlin\",\"sticky\",\"marina\",\"tarheels\",\"fisher\",\"russia\",\"connie\",\"wolfgang\",\"testtest\",\"mature\",\"bass\",\"catch22\",\"juice\",\"michael1\",\"nigger\",\"159753\",\"women\",\"alpha1\",\"trooper\",\"hawkeye\",\"head\",\"freaky\",\"dodgers\",\"pakistan\",\"machine\",\"pyramid\",\"vegeta\",\"katana\",\"moose\",\"tinker\",\"coyote\",\"infinity\",\"inside\",\"pepsi\",\"letmein1\",\"bang\",\"control\",\"hercules\",\"morris\",\"james1\",\"tickle\",\"outlaw\",\"browns\",\"billybob\",\"pickle\",\"test1\",\"michele\",\"antonio\",\"sucks\",\"pavilion\",\"changeme\",\"caesar\",\"prelude\",\"tanner\",\"adrian\",\"darkside\",\"bowling\",\"wutang\",\"sunset\",\"robbie\",\"alabama\",\"danger\",\"zeppelin\",\"juan\",\"rusty\",\"pppppp\",\"nick\",\"2001\",\"ping\",\"darkstar\",\"madonna\",\"qwe123\",\"bigone\",\"casino\",\"cheryl\",\"charlie1\",\"mmmmmm\",\"integra\",\"wrangler\",\"apache\",\"tweety\",\"qwerty12\",\"bobafett\",\"simone\",\"none\",\"business\",\"sterling\",\"trevor\",\"transam\",\"dustin\",\"harvey\",\"england\",\"2323\",\"seattle\",\"ssssss\",\"rose\",\"harry\",\"openup\",\"pandora\",\"pussys\",\"trucker\",\"wallace\",\"indigo\",\"storm\",\"malibu\",\"weed\",\"review\",\"babydoll\",\"doggy\",\"dilbert\",\"pegasus\",\"joker\",\"catfish\",\"flipper\",\"valerie\",\"herman\",\"fuckit\",\"detroit\",\"kenneth\",\"cheyenne\",\"bruins\",\"stacey\",\"smoke\",\"joey\",\"seven\",\"marino\",\"fetish\",\"xfiles\",\"wonder\",\"stinger\",\"pizza\",\"babe\",\"pretty\",\"stealth\",\"manutd\",\"gracie\",\"gundam\",\"cessna\",\"longhorn\",\"presario\",\"mnbvcxz\",\"wicked\",\"mustang1\",\"victory\",\"21122112\",\"shelly\",\"awesome\",\"athena\",\"q1w2e3r4\",\"help\",\"holiday\",\"knicks\",\"street\",\"redneck\",\"12341234\",\"casey\",\"gizmo\",\"scully\",\"dragon1\",\"devildog\",\"triumph\",\"eddie\",\"bluebird\",\"shotgun\",\"peewee\",\"ronnie\",\"angel1\",\"daisy\",\"special\",\"metallica\",\"madman\",\"country\",\"impala\",\"lennon\",\"roscoe\",\"omega\",\"access14\",\"enterpri\",\"miranda\",\"search\",\"smitty\",\"blizzard\",\"unicorn\",\"tight\",\"rick\",\"ronald\",\"asdf1234\",\"harrison\",\"trigger\",\"truck\",\"danny\",\"home\",\"winnie\",\"beauty\",\"thailand\",\"1234567890\",\"cadillac\",\"castle\",\"tyler\",\"bobcat\",\"buddy1\",\"sunny\",\"stones\",\"asian\",\"freddie\",\"chuck\",\"butt\",\"loveyou\",\"norton\",\"hellfire\",\"hotsex\",\"indiana\",\"short\",\"panzer\",\"lonewolf\",\"trumpet\",\"colors\",\"blaster\",\"12121212\",\"fireball\",\"logan\",\"precious\",\"aaron\",\"elaine\",\"jungle\",\"atlanta\",\"gold\",\"corona\",\"curtis\",\"nikki\",\"polaris\",\"timber\",\"theone\",\"baller\",\"chipper\",\"orlando\",\"island\",\"skyline\",\"dragons\",\"dogs\",\"benson\",\"licker\",\"goldie\",\"engineer\",\"kong\",\"pencil\",\"basketba\",\"open\",\"hornet\",\"world\",\"linda\",\"barbie\",\"chan\",\"farmer\",\"valentin\",\"wetpussy\",\"indians\",\"larry\",\"redman\",\"foobar\",\"travel\",\"morpheus\",\"bernie\",\"target\",\"141414\",\"hotstuff\",\"photos\",\"laura\",\"savage\",\"holly\",\"rocky1\",\"fuck_inside\",\"dollar\",\"turbo\",\"design\",\"newton\",\"hottie\",\"moon\",\"202020\",\"blondes\",\"4128\",\"lestat\",\"avatar\",\"future\",\"goforit\",\"random\",\"abgrtyu\",\"jjjjjj\",\"cancer\",\"q1w2e3\",\"smiley\",\"goldberg\",\"express\",\"virgin\",\"zipper\",\"wrinkle1\",\"stone\",\"andy\",\"babylon\",\"dong\",\"powers\",\"consumer\",\"dudley\",\"monkey1\",\"serenity\",\"samurai\",\"99999999\",\"bigboobs\",\"skeeter\",\"lindsay\",\"joejoe\",\"master1\",\"aaaaa\",\"chocolat\",\"christia\",\"birthday\",\"stephani\",\"tang\",\"1234qwer\",\"alfred\",\"ball\",\"98765432\",\"maria\",\"sexual\",\"maxima\",\"77777777\",\"sampson\",\"buckeye\",\"highland\",\"kristin\",\"seminole\",\"reaper\",\"bassman\",\"nugget\",\"lucifer\",\"airforce\",\"nasty\",\"watson\",\"warlock\",\"2121\",\"philip\",\"always\",\"dodge\",\"chrissy\",\"burger\",\"bird\",\"snatch\",\"missy\",\"pink\",\"gang\",\"maddie\",\"holmes\",\"huskers\",\"piglet\",\"photo\",\"joanne\",\"hamilton\",\"dodger\",\"paladin\",\"christy\",\"chubby\",\"buckeyes\",\"hamlet\",\"abcdefgh\",\"bigfoot\",\"sunday\",\"manson\",\"goldfish\",\"garden\",\"deftones\",\"icecream\",\"blondie\",\"spartan\",\"julie\",\"harold\",\"charger\",\"brandi\",\"stormy\",\"sherry\",\"pleasure\",\"juventus\",\"rodney\",\"galaxy\",\"holland\",\"escort\",\"zxcvb\",\"planet\",\"jerome\",\"wesley\",\"blues\",\"song\",\"peace\",\"david1\",\"ncc1701e\",\"1966\",\"51505150\",\"cavalier\",\"gambit\",\"karen\",\"sidney\",\"ripper\",\"oicu812\",\"jamie\",\"sister\",\"marie\",\"martha\",\"nylons\",\"aardvark\",\"nadine\",\"minnie\",\"whiskey\",\"bing\",\"plastic\",\"anal\",\"babylon5\",\"chang\",\"savannah\",\"loser\",\"racecar\",\"insane\",\"yankees1\",\"mememe\",\"hansolo\",\"chiefs\",\"fredfred\",\"freak\",\"frog\",\"salmon\",\"concrete\",\"yvonne\",\"zxcv\",\"shamrock\",\"atlantis\",\"warren\",\"wordpass\",\"julian\",\"mariah\",\"rommel\",\"1010\",\"harris\",\"predator\",\"sylvia\",\"massive\",\"cats\",\"sammy1\",\"mister\",\"stud\",\"marathon\",\"rubber\",\"ding\",\"trunks\",\"desire\",\"montreal\",\"justme\",\"faster\",\"kathleen\",\"irish\",\"1999\",\"bertha\",\"jessica1\",\"alpine\",\"sammie\",\"diamonds\",\"tristan\",\"00000\",\"swinger\",\"shan\",\"stallion\",\"pitbull\",\"letmein2\",\"roberto\",\"ready\",\"april\",\"palmer\",\"ming\",\"shadow1\",\"audrey\",\"chong\",\"clitoris\",\"wang\",\"shirley\",\"fuckers\",\"jackoff\",\"bluesky\",\"sundance\",\"renegade\",\"hollywoo\",\"151515\",\"bernard\",\"wolfman\",\"soldier\",\"picture\",\"pierre\",\"ling\",\"goddess\",\"manager\",\"nikita\",\"sweety\",\"titans\",\"hang\",\"fang\",\"ficken\",\"niners\",\"bottom\",\"bubble\",\"hello123\",\"ibanez\",\"webster\",\"sweetpea\",\"stocking\",\"323232\",\"tornado\",\"lindsey\",\"content\",\"bruce\",\"buck\",\"aragorn\",\"griffin\",\"chen\",\"campbell\",\"trojan\",\"christop\",\"newman\",\"wayne\",\"tina\",\"rockstar\",\"father\",\"geronimo\",\"pascal\",\"crimson\",\"brooks\",\"hector\",\"penny\",\"anna\",\"google\",\"camera\",\"chandler\",\"fatcat\",\"lovelove\",\"cody\",\"cunts\",\"waters\",\"stimpy\",\"finger\",\"cindy\",\"wheels\",\"viper1\",\"latin\",\"robin\",\"greenday\",\"987654321\",\"creampie\",\"brendan\",\"hiphop\",\"willy\",\"snapper\",\"funtime\",\"duck\",\"trombone\",\"adult\",\"cotton\",\"cookies\",\"kaiser\",\"mulder\",\"westham\",\"latino\",\"jeep\",\"ravens\",\"aurora\",\"drizzt\",\"madness\",\"energy\",\"kinky\",\"314159\",\"sophia\",\"stefan\",\"slick\",\"rocker\",\"55555555\",\"freeman\",\"french\",\"mongoose\",\"speed\",\"dddddd\",\"hong\",\"henry\",\"hungry\",\"yang\",\"catdog\",\"cheng\",\"ghost\",\"gogogo\",\"randy\",\"tottenha\",\"curious\",\"butterfl\",\"mission\",\"january\",\"singer\",\"sherman\",\"shark\",\"techno\",\"lancer\",\"lalala\",\"autumn\",\"chichi\",\"orion\",\"trixie\",\"clifford\",\"delta\",\"bobbob\",\"bomber\",\"holden\",\"kang\",\"kiss\",\"1968\",\"spunky\",\"liquid\",\"mary\",\"beagle\",\"granny\",\"network\",\"bond\",\"kkkkkk\",\"millie\",\"1973\",\"biggie\",\"beetle\",\"teacher\",\"susan\",\"toronto\",\"anakin\",\"genius\",\"dream\",\"cocks\",\"dang\",\"bush\",\"karate\",\"snakes\",\"bangkok\",\"callie\",\"fuckyou2\",\"pacific\",\"daytona\",\"kelsey\",\"infantry\",\"skywalke\",\"foster\",\"felix\",\"sailing\",\"raistlin\",\"vanhalen\",\"huang\",\"herbert\",\"jacob\",\"blackie\",\"tarzan\",\"strider\",\"sherlock\",\"lang\",\"gong\",\"sang\",\"dietcoke\",\"ultimate\",\"tree\",\"shai\",\"sprite\",\"ting\",\"artist\",\"chai\",\"chao\",\"devil\",\"python\",\"ninja\",\"misty\",\"ytrewq\",\"sweetie\",\"superfly\",\"456789\",\"tian\",\"jing\",\"jesus1\",\"freedom1\",\"dian\",\"drpepper\",\"potter\",\"chou\",\"darren\",\"hobbit\",\"violet\",\"yong\",\"shen\",\"phillip\",\"maurice\",\"gloria\",\"nolimit\",\"mylove\",\"biscuit\",\"yahoo\",\"shasta\",\"sex4me\",\"smoker\",\"smile\",\"pebbles\",\"pics\",\"philly\",\"tong\",\"tintin\",\"lesbians\",\"marlin\",\"cactus\",\"frank1\",\"tttttt\",\"chun\",\"danni\",\"emerald\",\"showme\",\"pirates\",\"lian\",\"dogg\",\"colleen\",\"xiao\",\"xian\",\"tazman\",\"tanker\",\"patton\",\"toshiba\",\"richie\",\"alberto\",\"gotcha\",\"graham\",\"dillon\",\"rang\",\"emily\",\"keng\",\"jazz\",\"bigguy\",\"yuan\",\"woman\",\"tomtom\",\"marion\",\"greg\",\"chaos\",\"fossil\",\"flight\",\"racerx\",\"tuan\",\"creamy\",\"boss\",\"bobo\",\"musicman\",\"warcraft\",\"window\",\"blade\",\"shuang\",\"sheila\",\"shun\",\"lick\",\"jian\",\"microsoft\",\"rong\",\"allen\",\"feng\",\"getsome\",\"sally\",\"quality\",\"kennedy\",\"morrison\",\"1977\",\"beng\",\"wwwwww\",\"yoyoyo\",\"zhang\",\"seng\",\"teddy\",\"joanna\",\"andreas\",\"harder\",\"luke\",\"qazxsw\",\"qian\",\"cong\",\"chuan\",\"deng\",\"nang\",\"boeing\",\"keeper\",\"western\",\"isabelle\",\"1963\",\"subaru\",\"sheng\",\"thuglife\",\"teng\",\"jiong\",\"miao\",\"martina\",\"mang\",\"maniac\",\"pussie\",\"tracey\",\"a1b2c3\",\"clayton\",\"zhou\",\"zhuang\",\"xing\",\"stonecol\",\"snow\",\"spyder\",\"liang\",\"jiang\",\"memphis\",\"regina\",\"ceng\",\"magic1\",\"logitech\",\"chuang\",\"dark\",\"million\",\"blow\",\"sesame\",\"shao\",\"poison\",\"titty\",\"terry\",\"kuan\",\"kuai\",\"kyle\",\"mian\",\"guan\",\"hamster\",\"guai\",\"ferret\",\"florence\",\"geng\",\"duan\",\"pang\",\"maiden\",\"quan\",\"velvet\",\"nong\",\"neng\",\"nookie\",\"buttons\",\"bian\",\"bingo\",\"biao\",\"zhong\",\"zeng\",\"xiong\",\"zhun\",\"ying\",\"zong\",\"xuan\",\"zang\",\"0.0.000\",\"suan\",\"shei\",\"shui\",\"sharks\",\"shang\",\"shua\",\"small\",\"peng\",\"pian\",\"piao\",\"liao\",\"meng\",\"miami\",\"reng\",\"guang\",\"cang\",\"change\",\"ruan\",\"diao\",\"luan\",\"lucas\",\"qing\",\"chui\",\"chuo\",\"cuan\",\"nuan\",\"ning\",\"heng\",\"huan\",\"kansas\",\"muscle\",\"monroe\",\"weng\",\"whitney\",\"1passwor\",\"bluemoon\",\"zhui\",\"zhua\",\"xiang\",\"zheng\",\"zhen\",\"zhei\",\"zhao\",\"zhan\",\"yomama\",\"zhai\",\"zhuo\",\"zuan\",\"tarheel\",\"shou\",\"shuo\",\"tiao\",\"lady\",\"leonard\",\"leng\",\"kuang\",\"jiao\",\"13579\",\"basket\",\"qiao\",\"qiong\",\"qiang\",\"chuai\",\"nian\",\"niao\",\"niang\",\"huai\",\"22222222\",\"bianca\",\"zhuan\",\"zhuai\",\"shuan\",\"shuai\",\"stardust\",\"jumper\",\"margaret\",\"archie\",\"66666666\",\"charlott\",\"forget\",\"qwertz\",\"bones\",\"history\",\"milton\",\"waterloo\",\"2002\",\"stuff\",\"11223344\",\"office\",\"oldman\",\"preston\",\"trains\",\"murray\",\"vertigo\",\"246810\",\"black1\",\"swallow\",\"smiles\",\"standard\",\"alexandr\",\"parrot\",\"luther\",\"user\",\"nicolas\",\"1976\",\"surfing\",\"pioneer\",\"pete\",\"masters\",\"apple1\",\"asdasd\",\"auburn\",\"hannibal\",\"frontier\",\"panama\",\"lucy\",\"buffy\",\"brianna\",\"welcome1\",\"vette\",\"blue22\",\"shemale\",\"111222\",\"baggins\",\"groovy\",\"global\",\"turner\",\"181818\",\"1979\",\"blades\",\"spanking\",\"life\",\"byteme\",\"lobster\",\"collins\",\"dawg\",\"hilton\",\"japanese\",\"1970\",\"1964\",\"2424\",\"polo\",\"markus\",\"coco\",\"deedee\",\"mikey\",\"1972\",\"171717\",\"1701\",\"strip\",\"jersey\",\"green1\",\"capital\",\"sasha\",\"sadie\",\"putter\",\"vader\",\"seven7\",\"lester\",\"marcel\",\"banshee\",\"grendel\",\"gilbert\",\"dicks\",\"dead\",\"hidden\",\"iloveu\",\"1980\",\"sound\",\"ledzep\",\"michel\",\"147258\",\"female\",\"bugger\",\"buffett\",\"bryan\",\"hell\",\"kristina\",\"molson\",\"2020\",\"wookie\",\"sprint\",\"thanks\",\"jericho\",\"102030\",\"grace\",\"fuckin\",\"mandy\",\"ranger1\",\"trebor\",\"deepthroat\",\"bonehead\",\"molly1\",\"mirage\",\"models\",\"1984\",\"2468\",\"stuart\",\"showtime\",\"squirrel\",\"pentium\",\"mario\",\"anime\",\"gator\",\"powder\",\"twister\",\"connect\",\"neptune\",\"bruno\",\"butts\",\"engine\",\"eatshit\",\"mustangs\",\"woody1\",\"shogun\",\"septembe\",\"pooh\",\"jimbo\",\"roger\",\"annie\",\"bacon\",\"center\",\"russian\",\"sabine\",\"damien\",\"mollie\",\"voyeur\",\"2525\",\"363636\",\"leonardo\",\"camel\",\"chair\",\"germany\",\"giant\",\"qqqq\",\"nudist\",\"bone\",\"sleepy\",\"tequila\",\"megan\",\"fighter\",\"garrett\",\"dominic\",\"obiwan\",\"makaveli\",\"vacation\",\"walnut\",\"1974\",\"ladybug\",\"cantona\",\"ccbill\",\"satan\",\"rusty1\",\"passwor1\",\"columbia\",\"napoleon\",\"dusty\",\"kissme\",\"motorola\",\"william1\",\"1967\",\"zzzz\",\"skater\",\"smut\",\"play\",\"matthew1\",\"robinson\",\"valley\",\"coolio\",\"dagger\",\"boner\",\"bull\",\"horndog\",\"jason1\",\"blake\",\"penguins\",\"rescue\",\"griffey\",\"8j4ye3uz\",\"californ\",\"champs\",\"qwertyuiop\",\"portland\",\"queen\",\"colt45\",\"boat\",\"xxxxxxx\",\"xanadu\",\"tacoma\",\"mason\",\"carpet\",\"gggggg\",\"safety\",\"palace\",\"italia\",\"stevie\",\"picturs\",\"picasso\",\"thongs\",\"tempest\",\"ricardo\",\"roberts\",\"asd123\",\"hairy\",\"foxtrot\",\"gary\",\"nimrod\",\"hotboy\",\"343434\",\"1111111\",\"asdfghjkl\",\"goose\",\"overlord\",\"blood\",\"wood\",\"stranger\",\"454545\",\"shaolin\",\"sooners\",\"socrates\",\"spiderman\",\"peanuts\",\"maxine\",\"rogers\",\"13131313\",\"andrew1\",\"filthy\",\"donnie\",\"ohyeah\",\"africa\",\"national\",\"kenny\",\"keith\",\"monique\",\"intrepid\",\"jasmin\",\"pickles\",\"assass\",\"fright\",\"potato\",\"darwin\",\"hhhhhh\",\"kingdom\",\"weezer\",\"424242\",\"pepsi1\",\"throat\",\"romeo\",\"gerard\",\"looker\",\"puppy\",\"butch\",\"monika\",\"suzanne\",\"sweets\",\"temple\",\"laurie\",\"josh\",\"megadeth\",\"analsex\",\"nymets\",\"ddddddd\",\"bigballs\",\"support\",\"stick\",\"today\",\"down\",\"oakland\",\"oooooo\",\"qweasd\",\"chucky\",\"bridge\",\"carrot\",\"chargers\",\"discover\",\"dookie\",\"condor\",\"night\",\"butler\",\"hoover\",\"horny1\",\"isabella\",\"sunrise\",\"sinner\",\"jojo\",\"megapass\",\"martini\",\"assfuck\",\"grateful\",\"ffffff\",\"abigail\",\"esther\",\"mushroom\",\"janice\",\"jamaica\",\"wright\",\"sims\",\"space\",\"there\",\"timmy\",\"7654321\",\"77777\",\"cccccc\",\"gizmodo\",\"roxanne\",\"ralph\",\"tractor\",\"cristina\",\"dance\",\"mypass\",\"hongkong\",\"helena\",\"1975\",\"blue123\",\"pissing\",\"thomas1\",\"redred\",\"rich\",\"basketball\",\"attack\",\"cash\",\"satan666\",\"drunk\",\"dixie\",\"dublin\",\"bollox\",\"kingkong\",\"katrina\",\"miles\",\"1971\",\"22222\",\"272727\",\"sexx\",\"penelope\",\"thompson\",\"anything\",\"bbbb\",\"battle\",\"grizzly\",\"passat\",\"porter\",\"tracy\",\"defiant\",\"bowler\",\"knickers\",\"monitor\",\"wisdom\",\"wild\",\"slappy\",\"thor\",\"letsgo\",\"robert1\",\"feet\",\"rush\",\"brownie\",\"hudson\",\"098765\",\"playing\",\"playtime\",\"lightnin\",\"melvin\",\"atomic\",\"bart\",\"hawk\",\"goku\",\"glory\",\"llllll\",\"qwaszx\",\"cosmos\",\"bosco\",\"knights\",\"bentley\",\"beast\",\"slapshot\",\"lewis\",\"assword\",\"frosty\",\"gillian\",\"sara\",\"dumbass\",\"mallard\",\"dddd\",\"deanna\",\"elwood\",\"wally\",\"159357\",\"titleist\",\"angelo\",\"aussie\",\"guest\",\"golfing\",\"doobie\",\"loveit\",\"chloe\",\"elliott\",\"werewolf\",\"vipers\",\"janine\",\"1965\",\"blabla\",\"surf\",\"sucking\",\"tardis\",\"serena\",\"shelley\",\"thegame\",\"legion\",\"rebels\",\"fernando\",\"fast\",\"gerald\",\"sarah1\",\"double\",\"onelove\",\"loulou\",\"toto\",\"crash\",\"blackcat\",\"0007\",\"tacobell\",\"soccer1\",\"jedi\",\"manuel\",\"method\",\"river\",\"chase\",\"ludwig\",\"poopie\",\"derrick\",\"boob\",\"breast\",\"kittycat\",\"isabel\",\"belly\",\"pikachu\",\"thunder1\",\"thankyou\",\"jose\",\"celeste\",\"celtics\",\"frances\",\"frogger\",\"scoobydo\",\"sabbath\",\"coltrane\",\"budman\",\"willis\",\"jackal\",\"bigger\",\"zzzzz\",\"silvia\",\"sooner\",\"licking\",\"gopher\",\"geheim\",\"lonestar\",\"primus\",\"pooper\",\"newpass\",\"brasil\",\"heather1\",\"husker\",\"element\",\"moomoo\",\"beefcake\",\"zzzzzzzz\",\"tammy\",\"shitty\",\"smokin\",\"personal\",\"jjjj\",\"anthony1\",\"anubis\",\"backup\",\"gorilla\",\"fuckface\",\"painter\",\"lowrider\",\"punkrock\",\"traffic\",\"claude\",\"daniela\",\"dale\",\"delta1\",\"nancy\",\"boys\",\"easy\",\"kissing\",\"kelley\",\"wendy\",\"theresa\",\"amazon\",\"alan\",\"fatass\",\"dodgeram\",\"dingdong\",\"malcolm\",\"qqqqqqqq\",\"breasts\",\"boots\",\"honda1\",\"spidey\",\"poker\",\"temp\",\"johnjohn\",\"miguel\",\"147852\",\"archer\",\"asshole1\",\"dogdog\",\"tricky\",\"crusader\",\"weather\",\"syracuse\",\"spankme\",\"speaker\",\"meridian\",\"amadeus\",\"back\",\"harley1\",\"falcons\",\"dorothy\",\"turkey50\",\"kenwood\",\"keyboard\",\"ilovesex\",\"1978\",\"blackman\",\"shazam\",\"shalom\",\"lickit\",\"jimbob\",\"richmond\",\"roller\",\"carson\",\"check\",\"fatman\",\"funny\",\"garbage\",\"sandiego\",\"loving\",\"magnus\",\"cooldude\",\"clover\",\"mobile\",\"bell\",\"payton\",\"plumber\",\"texas1\",\"tool\",\"topper\",\"jenna\",\"mariners\",\"rebel\",\"harmony\",\"caliente\",\"celica\",\"fletcher\",\"german\",\"diana\",\"oxford\",\"osiris\",\"orgasm\",\"punkin\",\"porsche9\",\"tuesday\",\"close\",\"breeze\",\"bossman\",\"kangaroo\",\"billie\",\"latinas\",\"judith\",\"astros\",\"scruffy\",\"donna\",\"qwertyu\",\"davis\",\"hearts\",\"kathy\",\"jammer\",\"java\",\"springer\",\"rhonda\",\"ricky\",\"1122\",\"goodtime\",\"chelsea1\",\"freckles\",\"flyboy\",\"doodle\",\"city\",\"nebraska\",\"bootie\",\"kicker\",\"webmaster\",\"vulcan\",\"iverson\",\"191919\",\"blueeyes\",\"stoner\",\"321321\",\"farside\",\"rugby\",\"director\",\"pussy69\",\"power1\",\"bobbie\",\"hershey\",\"hermes\",\"monopoly\",\"west\",\"birdman\",\"blessed\",\"blackjac\",\"southern\",\"peterpan\",\"thumbs\",\"lawyer\",\"melinda\",\"fingers\",\"fuckyou1\",\"rrrrrr\",\"a1b2c3d4\",\"coke\",\"nicola\",\"bohica\",\"heart\",\"elvis1\",\"kids\",\"blacky\",\"stories\",\"sentinel\",\"snake1\",\"phoebe\",\"jesse\",\"richard1\",\"1234abcd\",\"guardian\",\"candyman\",\"fisting\",\"scarlet\",\"dildo\",\"pancho\",\"mandingo\",\"lucky7\",\"condom\",\"munchkin\",\"billyboy\",\"summer1\",\"student\",\"sword\",\"skiing\",\"sergio\",\"site\",\"sony\",\"thong\",\"rootbeer\",\"assassin\",\"cassidy\",\"frederic\",\"fffff\",\"fitness\",\"giovanni\",\"scarlett\",\"durango\",\"postal\",\"achilles\",\"dawn\",\"dylan\",\"kisses\",\"warriors\",\"imagine\",\"plymouth\",\"topdog\",\"asterix\",\"hallo\",\"cameltoe\",\"fuckfuck\",\"bridget\",\"eeeeee\",\"mouth\",\"weird\",\"will\",\"sithlord\",\"sommer\",\"toby\",\"theking\",\"juliet\",\"avenger\",\"backdoor\",\"goodbye\",\"chevrole\",\"faith\",\"lorraine\",\"trance\",\"cosworth\",\"brad\",\"houses\",\"homers\",\"eternity\",\"kingpin\",\"verbatim\",\"incubus\",\"1961\",\"blond\",\"zaphod\",\"shiloh\",\"spurs\",\"station\",\"jennie\",\"maynard\",\"mighty\",\"aliens\",\"hank\",\"charly\",\"running\",\"dogman\",\"omega1\",\"printer\",\"aggies\",\"chocolate\",\"deadhead\",\"hope\",\"javier\",\"bitch1\",\"stone55\",\"pineappl\",\"thekid\",\"lizzie\",\"rockets\",\"ashton\",\"camels\",\"formula\",\"forrest\",\"rosemary\",\"oracle\",\"rain\",\"pussey\",\"porkchop\",\"abcde\",\"clancy\",\"nellie\",\"mystic\",\"inferno\",\"blackdog\",\"steve1\",\"pauline\",\"alexander\",\"alice\",\"alfa\",\"grumpy\",\"flames\",\"scream\",\"lonely\",\"puffy\",\"proxy\",\"valhalla\",\"unreal\",\"cynthia\",\"herbie\",\"engage\",\"yyyyyy\",\"010101\",\"solomon\",\"pistol\",\"melody\",\"celeb\",\"flying\",\"gggg\",\"santiago\",\"scottie\",\"oakley\",\"portugal\",\"a12345\",\"newbie\",\"mmmm\",\"venus\",\"1qazxsw2\",\"beverly\",\"zorro\",\"work\",\"writer\",\"stripper\",\"sebastia\",\"spread\",\"phil\",\"tobias\",\"links\",\"members\",\"metal\",\"1221\",\"andre\",\"565656\",\"funfun\",\"trojans\",\"again\",\"cyber\",\"hurrican\",\"moneys\",\"1x2zkg8w\",\"zeus\",\"thing\",\"tomato\",\"lion\",\"atlantic\",\"celine\",\"usa123\",\"trans\",\"account\",\"aaaaaaa\",\"homerun\",\"hyperion\",\"kevin1\",\"blacks\",\"44444444\",\"skittles\",\"sean\",\"hastings\",\"fart\",\"gangbang\",\"fubar\",\"sailboat\",\"older\",\"oilers\",\"craig\",\"conrad\",\"church\",\"damian\",\"dean\",\"broken\",\"buster1\",\"hithere\",\"immortal\",\"sticks\",\"pilot\",\"peters\",\"lexmark\",\"jerkoff\",\"maryland\",\"anders\",\"cheers\",\"possum\",\"columbus\",\"cutter\",\"muppet\",\"beautiful\",\"stolen\",\"swordfish\",\"sport\",\"sonic\",\"peter1\",\"jethro\",\"rockon\",\"asdfghj\",\"pass123\",\"paper\",\"pornos\",\"ncc1701a\",\"bootys\",\"buttman\",\"bonjour\",\"escape\",\"1960\",\"becky\",\"bears\",\"362436\",\"spartans\",\"tinman\",\"threesom\",\"lemons\",\"maxmax\",\"1414\",\"bbbbb\",\"camelot\",\"chad\",\"chewie\",\"gogo\",\"fusion\",\"saint\",\"dilligaf\",\"nopass\",\"myself\",\"hustler\",\"hunter1\",\"whitey\",\"beast1\",\"yesyes\",\"spank\",\"smudge\",\"pinkfloy\",\"patriot\",\"lespaul\",\"annette\",\"hammers\",\"catalina\",\"finish\",\"formula1\",\"sausage\",\"scooter1\",\"orioles\",\"oscar1\",\"over\",\"colombia\",\"cramps\",\"natural\",\"eating\",\"exotic\",\"iguana\",\"bella\",\"suckers\",\"strong\",\"sheena\",\"start\",\"slave\",\"pearl\",\"topcat\",\"lancelot\",\"angelica\",\"magelan\",\"racer\",\"ramona\",\"crunch\",\"british\",\"button\",\"eileen\",\"steph\",\"456123\",\"skinny\",\"seeking\",\"rockhard\",\"chief\",\"filter\",\"first\",\"freaks\",\"sakura\",\"pacman\",\"poontang\",\"dalton\",\"newlife\",\"homer1\",\"klingon\",\"watcher\",\"walleye\",\"tasha\",\"tasty\",\"sinatra\",\"starship\",\"steel\",\"starbuck\",\"poncho\",\"amber1\",\"gonzo\",\"grover\",\"catherin\",\"carol\",\"candle\",\"firefly\",\"goblin\",\"scotch\",\"diver\",\"usmc\",\"huskies\",\"eleven\",\"kentucky\",\"kitkat\",\"israel\",\"beckham\",\"bicycle\",\"yourmom\",\"studio\",\"tara\",\"33333333\",\"shane\",\"splash\",\"jimmy1\",\"reality\",\"12344321\",\"caitlin\",\"focus\",\"sapphire\",\"mailman\",\"raiders1\",\"clark\",\"ddddd\",\"hopper\",\"excalibu\",\"more\",\"wilbur\",\"illini\",\"imperial\",\"phillips\",\"lansing\",\"maxx\",\"gothic\",\"golfball\",\"carlton\",\"camille\",\"facial\",\"front242\",\"macdaddy\",\"qwer1234\",\"vectra\",\"cowboys1\",\"crazy1\",\"dannyboy\",\"jane\",\"betty\",\"benny\",\"bennett\",\"leader\",\"martinez\",\"aquarius\",\"barkley\",\"hayden\",\"caught\",\"franky\",\"ffff\",\"floyd\",\"sassy\",\"pppp\",\"pppppppp\",\"prodigy\",\"clarence\",\"noodle\",\"eatpussy\",\"vortex\",\"wanking\",\"beatrice\",\"billy1\",\"siemens\",\"pedro\",\"phillies\",\"research\",\"groups\",\"carolyn\",\"chevy1\",\"cccc\",\"fritz\",\"gggggggg\",\"doughboy\",\"dracula\",\"nurses\",\"loco\",\"madrid\",\"lollipop\",\"trout\",\"utopia\",\"chrono\",\"cooler\",\"conner\",\"nevada\",\"wibble\",\"werner\",\"summit\",\"marco\",\"marilyn\",\"1225\",\"babies\",\"capone\",\"fugazi\",\"panda\",\"mama\",\"qazwsxed\",\"puppies\",\"triton\",\"9876\",\"command\",\"nnnnnn\",\"ernest\",\"momoney\",\"iforgot\",\"wolfie\",\"studly\",\"shawn\",\"renee\",\"alien\",\"hamburg\",\"81fukkc\",\"741852\",\"catman\",\"china\",\"forgot\",\"gagging\",\"scott1\",\"drew\",\"oregon\",\"qweqwe\",\"train\",\"crazybab\",\"daniel1\",\"cutlass\",\"brothers\",\"holes\",\"heidi\",\"mothers\",\"music1\",\"what\",\"walrus\",\"1957\",\"bigtime\",\"bike\",\"xtreme\",\"simba\",\"ssss\",\"rookie\",\"angie\",\"bathing\",\"fresh\",\"sanchez\",\"rotten\",\"maestro\",\"luis\",\"look\",\"turbo1\",\"99999\",\"butthole\",\"hhhh\",\"elijah\",\"monty\",\"bender\",\"yoda\",\"shania\",\"shock\",\"phish\",\"thecat\",\"rightnow\",\"reagan\",\"baddog\",\"asia\",\"greatone\",\"gateway1\",\"randall\",\"abstr\",\"napster\",\"brian1\",\"bogart\",\"high\",\"hitler\",\"emma\",\"kill\",\"weaver\",\"wildfire\",\"jackson1\",\"isaiah\",\"1981\",\"belinda\",\"beaner\",\"yoyo\",\"0.0.0.000\",\"super1\",\"select\",\"snuggles\",\"slutty\",\"some\",\"phoenix1\",\"technics\",\"toon\",\"raven1\",\"rayray\",\"123789\",\"1066\",\"albion\",\"greens\",\"fashion\",\"gesperrt\",\"santana\",\"paint\",\"powell\",\"credit\",\"darling\",\"mystery\",\"bowser\",\"bottle\",\"brucelee\",\"hehehe\",\"kelly1\",\"mojo\",\"1998\",\"bikini\",\"woofwoof\",\"yyyy\",\"strap\",\"sites\",\"spears\",\"theodore\",\"julius\",\"richards\",\"amelia\",\"central\",\"f**k\",\"nyjets\",\"punisher\",\"username\",\"vanilla\",\"twisted\",\"bryant\",\"brent\",\"bunghole\",\"here\",\"elizabeth\",\"erica\",\"kimber\",\"viagra\",\"veritas\",\"pony\",\"pool\",\"titts\",\"labtec\",\"lifetime\",\"jenny1\",\"masterbate\",\"mayhem\",\"redbull\",\"govols\",\"gremlin\",\"505050\",\"gmoney\",\"rupert\",\"rovers\",\"diamond1\",\"lorenzo\",\"trident\",\"abnormal\",\"davidson\",\"deskjet\",\"cuddles\",\"nice\",\"bristol\",\"karina\",\"milano\",\"vh5150\",\"jarhead\",\"1982\",\"bigbird\",\"bizkit\",\"sixers\",\"slider\",\"star69\",\"starfish\",\"penetration\",\"tommy1\",\"john316\",\"meghan\",\"michaela\",\"market\",\"grant\",\"caligula\",\"carl\",\"flicks\",\"films\",\"madden\",\"railroad\",\"cosmo\",\"cthulhu\",\"bradford\",\"br0d3r\",\"military\",\"bearbear\",\"swedish\",\"spawn\",\"patrick1\",\"polly\",\"these\",\"todd\",\"reds\",\"anarchy\",\"groove\",\"franco\",\"fuckher\",\"oooo\",\"tyrone\",\"vegas\",\"airbus\",\"cobra1\",\"christine\",\"clips\",\"delete\",\"duster\",\"kitty1\",\"mouse1\",\"monkeys\",\"jazzman\",\"1919\",\"262626\",\"swinging\",\"stroke\",\"stocks\",\"sting\",\"pippen\",\"labrador\",\"jordan1\",\"justdoit\",\"meatball\",\"females\",\"saturday\",\"park\",\"vector\",\"cooter\",\"defender\",\"desert\",\"demon\",\"nike\",\"bubbas\",\"bonkers\",\"english\",\"kahuna\",\"wildman\",\"4121\",\"sirius\",\"static\",\"piercing\",\"terror\",\"teenage\",\"leelee\",\"marissa\",\"microsof\",\"mechanic\",\"robotech\",\"rated\",\"hailey\",\"chaser\",\"sanders\",\"salsero\",\"nuts\",\"macross\",\"quantum\",\"rachael\",\"tsunami\",\"universe\",\"daddy1\",\"cruise\",\"nguyen\",\"newpass6\",\"nudes\",\"hellyeah\",\"vernon\",\"1959\",\"zaq12wsx\",\"striker\",\"sixty\",\"steele\",\"spice\",\"spectrum\",\"smegma\",\"thumb\",\"jjjjjjjj\",\"mellow\",\"astrid\",\"cancun\",\"cartoon\",\"sabres\",\"samiam\",\"pants\",\"oranges\",\"oklahoma\",\"lust\",\"coleman\",\"denali\",\"nude\",\"noodles\",\"buzz\",\"brest\",\"hooter\",\"mmmmmmmm\",\"warthog\",\"bloody\",\"blueblue\",\"zappa\",\"wolverine\",\"sniffing\",\"lance\",\"jean\",\"jjjjj\",\"harper\",\"calico\",\"freee\",\"rover\",\"door\",\"pooter\",\"closeup\",\"bonsai\",\"evelyn\",\"emily1\",\"kathryn\",\"keystone\",\"iiii\",\"1955\",\"yzerman\",\"theboss\",\"tolkien\",\"jill\",\"megaman\",\"rasta\",\"bbbbbbbb\",\"bean\",\"handsome\",\"hal9000\",\"goofy\",\"gringo\",\"gofish\",\"gizmo1\",\"samsam\",\"scuba\",\"onlyme\",\"tttttttt\",\"corrado\",\"clown\",\"clapton\",\"deborah\",\"boris\",\"bulls\",\"vivian\",\"jayhawk\",\"bethany\",\"wwww\",\"sharky\",\"seeker\",\"ssssssss\",\"somethin\",\"pillow\",\"thesims\",\"lighter\",\"lkjhgf\",\"melissa1\",\"marcius2\",\"barry\",\"guiness\",\"gymnast\",\"casey1\",\"goalie\",\"godsmack\",\"doug\",\"lolo\",\"rangers1\",\"poppy\",\"abby\",\"clemson\",\"clipper\",\"deeznuts\",\"nobody\",\"holly1\",\"elliot\",\"eeee\",\"kingston\",\"miriam\",\"belle\",\"yosemite\",\"sucked\",\"sex123\",\"sexy69\",\"pic\\\\'s\",\"tommyboy\",\"lamont\",\"meat\",\"masterbating\",\"marianne\",\"marc\",\"gretzky\",\"happyday\",\"frisco\",\"scratch\",\"orchid\",\"orange1\",\"manchest\",\"quincy\",\"unbelievable\",\"aberdeen\",\"dawson\",\"nathalie\",\"ne1469\",\"boxing\",\"hill\",\"korn\",\"intercourse\",\"161616\",\"1985\",\"ziggy\",\"supersta\",\"stoney\",\"senior\",\"amature\",\"barber\",\"babyboy\",\"bcfields\",\"goliath\",\"hack\",\"hardrock\",\"children\",\"frodo\",\"scout\",\"scrappy\",\"rosie\",\"qazqaz\",\"tracker\",\"active\",\"craving\",\"commando\",\"cohiba\",\"deep\",\"cyclone\",\"dana\",\"bubba69\",\"katie1\",\"mpegs\",\"vsegda\",\"jade\",\"irish1\",\"better\",\"sexy1\",\"sinclair\",\"smelly\",\"squerting\",\"lions\",\"jokers\",\"jeanette\",\"julia\",\"jojojo\",\"meathead\",\"ashley1\",\"groucho\",\"cheetah\",\"champ\",\"firefox\",\"gandalf1\",\"packer\",\"magnolia\",\"love69\",\"tyler1\",\"typhoon\",\"tundra\",\"bobby1\",\"kenworth\",\"village\",\"volley\",\"beth\",\"wolf359\",\"0420\",\"000007\",\"swimmer\",\"skydive\",\"smokes\",\"patty\",\"peugeot\",\"pompey\",\"legolas\",\"kristy\",\"redhot\",\"rodman\",\"redalert\",\"having\",\"grapes\",\"4runner\",\"carrera\",\"floppy\",\"dollars\",\"ou8122\",\"quattro\",\"adams\",\"cloud9\",\"davids\",\"nofear\",\"busty\",\"homemade\",\"mmmmm\",\"whisper\",\"vermont\",\"webmaste\",\"wives\",\"insertion\",\"jayjay\",\"philips\",\"phone\",\"topher\",\"tongue\",\"temptress\",\"midget\",\"ripken\",\"havefun\",\"gretchen\",\"canon\",\"celebrity\",\"five\",\"getting\",\"ghetto\",\"direct\",\"otto\",\"ragnarok\",\"trinidad\",\"usnavy\",\"conover\",\"cruiser\",\"dalshe\",\"nicole1\",\"buzzard\",\"hottest\",\"kingfish\",\"misfit\",\"moore\",\"milfnew\",\"warlord\",\"wassup\",\"bigsexy\",\"blackhaw\",\"zippy\",\"shearer\",\"tights\",\"thursday\",\"kungfu\",\"labia\",\"journey\",\"meatloaf\",\"marlene\",\"rider\",\"area51\",\"batman1\",\"bananas\",\"636363\",\"cancel\",\"ggggg\",\"paradox\",\"mack\",\"lynn\",\"queens\",\"adults\",\"aikido\",\"cigars\",\"nova\",\"hoosier\",\"eeyore\",\"moose1\",\"warez\",\"interacial\",\"streaming\",\"313131\",\"pertinant\",\"pool6123\",\"mayday\",\"rivers\",\"revenge\",\"animated\",\"banker\",\"baddest\",\"gordon24\",\"ccccc\",\"fortune\",\"fantasies\",\"touching\",\"aisan\",\"deadman\",\"homepage\",\"ejaculation\",\"whocares\",\"iscool\",\"jamesbon\",\"1956\",\"1pussy\",\"womam\",\"sweden\",\"skidoo\",\"spock\",\"sssss\",\"petra\",\"pepper1\",\"pinhead\",\"micron\",\"allsop\",\"amsterda\",\"army\",\"aside\",\"gunnar\",\"666999\",\"chip\",\"foot\",\"fowler\",\"february\",\"face\",\"fletch\",\"george1\",\"sapper\",\"science\",\"sasha1\",\"luckydog\",\"lover1\",\"magick\",\"popopo\",\"public\",\"ultima\",\"derek\",\"cypress\",\"booker\",\"businessbabe\",\"brandon1\",\"edwards\",\"experience\",\"vulva\",\"vvvv\",\"jabroni\",\"bigbear\",\"yummy\",\"010203\",\"searay\",\"secret1\",\"showing\",\"sinbad\",\"sexxxx\",\"soleil\",\"software\",\"piccolo\",\"thirteen\",\"leopard\",\"legacy\",\"jensen\",\"justine\",\"memorex\",\"marisa\",\"mathew\",\"redwing\",\"rasputin\",\"134679\",\"anfield\",\"greenbay\",\"gore\",\"catcat\",\"feather\",\"scanner\",\"pa55word\",\"contortionist\",\"danzig\",\"daisy1\",\"hores\",\"erik\",\"exodus\",\"vinnie\",\"iiiiii\",\"zero\",\"1001\",\"subway\",\"tank\",\"second\",\"snapple\",\"sneakers\",\"sonyfuck\",\"picks\",\"poodle\",\"test1234\",\"their\",\"llll\",\"junebug\",\"june\",\"marker\",\"mellon\",\"ronaldo\",\"roadkill\",\"amanda1\",\"asdfjkl\",\"beaches\",\"greene\",\"great1\",\"cheerleaers\",\"force\",\"doitnow\",\"ozzy\",\"madeline\",\"radio\",\"tyson\",\"christian\",\"daphne\",\"boxster\",\"brighton\",\"housewifes\",\"emmanuel\",\"emerson\",\"kkkk\",\"mnbvcx\",\"moocow\",\"vides\",\"wagner\",\"janet\",\"1717\",\"bigmoney\",\"blonds\",\"1000\",\"storys\",\"stereo\",\"4545\",\"420247\",\"seductive\",\"sexygirl\",\"lesbean\",\"live\",\"justin1\",\"124578\",\"animals\",\"balance\",\"hansen\",\"cabbage\",\"canadian\",\"gangbanged\",\"dodge1\",\"dimas\",\"lori\",\"loud\",\"malaka\",\"puss\",\"probes\",\"adriana\",\"coolman\",\"crawford\",\"dante\",\"nacked\",\"hotpussy\",\"erotica\",\"kool\",\"mirror\",\"wearing\",\"implants\",\"intruder\",\"bigass\",\"zenith\",\"woohoo\",\"womans\",\"tanya\",\"tango\",\"stacy\",\"pisces\",\"laguna\",\"krystal\",\"maxell\",\"andyod22\",\"barcelon\",\"chainsaw\",\"chickens\",\"flash1\",\"downtown\",\"orgasms\",\"magicman\",\"profit\",\"pusyy\",\"pothead\",\"coconut\",\"chuckie\",\"contact\",\"clevelan\",\"designer\",\"builder\",\"budweise\",\"hotshot\",\"horizon\",\"hole\",\"experienced\",\"mondeo\",\"wifes\",\"1962\",\"strange\",\"stumpy\",\"smiths\",\"sparks\",\"slacker\",\"piper\",\"pitchers\",\"passwords\",\"laptop\",\"jeremiah\",\"allmine\",\"alliance\",\"bbbbbbb\",\"asscock\",\"halflife\",\"grandma\",\"hayley\",\"88888\",\"cecilia\",\"chacha\",\"saratoga\",\"sandy1\",\"santos\",\"doogie\",\"number\",\"positive\",\"qwert40\",\"transexual\",\"crow\",\"close-up\",\"darrell\",\"bonita\",\"ib6ub9\",\"volvo\",\"jacob1\",\"iiiii\",\"beastie\",\"sunnyday\",\"stoned\",\"sonics\",\"starfire\",\"snapon\",\"pictuers\",\"pepe\",\"testing1\",\"tiberius\",\"lisalisa\",\"lesbain\",\"litle\",\"retard\",\"ripple\",\"austin1\",\"badgirl\",\"golfgolf\",\"flounder\",\"garage\",\"royals\",\"dragoon\",\"dickie\",\"passwor\",\"ocean\",\"majestic\",\"poppop\",\"trailers\",\"dammit\",\"nokia\",\"bobobo\",\"br549\",\"emmitt\",\"knock\",\"minime\",\"mikemike\",\"whitesox\",\"1954\",\"3232\",\"353535\",\"seamus\",\"solo\",\"sparkle\",\"sluttey\",\"pictere\",\"titten\",\"lback\",\"1024\",\"angelina\",\"goodluck\",\"charlton\",\"fingerig\",\"gallaries\",\"goat\",\"ruby\",\"passme\",\"oasis\",\"lockerroom\",\"logan1\",\"rainman\",\"twins\",\"treasure\",\"absolutely\",\"club\",\"custom\",\"cyclops\",\"nipper\",\"bucket\",\"homepage-\",\"hhhhh\",\"momsuck\",\"indain\",\"2345\",\"beerbeer\",\"bimmer\",\"susanne\",\"stunner\",\"stevens\",\"456456\",\"shell\",\"sheba\",\"tootsie\",\"tiny\",\"testerer\",\"reefer\",\"really\",\"1012\",\"harcore\",\"gollum\",\"545454\",\"chico\",\"caveman\",\"carole\",\"fordf150\",\"fishes\",\"gaymen\",\"saleen\",\"doodoo\",\"pa55w0rd\",\"looney\",\"presto\",\"qqqqq\",\"cigar\",\"bogey\",\"brewer\",\"helloo\",\"dutch\",\"kamikaze\",\"monte\",\"wasser\",\"vietnam\",\"visa\",\"japanees\",\"0123\",\"swords\",\"slapper\",\"peach\",\"jump\",\"marvel\",\"masterbaiting\",\"march\",\"redwood\",\"rolling\",\"1005\",\"ametuer\",\"chiks\",\"cathy\",\"callaway\",\"fucing\",\"sadie1\",\"panasoni\",\"mamas\",\"race\",\"rambo\",\"unknown\",\"absolut\",\"deacon\",\"dallas1\",\"housewife\",\"kristi\",\"keywest\",\"kirsten\",\"kipper\",\"morning\",\"wings\",\"idiot\",\"18436572\",\"1515\",\"beating\",\"zxczxc\",\"sullivan\",\"303030\",\"shaman\",\"sparrow\",\"terrapin\",\"jeffery\",\"masturbation\",\"mick\",\"redfish\",\"1492\",\"angus\",\"barrett\",\"goirish\",\"hardcock\",\"felicia\",\"forfun\",\"galary\",\"freeporn\",\"duchess\",\"olivier\",\"lotus\",\"pornographic\",\"ramses\",\"purdue\",\"traveler\",\"crave\",\"brando\",\"enter1\",\"killme\",\"moneyman\",\"welder\",\"windsor\",\"wifey\",\"indon\",\"yyyyy\",\"stretch\",\"taylor1\",\"4417\",\"shopping\",\"picher\",\"pickup\",\"thumbnils\",\"johnboy\",\"jets\",\"jess\",\"maureen\",\"anne\",\"ameteur\",\"amateurs\",\"apollo13\",\"hambone\",\"goldwing\",\"5050\",\"charley\",\"sally1\",\"doghouse\",\"padres\",\"pounding\",\"quest\",\"truelove\",\"underdog\",\"trader\",\"crack\",\"climber\",\"bolitas\",\"bravo\",\"hohoho\",\"model\",\"italian\",\"beanie\",\"beretta\",\"wrestlin\",\"stroker\",\"tabitha\",\"sherwood\",\"sexyman\",\"jewels\",\"johannes\",\"mets\",\"marcos\",\"rhino\",\"bdsm\",\"balloons\",\"goodman\",\"grils\",\"happy123\",\"flamingo\",\"games\",\"route66\",\"devo\",\"dino\",\"outkast\",\"paintbal\",\"magpie\",\"llllllll\",\"twilight\",\"critter\",\"christie\",\"cupcake\",\"nickel\",\"bullseye\",\"krista\",\"knickerless\",\"mimi\",\"murder\",\"videoes\",\"binladen\",\"xerxes\",\"slim\",\"slinky\",\"pinky\",\"peterson\",\"thanatos\",\"meister\",\"menace\",\"ripley\",\"retired\",\"albatros\",\"balloon\",\"bank\",\"goten\",\"5551212\",\"getsdown\",\"donuts\",\"divorce\",\"nwo4life\",\"lord\",\"lost\",\"underwear\",\"tttt\",\"comet\",\"deer\",\"damnit\",\"dddddddd\",\"deeznutz\",\"nasty1\",\"nonono\",\"nina\",\"enterprise\",\"eeeee\",\"misfit99\",\"milkman\",\"vvvvvv\",\"isaac\",\"1818\",\"blueboy\",\"beans\",\"bigbutt\",\"wyatt\",\"tech\",\"solution\",\"poetry\",\"toolman\",\"laurel\",\"juggalo\",\"jetski\",\"meredith\",\"barefoot\",\"50spanks\",\"gobears\",\"scandinavian\",\"original\",\"truman\",\"cubbies\",\"nitram\",\"briana\",\"ebony\",\"kings\",\"warner\",\"bilbo\",\"yumyum\",\"zzzzzzz\",\"stylus\",\"321654\",\"shannon1\",\"server\",\"secure\",\"silly\",\"squash\",\"starman\",\"steeler\",\"staples\",\"phrases\",\"techniques\",\"laser\",\"135790\",\"allan\",\"barker\",\"athens\",\"cbr600\",\"chemical\",\"fester\",\"gangsta\",\"fucku2\",\"freeze\",\"game\",\"salvador\",\"droopy\",\"objects\",\"passwd\",\"lllll\",\"loaded\",\"louis\",\"manchester\",\"losers\",\"vedder\",\"clit\",\"chunky\",\"darkman\",\"damage\",\"buckshot\",\"buddah\",\"boobed\",\"henti\",\"hillary\",\"webber\",\"winter1\",\"ingrid\",\"bigmike\",\"beta\",\"zidane\",\"talon\",\"slave1\",\"pissoff\",\"person\",\"thegreat\",\"living\",\"lexus\",\"matador\",\"readers\",\"riley\",\"roberta\",\"armani\",\"ashlee\",\"goldstar\",\"5656\",\"cards\",\"fmale\",\"ferris\",\"fuking\",\"gaston\",\"fucku\",\"ggggggg\",\"sauron\",\"diggler\",\"pacers\",\"looser\",\"pounded\",\"premier\",\"pulled\",\"town\",\"trisha\",\"triangle\",\"cornell\",\"collin\",\"cosmic\",\"deeper\",\"depeche\",\"norway\",\"bright\",\"helmet\",\"kristine\",\"kendall\",\"mustard\",\"misty1\",\"watch\",\"jagger\",\"bertie\",\"berger\",\"word\",\"3x7pxr\",\"silver1\",\"smoking\",\"snowboar\",\"sonny\",\"paula\",\"penetrating\",\"photoes\",\"lesbens\",\"lambert\",\"lindros\",\"lillian\",\"roadking\",\"rockford\",\"1357\",\"143143\",\"asasas\",\"goodboy\",\"898989\",\"chicago1\",\"card\",\"ferrari1\",\"galeries\",\"godfathe\",\"gawker\",\"gargoyle\",\"gangster\",\"rubble\",\"rrrr\",\"onetime\",\"pussyman\",\"pooppoop\",\"trapper\",\"twenty\",\"abraham\",\"cinder\",\"company\",\"newcastl\",\"boricua\",\"bunny1\",\"boxer\",\"hotred\",\"hockey1\",\"hooper\",\"edward1\",\"evan\",\"kris\",\"misery\",\"moscow\",\"milk\",\"mortgage\",\"bigtit\",\"show\",\"snoopdog\",\"three\",\"lionel\",\"leanne\",\"joshua1\",\"july\",\"1230\",\"assholes\",\"cedric\",\"fallen\",\"farley\",\"gene\",\"frisky\",\"sanity\",\"script\",\"divine\",\"dharma\",\"lucky13\",\"property\",\"tricia\",\"akira\",\"desiree\",\"broadway\",\"butterfly\",\"hunt\",\"hotbox\",\"hootie\",\"heat\",\"howdy\",\"earthlink\",\"karma\",\"kiteboy\",\"motley\",\"westwood\",\"1988\",\"bert\",\"blackbir\",\"biggles\",\"wrench\",\"working\",\"wrestle\",\"slippery\",\"pheonix\",\"penny1\",\"pianoman\",\"tomorrow\",\"thedude\",\"jenn\",\"jonjon\",\"jones1\",\"mattie\",\"memory\",\"micheal\",\"roadrunn\",\"arrow\",\"attitude\",\"azzer\",\"seahawks\",\"diehard\",\"dotcom\",\"lola\",\"tunafish\",\"chivas\",\"cinnamon\",\"clouds\",\"deluxe\",\"northern\",\"nuclear\",\"north\",\"boom\",\"boobie\",\"hurley\",\"krishna\",\"momomo\",\"modles\",\"volume\",\"23232323\",\"bluedog\",\"wwwwwww\",\"zerocool\",\"yousuck\",\"pluto\",\"limewire\",\"link\",\"joung\",\"marcia\",\"awnyce\",\"gonavy\",\"haha\",\"films+pic+galeries\",\"fabian\",\"francois\",\"girsl\",\"fuckthis\",\"girfriend\",\"rufus\",\"drive\",\"uncencored\",\"a123456\",\"airport\",\"clay\",\"chrisbln\",\"combat\",\"cygnus\",\"cupoi\",\"never\",\"netscape\",\"brett\",\"hhhhhhhh\",\"eagles1\",\"elite\",\"knockers\",\"kendra\",\"mommy\",\"1958\",\"tazmania\",\"shonuf\",\"piano\",\"pharmacy\",\"thedog\",\"lips\",\"jillian\",\"jenkins\",\"midway\",\"arsenal1\",\"anaconda\",\"australi\",\"gromit\",\"gotohell\",\"787878\",\"66666\",\"carmex2\",\"camber\",\"gator1\",\"ginger1\",\"fuzzy\",\"seadoo\",\"dorian\",\"lovesex\",\"rancid\",\"uuuuuu\",\"911911\",\"nature\",\"bulldog1\",\"helen\",\"health\",\"heater\",\"higgins\",\"kirk\",\"monalisa\",\"mmmmmmm\",\"whiteout\",\"virtual\",\"ventura\",\"jamie1\",\"japanes\",\"james007\",\"2727\",\"2469\",\"blam\",\"bitchass\",\"believe\",\"zephyr\",\"stiffy\",\"sweet1\",\"silent\",\"southpar\",\"spectre\",\"tigger1\",\"tekken\",\"lenny\",\"lakota\",\"lionking\",\"jjjjjjj\",\"medical\",\"megatron\",\"1369\",\"hawaiian\",\"gymnastic\",\"golfer1\",\"gunners\",\"7779311\",\"515151\",\"famous\",\"glass\",\"screen\",\"rudy\",\"royal\",\"sanfran\",\"drake\",\"optimus\",\"panther1\",\"love1\",\"mail\",\"maggie1\",\"pudding\",\"venice\",\"aaron1\",\"delphi\",\"niceass\",\"bounce\",\"busted\",\"house1\",\"killer1\",\"miracle\",\"momo\",\"musashi\",\"jammin\",\"2003\",\"234567\",\"wp2003wp\",\"submit\",\"silence\",\"sssssss\",\"state\",\"spikes\",\"sleeper\",\"passwort\",\"toledo\",\"kume\",\"media\",\"meme\",\"medusa\",\"mantis\",\"remote\",\"reading\",\"reebok\",\"1017\",\"artemis\",\"hampton\",\"harry1\",\"cafc91\",\"fettish\",\"friendly\",\"oceans\",\"oooooooo\",\"mango\",\"ppppp\",\"trainer\",\"troy\",\"uuuu\",\"909090\",\"cross\",\"death1\",\"news\",\"bullfrog\",\"hokies\",\"holyshit\",\"eeeeeee\",\"mitch\",\"jasmine1\",\"&\",\"&\",\"sergeant\",\"spinner\",\"leon\",\"jockey\",\"records\",\"right\",\"babyblue\",\"hans\",\"gooner\",\"474747\",\"cheeks\",\"cars\",\"candice\",\"fight\",\"glow\",\"pass1234\",\"parola\",\"okokok\",\"pablo\",\"magical\",\"major\",\"ramsey\",\"poseidon\",\"989898\",\"confused\",\"circle\",\"crusher\",\"cubswin\",\"nnnn\",\"hollywood\",\"erin\",\"kotaku\",\"milo\",\"mittens\",\"whatsup\",\"vvvvv\",\"iomega\",\"insertions\",\"bengals\",\"bermuda\",\"biit\",\"yellow1\",\"012345\",\"spike1\",\"south\",\"sowhat\",\"pitures\",\"peacock\",\"pecker\",\"theend\",\"juliette\",\"jimmie\",\"romance\",\"augusta\",\"hayabusa\",\"hawkeyes\",\"castro\",\"florian\",\"geoffrey\",\"dolly\",\"lulu\",\"qaz123\",\"usarmy\",\"twinkle\",\"cloud\",\"chuckles\",\"cold\",\"hounddog\",\"hover\",\"hothot\",\"europa\",\"ernie\",\"kenshin\",\"kojak\",\"mikey1\",\"water1\",\"196969\",\"because\",\"wraith\",\"zebra\",\"wwwww\",\"33333\",\"simon1\",\"spider1\",\"snuffy\",\"philippe\",\"thunderb\",\"teddy1\",\"lesley\",\"marino13\",\"maria1\",\"redline\",\"renault\",\"aloha\",\"antoine\",\"handyman\",\"cerberus\",\"gamecock\",\"gobucks\",\"freesex\",\"duffman\",\"ooooo\",\"papa\",\"nuggets\",\"magician\",\"longbow\",\"preacher\",\"porno1\",\"county\",\"chrysler\",\"contains\",\"dalejr\",\"darius\",\"darlene\",\"dell\",\"navy\",\"buffy1\",\"hedgehog\",\"hoosiers\",\"honey1\",\"hott\",\"heyhey\",\"europe\",\"dutchess\",\"everest\",\"wareagle\",\"ihateyou\",\"sunflowe\",\"3434\",\"senators\",\"shag\",\"spoon\",\"sonoma\",\"stalker\",\"poochie\",\"terminal\",\"terefon\",\"laurence\",\"maradona\",\"maryann\",\"marty\",\"roman\",\"1007\",\"142536\",\"alibaba\",\"america1\",\"bartman\",\"astro\",\"goth\",\"century\",\"chicken1\",\"cheater\",\"four\",\"ghost1\",\"passpass\",\"oral\",\"r2d2c3po\",\"civic\",\"cicero\",\"myxworld\",\"kkkkk\",\"missouri\",\"wishbone\",\"infiniti\",\"jameson\",\"1a2b3c\",\"1qwerty\",\"wonderboy\",\"skip\",\"shojou\",\"stanford\",\"sparky1\",\"smeghead\",\"poiuy\",\"titanium\",\"torres\",\"lantern\",\"jelly\",\"jeanne\",\"meier\",\"1213\",\"bayern\",\"basset\",\"gsxr750\",\"cattle\",\"charlene\",\"fishing1\",\"fullmoon\",\"gilles\",\"dima\",\"obelix\",\"popo\",\"prissy\",\"ramrod\",\"unique\",\"absolute\",\"bummer\",\"hotone\",\"dynasty\",\"entry\",\"konyor\",\"missy1\",\"moses\",\"282828\",\"yeah\",\"xyz123\",\"stop\",\"426hemi\",\"404040\",\"seinfeld\",\"simmons\",\"pingpong\",\"lazarus\",\"matthews\",\"marine1\",\"manning\",\"recovery\",\"12345a\",\"beamer\",\"babyface\",\"greece\",\"gustav\",\"7007\",\"charity\",\"camilla\",\"ccccccc\",\"faggot\",\"foxy\",\"frozen\",\"gladiato\",\"duckie\",\"dogfood\",\"paranoid\",\"packers1\",\"longjohn\",\"radical\",\"tuna\",\"clarinet\",\"claudio\",\"circus\",\"danny1\",\"novell\",\"nights\",\"bonbon\",\"kashmir\",\"kiki\",\"mortimer\",\"modelsne\",\"moondog\",\"monaco\",\"vladimir\",\"insert\",\"1953\",\"zxc123\",\"supreme\",\"3131\",\"sexxx\",\"selena\",\"softail\",\"poipoi\",\"pong\",\"together\",\"mars\",\"martin1\",\"rogue\",\"alone\",\"avalanch\",\"audia4\",\"55bgates\",\"cccccccc\",\"chick\",\"came11\",\"figaro\",\"geneva\",\"dogboy\",\"dnsadm\",\"dipshit\",\"paradigm\",\"othello\",\"operator\",\"officer\",\"malone\",\"post\",\"rafael\",\"valencia\",\"tripod\",\"choice\",\"chopin\",\"coucou\",\"coach\",\"cocksuck\",\"common\",\"creature\",\"borussia\",\"book\",\"browning\",\"heritage\",\"hiziad\",\"homerj\",\"eight\",\"earth\",\"millions\",\"mullet\",\"whisky\",\"jacques\",\"store\",\"4242\",\"speedo\",\"starcraf\",\"skylar\",\"spaceman\",\"piggy\",\"pierce\",\"tiger2\",\"legos\",\"lala\",\"jezebel\",\"judy\",\"joker1\",\"mazda\",\"barton\",\"baker\",\"727272\",\"chester1\",\"fishman\",\"food\",\"rrrrrrrr\",\"sandwich\",\"dundee\",\"lumber\",\"magazine\",\"radar\",\"ppppppp\",\"tranny\",\"aaliyah\",\"admiral\",\"comics\",\"cleo\",\"delight\",\"buttfuck\",\"homeboy\",\"eternal\",\"kilroy\",\"kellie\",\"khan\",\"violin\",\"wingman\",\"walmart\",\"bigblue\",\"blaze\",\"beemer\",\"beowulf\",\"bigfish\",\"yyyyyyy\",\"woodie\",\"yeahbaby\",\"0123456\",\"tbone\",\"style\",\"syzygy\",\"starter\",\"lemon\",\"linda1\",\"merlot\",\"mexican\",\"11235813\",\"anita\",\"banner\",\"bangbang\",\"badman\",\"barfly\",\"grease\",\"carla\",\"charles1\",\"ffffffff\",\"screw\",\"doberman\",\"diane\",\"dogshit\",\"overkill\",\"counter\",\"coolguy\",\"claymore\",\"demons\",\"demo\",\"nomore\",\"normal\",\"brewster\",\"hhhhhhh\",\"hondas\",\"iamgod\",\"enterme\",\"everett\",\"electron\",\"eastside\",\"kayla\",\"minimoni\",\"mybaby\",\"wildbill\",\"wildcard\",\"ipswich\",\"200000\",\"bearcat\",\"zigzag\",\"yyyyyyyy\",\"xander\",\"sweetnes\",\"369369\",\"skyler\",\"skywalker\",\"pigeon\",\"peyton\",\"tipper\",\"lilly\",\"asdf123\",\"alphabet\",\"asdzxc\",\"babybaby\",\"banane\",\"barnes\",\"guyver\",\"graphics\",\"grand\",\"chinook\",\"florida1\",\"flexible\",\"fuckinside\",\"otis\",\"ursitesux\",\"tototo\",\"trust\",\"tower\",\"adam12\",\"christma\",\"corey\",\"chrome\",\"buddie\",\"bombers\",\"bunker\",\"hippie\",\"keegan\",\"misfits\",\"vickie\",\"292929\",\"woofer\",\"wwwwwwww\",\"stubby\",\"sheep\",\"secrets\",\"sparta\",\"stang\",\"spud\",\"sporty\",\"pinball\",\"jorge\",\"just4fun\",\"johanna\",\"maxxxx\",\"rebecca1\",\"gunther\",\"fatima\",\"fffffff\",\"freeway\",\"garion\",\"score\",\"rrrrr\",\"sancho\",\"outback\",\"maggot\",\"puddin\",\"trial\",\"adrienne\",\"987456\",\"colton\",\"clyde\",\"brain\",\"brains\",\"hoops\",\"eleanor\",\"dwayne\",\"kirby\",\"mydick\",\"villa\",\"19691969\",\"bigcat\",\"becker\",\"shiner\",\"silverad\",\"spanish\",\"templar\",\"lamer\",\"juicy\",\"marsha\",\"mike1\",\"maximum\",\"rhiannon\",\"real\",\"1223\",\"10101010\",\"arrows\",\"andres\",\"alucard\",\"baldwin\",\"baron\",\"avenue\",\"ashleigh\",\"haggis\",\"channel\",\"cheech\",\"safari\",\"ross\",\"dog123\",\"orion1\",\"paloma\",\"qwerasdf\",\"presiden\",\"vegitto\",\"trees\",\"969696\",\"adonis\",\"colonel\",\"cookie1\",\"newyork1\",\"brigitte\",\"buddyboy\",\"hellos\",\"heineken\",\"dwight\",\"eraser\",\"kerstin\",\"motion\",\"moritz\",\"millwall\",\"visual\",\"jaybird\",\"1983\",\"beautifu\",\"bitter\",\"yvette\",\"zodiac\",\"steven1\",\"sinister\",\"slammer\",\"smashing\",\"slick1\",\"sponge\",\"teddybea\",\"theater\",\"this\",\"ticklish\",\"lipstick\",\"jonny\",\"massage\",\"mann\",\"reynolds\",\"ring\",\"1211\",\"amazing\",\"aptiva\",\"applepie\",\"bailey1\",\"guitar1\",\"chanel\",\"canyon\",\"gagged\",\"fuckme1\",\"rough\",\"digital1\",\"dinosaur\",\"punk\",\"98765\",\"90210\",\"clowns\",\"cubs\",\"daniels\",\"deejay\",\"nigga\",\"naruto\",\"boxcar\",\"icehouse\",\"hotties\",\"electra\",\"kent\",\"widget\",\"india\",\"insanity\",\"1986\",\"2004\",\"best\",\"bluefish\",\"bingo1\",\"*****\",\"stratus\",\"strength\",\"sultan\",\"storm1\",\"44444\",\"4200\",\"sentnece\",\"season\",\"sexyboy\",\"sigma\",\"smokie\",\"spam\",\"point\",\"pippo\",\"ticket\",\"temppass\",\"joel\",\"manman\",\"medicine\",\"1022\",\"anton\",\"almond\",\"bacchus\",\"aztnm\",\"axio\",\"awful\",\"bamboo\",\"hakr\",\"gregor\",\"hahahaha\",\"5678\",\"casanova\",\"caprice\",\"camero1\",\"fellow\",\"fountain\",\"dupont\",\"dolphin1\",\"dianne\",\"paddle\",\"magnet\",\"qwert1\",\"pyon\",\"porsche1\",\"tripper\",\"vampires\",\"coming\",\"noway\",\"burrito\",\"bozo\",\"highheel\",\"hughes\",\"hookem\",\"eddie1\",\"ellie\",\"entropy\",\"kkkkkkkk\",\"kkkkkkk\",\"illinois\",\"jacobs\",\"1945\",\"1951\",\"24680\",\"21212121\",\"100000\",\"stonecold\",\"taco\",\"subzero\",\"sharp\",\"sexxxy\",\"skolko\",\"shanna\",\"skyhawk\",\"spurs1\",\"sputnik\",\"piazza\",\"testpass\",\"letter\",\"lane\",\"kurt\",\"jiggaman\",\"matilda\",\"1224\",\"harvard\",\"hannah1\",\"525252\",\"4ever\",\"carbon\",\"chef\",\"federico\",\"ghosts\",\"gina\",\"scorpio1\",\"rt6ytere\",\"madison1\",\"loki\",\"raquel\",\"promise\",\"coolness\",\"christina\",\"coldbeer\",\"citadel\",\"brittney\",\"highway\",\"evil\",\"monarch\",\"morgan1\",\"washingt\",\"1997\",\"bella1\",\"berry\",\"yaya\",\"yolanda\",\"superb\",\"taxman\",\"studman\",\"stephanie\",\"3636\",\"sherri\",\"sheriff\",\"shepherd\",\"poland\",\"pizzas\",\"tiffany1\",\"toilet\",\"latina\",\"lassie\",\"larry1\",\"joseph1\",\"mephisto\",\"meagan\",\"marian\",\"reptile\",\"rico\",\"razor\",\"1013\",\"barron\",\"hammer1\",\"gypsy\",\"grande\",\"carroll\",\"camper\",\"chippy\",\"cat123\",\"call\",\"chimera\",\"fiesta\",\"glock\",\"glenn\",\"domain\",\"dieter\",\"dragonba\",\"onetwo\",\"nygiants\",\"odessa\",\"password2\",\"louie\",\"quartz\",\"prowler\",\"prophet\",\"towers\",\"ultra\",\"cocker\",\"corleone\",\"dakota1\",\"cumm\",\"nnnnnnn\",\"natalia\",\"boxers\",\"hugo\",\"heynow\",\"hollow\",\"iceberg\",\"elvira\",\"kittykat\",\"kate\",\"kitchen\",\"wasabi\",\"vikings1\",\"impact\",\"beerman\",\"string\",\"sleep\",\"splinter\",\"snoopy1\",\"pipeline\",\"pocket\",\"legs\",\"maple\",\"mickey1\",\"manuela\",\"mermaid\",\"micro\",\"meowmeow\",\"redbird\",\"alisha\",\"baura\",\"battery\",\"grass\",\"chevys\",\"chestnut\",\"caravan\",\"carina\",\"charmed\",\"fraser\",\"frogman\",\"diving\",\"dogger\",\"draven\",\"drifter\",\"oatmeal\",\"paris1\",\"longdong\",\"quant4307s\",\"rachel1\",\"vegitta\",\"cole\",\"cobras\",\"corsair\",\"dadada\",\"noelle\",\"mylife\",\"nine\",\"bowwow\",\"body\",\"hotrats\",\"eastwood\",\"moonligh\",\"modena\",\"wave\",\"illusion\",\"iiiiiii\",\"jayhawks\",\"birgit\",\"zone\",\"sutton\",\"susana\",\"swingers\",\"shocker\",\"shrimp\",\"sexgod\",\"squall\",\"stefanie\",\"squeeze\",\"soul\",\"patrice\",\"poiu\",\"players\",\"tigers1\",\"toejam\",\"tickler\",\"line\",\"julie1\",\"jimbo1\",\"jefferso\",\"juanita\",\"michael2\",\"rodeo\",\"robot\",\"1023\",\"annie1\",\"bball\",\"guess\",\"happy2\",\"charter\",\"farm\",\"flasher\",\"falcon1\",\"fiction\",\"fastball\",\"gadget\",\"scrabble\",\"diaper\",\"dirtbike\",\"dinner\",\"oliver1\",\"partner\",\"paco\",\"lucille\",\"macman\",\"poopy\",\"popper\",\"postman\",\"ttttttt\",\"ursula\",\"acura\",\"cowboy1\",\"conan\",\"daewoo\",\"cyrus\",\"customer\",\"nation\",\"nemrac58\",\"nnnnn\",\"nextel\",\"bolton\",\"bobdylan\",\"hopeless\",\"eureka\",\"extra\",\"kimmie\",\"kcj9wx5n\",\"killbill\",\"musica\",\"volkswag\",\"wage\",\"windmill\",\"wert\",\"vintage\",\"iloveyou1\",\"itsme\",\"bessie\",\"zippo\",\"311311\",\"starligh\",\"smokey1\",\"spot\",\"snappy\",\"soulmate\",\"plasma\",\"thelma\",\"tonight\",\"krusty\",\"just4me\",\"mcdonald\",\"marius\",\"rochelle\",\"rebel1\",\"1123\",\"alfredo\",\"aubrey\",\"audi\",\"chantal\",\"fick\",\"goaway\",\"roses\",\"sales\",\"rusty2\",\"dirt\",\"dogbone\",\"doofus\",\"ooooooo\",\"oblivion\",\"mankind\",\"luck\",\"mahler\",\"lllllll\",\"pumper\",\"puck\",\"pulsar\",\"valkyrie\",\"tupac\",\"compass\",\"concorde\",\"costello\",\"cougars\",\"delaware\",\"niceguy\",\"nocturne\",\"bob123\",\"boating\",\"bronze\",\"hopkins\",\"herewego\",\"hewlett\",\"houhou\",\"hubert\",\"earnhard\",\"eeeeeeee\",\"keller\",\"mingus\",\"mobydick\",\"venture\",\"verizon\",\"imation\",\"1950\",\"1948\",\"1949\",\"223344\",\"bigbig\",\"blossom\",\"zack\",\"wowwow\",\"sissy\",\"skinner\",\"spiker\",\"square\",\"snooker\",\"sluggo\",\"player1\",\"junk\",\"jeannie\",\"jsbach\",\"jumbo\",\"jewel\",\"medic\",\"robins\",\"reddevil\",\"reckless\",\"123456a\",\"1125\",\"1031\",\"beacon\",\"astra\",\"gumby\",\"hammond\",\"hassan\",\"757575\",\"585858\",\"chillin\",\"fuck1\",\"sander\",\"lowell\",\"radiohea\",\"upyours\",\"trek\",\"courage\",\"coolcool\",\"classics\",\"choochoo\",\"darryl\",\"nikki1\",\"nitro\",\"bugs\",\"boytoy\",\"ellen\",\"excite\",\"kirsty\",\"kane\",\"wingnut\",\"wireless\",\"icu812\",\"1master\",\"beatle\",\"bigblock\",\"blanca\",\"wolfen\",\"summer99\",\"sugar1\",\"tartar\",\"sexysexy\",\"senna\",\"sexman\",\"sick\",\"someone\",\"soprano\",\"pippin\",\"platypus\",\"pixies\",\"telephon\",\"land\",\"laura1\",\"laurent\",\"rimmer\",\"road\",\"report\",\"1020\",\"12qwaszx\",\"arturo\",\"around\",\"hamish\",\"halifax\",\"fishhead\",\"forum\",\"dododo\",\"doit\",\"outside\",\"paramedi\",\"lonesome\",\"mandy1\",\"twist\",\"uuuuu\",\"uranus\",\"ttttt\",\"butcher\",\"bruce1\",\"helper\",\"hopeful\",\"eduard\",\"dusty1\",\"kathy1\",\"katherin\",\"moonbeam\",\"muscles\",\"monster1\",\"monkeybo\",\"morton\",\"windsurf\",\"vvvvvvv\",\"vivid\",\"install\",\"1947\",\"187187\",\"1941\",\"1952\",\"tatiana\",\"susan1\",\"31415926\",\"sinned\",\"sexxy\",\"senator\",\"sebastian\",\"shadows\",\"smoothie\",\"snowflak\",\"playstat\",\"playa\",\"playboy1\",\"toaster\",\"jerry1\",\"marie1\",\"mason1\",\"merlin1\",\"roger1\",\"roadster\",\"112358\",\"1121\",\"andrea1\",\"bacardi\",\"auto\",\"hardware\",\"hardy\",\"789789\",\"5555555\",\"captain1\",\"flores\",\"fergus\",\"sascha\",\"rrrrrrr\",\"dome\",\"onion\",\"nutter\",\"lololo\",\"qqqqqqq\",\"quick\",\"undertak\",\"uuuuuuuu\",\"uuuuuuu\",\"criminal\",\"cobain\",\"cindy1\",\"coors\",\"dani\",\"descent\",\"nimbus\",\"nomad\",\"nanook\",\"norwich\",\"bomb\",\"bombay\",\"broker\",\"hookup\",\"kiwi\",\"winners\",\"jackpot\",\"1a2b3c4d\",\"1776\",\"beardog\",\"bighead\",\"blast\",\"bird33\",\"0987\",\"stress\",\"shot\",\"spooge\",\"pelican\",\"peepee\",\"perry\",\"pointer\",\"titan\",\"thedoors\",\"jeremy1\",\"annabell\",\"altima\",\"baba\",\"hallie\",\"hate\",\"hardone\",\"5454\",\"candace\",\"catwoman\",\"flip\",\"faithful\",\"finance\",\"farmboy\",\"farscape\",\"genesis1\",\"salomon\",\"destroy\",\"papers\",\"option\",\"page\",\"loser1\",\"lopez\",\"r2d2\",\"pumpkins\",\"training\",\"chriss\",\"cumcum\",\"ninjas\",\"ninja1\",\"hung\",\"erika\",\"eduardo\",\"killers\",\"miller1\",\"islander\",\"jamesbond\",\"intel\",\"jarvis\",\"19841984\",\"2626\",\"bizzare\",\"blue12\",\"biker\",\"yoyoma\",\"sushi\",\"styles\",\"shitface\",\"series\",\"shanti\",\"spanker\",\"steffi\",\"smart\",\"sphinx\",\"please1\",\"paulie\",\"pistons\",\"tiburon\",\"limited\",\"maxwell1\",\"mdogg\",\"rockies\",\"armstron\",\"alexia\",\"arlene\",\"alejandr\",\"arctic\",\"banger\",\"audio\",\"asimov\",\"augustus\",\"grandpa\",\"753951\",\"4you\",\"chilly\",\"care1839\",\"chapman\",\"flyfish\",\"fantasia\",\"freefall\",\"santa\",\"sandrine\",\"oreo\",\"ohshit\",\"macbeth\",\"madcat\",\"loveya\",\"mallory\",\"rage\",\"quentin\",\"qwerqwer\",\"project\",\"ramirez\",\"colnago\",\"citizen\",\"chocha\",\"cobalt\",\"crystal1\",\"dabears\",\"nevets\",\"nineinch\",\"broncos1\",\"helene\",\"huge\",\"edgar\",\"epsilon\",\"easter\",\"kestrel\",\"moron\",\"virgil\",\"winston1\",\"warrior1\",\"iiiiiiii\",\"iloveyou2\",\"1616\",\"beat\",\"bettina\",\"woowoo\",\"zander\",\"straight\",\"shower\",\"sloppy\",\"specialk\",\"tinkerbe\",\"jellybea\",\"reader\",\"romero\",\"redsox1\",\"ride\",\"1215\",\"1112\",\"annika\",\"arcadia\",\"answer\",\"baggio\",\"base\",\"guido\",\"555666\",\"carmel\",\"cayman\",\"cbr900rr\",\"chips\",\"gabriell\",\"gertrude\",\"glennwei\",\"roxy\",\"sausages\",\"disco\",\"pass1\",\"luna\",\"lovebug\",\"macmac\",\"queenie\",\"puffin\",\"vanguard\",\"trip\",\"trinitro\",\"airwolf\",\"abbott\",\"aaa111\",\"cocaine\",\"cisco\",\"cottage\",\"dayton\",\"deadly\",\"datsun\",\"bricks\",\"bumper\",\"eldorado\",\"kidrock\",\"wizard1\",\"whiskers\",\"wind\",\"wildwood\",\"istheman\",\"interest\",\"italy\",\"25802580\",\"benoit\",\"bigones\",\"woodland\",\"wolfpac\",\"strawber\",\"suicide\",\"3030\",\"sheba1\",\"sixpack\",\"peace1\",\"physics\",\"pearson\",\"tigger2\",\"toad\",\"megan1\",\"meow\",\"ringo\",\"roll\",\"amsterdam\",\"717171\",\"686868\",\"5424\",\"catherine\",\"canuck\",\"football1\",\"footjob\",\"fulham\",\"seagull\",\"orgy\",\"lobo\",\"mancity\",\"truth\",\"trace\",\"vancouve\",\"vauxhall\",\"acidburn\",\"derf\",\"myspace1\",\"boozer\",\"buttercu\",\"howell\",\"hola\",\"easton\",\"minemine\",\"munch\",\"jared\",\"1dragon\",\"biology\",\"bestbuy\",\"bigpoppa\",\"blackout\",\"blowfish\",\"bmw325\",\"bigbob\",\"stream\",\"talisman\",\"tazz\",\"sundevil\",\"3333333\",\"skate\",\"shutup\",\"shanghai\",\"shop\",\"spencer1\",\"slowhand\",\"polish\",\"pinky1\",\"tootie\",\"thecrow\",\"leroy\",\"jonathon\",\"jubilee\",\"jingle\",\"martine\",\"matrix1\",\"manowar\",\"michaels\",\"messiah\",\"mclaren\",\"resident\",\"reilly\",\"redbaron\",\"rollins\",\"romans\",\"return\",\"rivera\",\"andromed\",\"athlon\",\"beach1\",\"badgers\",\"guitars\",\"harald\",\"harddick\",\"gotribe\",\"6996\",\"7grout\",\"5wr2i7h8\",\"635241\",\"chase1\",\"carver\",\"charlotte\",\"fallout\",\"fiddle\",\"fredrick\",\"fenris\",\"francesc\",\"fortuna\",\"ferguson\",\"fairlane\",\"felipe\",\"felix1\",\"forward\",\"gasman\",\"frost\",\"fucks\",\"sahara\",\"sassy1\",\"dogpound\",\"dogbert\",\"divx1\",\"manila\",\"loretta\",\"priest\",\"pornporn\",\"quasar\",\"venom\",\"987987\",\"access1\",\"clippers\",\"daylight\",\"decker\",\"daman\",\"data\",\"dentist\",\"crusty\",\"nathan1\",\"nnnnnnnn\",\"bruno1\",\"bucks\",\"brodie\",\"budapest\",\"kittens\",\"kerouac\",\"mother1\",\"waldo1\",\"wedding\",\"whistler\",\"whatwhat\",\"wanderer\",\"idontkno\",\"1942\",\"1946\",\"bigdawg\",\"bigpimp\",\"zaqwsx\",\"414141\",\"3000gt\",\"434343\",\"shoes\",\"serpent\",\"starr\",\"smurf\",\"pasword\",\"tommie\",\"thisisit\",\"lake\",\"john1\",\"robotics\",\"redeye\",\"rebelz\",\"1011\",\"alatam\",\"asses\",\"asians\",\"bama\",\"banzai\",\"harvest\",\"gonzalez\",\"hair\",\"hanson\",\"575757\",\"5329\",\"cascade\",\"chinese\",\"fatty\",\"fender1\",\"flower2\",\"funky\",\"sambo\",\"drummer1\",\"dogcat\",\"dottie\",\"oedipus\",\"osama\",\"macleod\",\"prozac\",\"private1\",\"rampage\",\"punch\",\"presley\",\"concord\",\"cook\",\"cinema\",\"cornwall\",\"cleaner\",\"christopher\",\"ciccio\",\"corinne\",\"clutch\",\"corvet07\",\"daemon\",\"bruiser\",\"boiler\",\"hjkl\",\"eyes\",\"egghead\",\"expert\",\"ethan\",\"kasper\",\"mordor\",\"wasted\",\"jamess\",\"iverson3\",\"bluesman\",\"zouzou\",\"090909\",\"1002\",\"switch\",\"stone1\",\"4040\",\"sisters\",\"sexo\",\"shawna\",\"smith1\",\"sperma\",\"sneaky\",\"polska\",\"thewho\",\"terminat\",\"krypton\",\"lawson\",\"library\",\"lekker\",\"jules\",\"johnson1\",\"johann\",\"justus\",\"rockie\",\"romano\",\"aspire\",\"bastards\",\"goodie\",\"cheese1\",\"fenway\",\"fishon\",\"fishin\",\"fuckoff1\",\"girls1\",\"sawyer\",\"dolores\",\"desmond\",\"duane\",\"doomsday\",\"pornking\",\"ramones\",\"rabbits\",\"transit\",\"aaaaa1\",\"clock\",\"delilah\",\"noel\",\"boyz\",\"bookworm\",\"bongo\",\"bunnies\",\"brady\",\"buceta\",\"highbury\",\"henry1\",\"heels\",\"eastern\",\"krissy\",\"mischief\",\"mopar\",\"ministry\",\"vienna\",\"weston\",\"wildone\",\"vodka\",\"jayson\",\"bigbooty\",\"beavis1\",\"betsy\",\"xxxxxx1\",\"yogibear\",\"000001\",\"0815\",\"zulu\",\"420000\",\"september\",\"sigmar\",\"sprout\",\"stalin\",\"peggy\",\"patch\",\"lkjhgfds\",\"lagnaf\",\"rolex\",\"redfox\",\"referee\",\"123123123\",\"1231\",\"angus1\",\"ariana\",\"ballin\",\"attila\",\"hall\",\"greedy\",\"grunt\",\"747474\",\"carpedie\",\"cecile\",\"caramel\",\"foxylady\",\"field\",\"gatorade\",\"gidget\",\"futbol\",\"frosch\",\"saiyan\",\"schmidt\",\"drums\",\"donner\",\"doggy1\",\"drum\",\"doudou\",\"pack\",\"pain\",\"nutmeg\",\"quebec\",\"valdepen\",\"trash\",\"triple\",\"tosser\",\"tuscl\",\"track\",\"comfort\",\"choke\",\"comein\",\"cola\",\"deputy\",\"deadpool\",\"bremen\",\"borders\",\"bronson\",\"break\",\"hotass\",\"hotmail1\",\"eskimo\",\"eggman\",\"koko\",\"kieran\",\"katrin\",\"kordell1\",\"komodo\",\"mone\",\"munich\",\"vvvvvvvv\",\"winger\",\"jaeger\",\"ivan\",\"jackson5\",\"2222222\",\"bergkamp\",\"bennie\",\"bigben\",\"zanzibar\",\"worm\",\"xxx123\",\"sunny1\",\"373737\",\"services\",\"sheridan\",\"slater\",\"slayer1\",\"snoop\",\"stacie\",\"peachy\",\"thecure\",\"times\",\"little1\",\"jennaj\",\"marquis\",\"middle\",\"rasta69\",\"1114\",\"aries\",\"havana\",\"gratis\",\"calgary\",\"checkers\",\"flanker\",\"salope\",\"dirty1\",\"draco\",\"dogface\",\"luv2epus\",\"rainbow6\",\"qwerty123\",\"umpire\",\"turnip\",\"vbnm\",\"tucson\",\"troll\",\"aileen\",\"codered\",\"commande\",\"damon\",\"nana\",\"neon\",\"nico\",\"nightwin\",\"neil\",\"boomer1\",\"bushido\",\"hotmail0\",\"horace\",\"enternow\",\"kaitlyn\",\"keepout\",\"karen1\",\"mindy\",\"mnbv\",\"viewsoni\",\"volcom\",\"wizards\",\"wine\",\"1995\",\"berkeley\",\"bite\",\"zach\",\"woodstoc\",\"tarpon\",\"shinobi\",\"starstar\",\"phat\",\"patience\",\"patrol\",\"toolbox\",\"julien\",\"johnny1\",\"joebob\",\"marble\",\"riders\",\"reflex\",\"120676\",\"1235\",\"angelus\",\"anthrax\",\"atlas\",\"hawks\",\"grandam\",\"harlem\",\"hawaii50\",\"gorgeous\",\"655321\",\"cabron\",\"challeng\",\"callisto\",\"firewall\",\"firefire\",\"fischer\",\"flyer\",\"flower1\",\"factory\",\"federal\",\"gambler\",\"frodo1\",\"funk\",\"sand\",\"sam123\",\"scania\",\"dingo\",\"papito\",\"passmast\",\"olive\",\"palermo\",\"ou8123\",\"lock\",\"ranch\",\"pride\",\"randy1\",\"twiggy\",\"travis1\",\"transfer\",\"treetop\",\"addict\",\"admin1\",\"963852\",\"aceace\",\"clarissa\",\"cliff\",\"cirrus\",\"clifton\",\"colin\",\"bobdole\",\"bonner\",\"bogus\",\"bonjovi\",\"bootsy\",\"boater\",\"elway7\",\"edison\",\"kelvin\",\"kenny1\",\"moonshin\",\"montag\",\"moreno\",\"wayne1\",\"white1\",\"jazzy\",\"jakejake\",\"1994\",\"1991\",\"2828\",\"blunt\",\"bluejays\",\"beau\",\"belmont\",\"worthy\",\"systems\",\"sensei\",\"southpark\",\"stan\",\"peeper\",\"pharao\",\"pigpen\",\"tomahawk\",\"teensex\",\"leedsutd\",\"larkin\",\"jermaine\",\"jeepster\",\"jimjim\",\"josephin\",\"melons\",\"marlon\",\"matthias\",\"marriage\",\"robocop\",\"1003\",\"1027\",\"antelope\",\"azsxdc\",\"gordo\",\"hazard\",\"granada\",\"8989\",\"7894\",\"ceasar\",\"cabernet\",\"cheshire\",\"california\",\"chelle\",\"candy1\",\"fergie\",\"fanny\",\"fidelio\",\"giorgio\",\"fuckhead\",\"ruth\",\"sanford\",\"diego\",\"dominion\",\"devon\",\"panic\",\"longer\",\"mackie\",\"qawsed\",\"trucking\",\"twelve\",\"chloe1\",\"coral\",\"daddyo\",\"nostromo\",\"boyboy\",\"booster\",\"bucky\",\"honolulu\",\"esquire\",\"dynamite\",\"motor\",\"mollydog\",\"wilder\",\"windows1\",\"waffle\",\"wallet\",\"warning\",\"virus\",\"washburn\",\"wealth\",\"vincent1\",\"jabber\",\"jaguars\",\"javelin\",\"irishman\",\"idefix\",\"bigdog1\",\"blue42\",\"blanked\",\"blue32\",\"biteme1\",\"bearcats\",\"blaine\",\"yessir\",\"sylveste\",\"team\",\"stephan\",\"sunfire\",\"tbird\",\"stryker\",\"3ip76k2\",\"sevens\",\"sheldon\",\"pilgrim\",\"tenchi\",\"titman\",\"leeds\",\"lithium\",\"lander\",\"linkin\",\"landon\",\"marijuan\",\"mariner\",\"markie\",\"midnite\",\"reddwarf\",\"1129\",\"123asd\",\"12312312\",\"allstar\",\"albany\",\"asdf12\",\"antonia\",\"aspen\",\"hardball\",\"goldfing\",\"7734\",\"49ers\",\"carlo\",\"chambers\",\"cable\",\"carnage\",\"callum\",\"carlos1\",\"fitter\",\"fandango\",\"festival\",\"flame\",\"gofast\",\"gamma\",\"fucmy69\",\"scrapper\",\"dogwood\",\"django\",\"magneto\",\"loose\",\"premium\",\"addison\",\"9999999\",\"abc1234\",\"cromwell\",\"newyear\",\"nichole\",\"bookie\",\"burns\",\"bounty\",\"brown1\",\"bologna\",\"earl\",\"entrance\",\"elway\",\"killjoy\",\"kerry\",\"keenan\",\"kick\",\"klondike\",\"mini\",\"mouser\",\"mohammed\",\"wayer\",\"impreza\",\"irene\",\"insomnia\",\"24682468\",\"2580\",\"24242424\",\"billbill\",\"bellaco\",\"blessing\",\"blues1\",\"bedford\",\"blanco\",\"blunts\",\"stinks\",\"teaser\",\"streets\",\"sf49ers\",\"shovel\",\"solitude\",\"spikey\",\"sonia\",\"pimpdadd\",\"timeout\",\"toffee\",\"lefty\",\"johndoe\",\"johndeer\",\"mega\",\"manolo\",\"mentor\",\"margie\",\"ratman\",\"ridge\",\"record\",\"rhodes\",\"robin1\",\"1124\",\"1210\",\"1028\",\"1226\",\"another\",\"babylove\",\"barbados\",\"harbor\",\"gramma\",\"646464\",\"carpente\",\"chaos1\",\"fishbone\",\"fireblad\",\"glasgow\",\"frogs\",\"scissors\",\"screamer\",\"salem\",\"scuba1\",\"ducks\",\"driven\",\"doggies\",\"dicky\",\"donovan\",\"obsidian\",\"rams\",\"progress\",\"tottenham\",\"aikman\",\"comanche\",\"corolla\",\"clarke\",\"conway\",\"cumslut\",\"cyborg\",\"dancing\",\"boston1\",\"bong\",\"houdini\",\"helmut\",\"elvisp\",\"edge\",\"keksa12\",\"misha\",\"monty1\",\"monsters\",\"wetter\",\"watford\",\"wiseguy\",\"veronika\",\"visitor\",\"janelle\",\"1989\",\"1987\",\"20202020\",\"biatch\",\"beezer\",\"bigguns\",\"blueball\",\"bitchy\",\"wyoming\",\"yankees2\",\"wrestler\",\"stupid1\",\"sealteam\",\"sidekick\",\"simple1\",\"smackdow\",\"sporting\",\"spiral\",\"smeller\",\"sperm\",\"plato\",\"tophat\",\"test2\",\"theatre\",\"thick\",\"toomuch\",\"leigh\",\"jello\",\"jewish\",\"junkie\",\"maxim\",\"maxime\",\"meadow\",\"remingto\",\"roofer\",\"124038\",\"1018\",\"1269\",\"1227\",\"123457\",\"arkansas\",\"alberta\",\"aramis\",\"andersen\",\"beaker\",\"barcelona\",\"baltimor\",\"googoo\",\"goochi\",\"852456\",\"4711\",\"catcher\",\"carman\",\"champ1\",\"chess\",\"fortress\",\"fishfish\",\"firefigh\",\"geezer\",\"rsalinas\",\"samuel1\",\"saigon\",\"scooby1\",\"doors\",\"dick1\",\"devin\",\"doom\",\"dirk\",\"doris\",\"dontknow\",\"load\",\"magpies\",\"manfred\",\"raleigh\",\"vader1\",\"universa\",\"tulips\",\"defense\",\"mygirl\",\"burn\",\"bowtie\",\"bowman\",\"holycow\",\"heinrich\",\"honeys\",\"enforcer\",\"katherine\",\"minerva\",\"wheeler\",\"witch\",\"waterboy\",\"jaime\",\"irving\",\"1992\",\"23skidoo\",\"bimbo\",\"blue11\",\"birddog\",\"woodman\",\"womble\",\"zildjian\",\"030303\",\"stinker\",\"stoppedby\",\"sexybabe\",\"speakers\",\"slugger\",\"spotty\",\"smoke1\",\"polopolo\",\"perfect1\",\"things\",\"torpedo\",\"tender\",\"thrasher\",\"lakeside\",\"lilith\",\"jimmys\",\"jerk\",\"junior1\",\"marsh\",\"masamune\",\"rice\",\"root\",\"1214\",\"april1\",\"allgood\",\"bambi\",\"grinch\",\"767676\",\"5252\",\"cherries\",\"chipmunk\",\"cezer121\",\"carnival\",\"capecod\",\"finder\",\"flint\",\"fearless\",\"goats\",\"funstuff\",\"gideon\",\"savior\",\"seabee\",\"sandro\",\"schalke\",\"salasana\",\"disney1\",\"duckman\",\"options\",\"pancake\",\"pantera1\",\"malice\",\"lookin\",\"love123\",\"lloyd\",\"qwert123\",\"puppet\",\"prayers\",\"union\",\"tracer\",\"crap\",\"creation\",\"cwoui\",\"nascar24\",\"hookers\",\"hollie\",\"hewitt\",\"estrella\",\"erection\",\"ernesto\",\"ericsson\",\"edthom\",\"kaylee\",\"kokoko\",\"kokomo\",\"kimball\",\"morales\",\"mooses\",\"monk\",\"walton\",\"weekend\",\"inter\",\"internal\",\"1michael\",\"1993\",\"19781978\",\"25252525\",\"worker\",\"summers\",\"surgery\",\"shibby\",\"shamus\",\"skibum\",\"sheepdog\",\"sex69\",\"spliff\",\"slipper\",\"spoons\",\"spanner\",\"snowbird\",\"slow\",\"toriamos\",\"temp123\",\"tennesse\",\"lakers1\",\"jomama\",\"julio\",\"mazdarx7\",\"rosario\",\"recon\",\"riddle\",\"room\",\"revolver\",\"1025\",\"1101\",\"barney1\",\"babycake\",\"baylor\",\"gotham\",\"gravity\",\"hallowee\",\"hancock\",\"616161\",\"515000\",\"caca\",\"cannabis\",\"castor\",\"chilli\",\"fdsa\",\"getout\",\"fuck69\",\"gators1\",\"sail\",\"sable\",\"rumble\",\"dolemite\",\"dork\",\"dickens\",\"duffer\",\"dodgers1\",\"painting\",\"onions\",\"logger\",\"lorena\",\"lookout\",\"magic32\",\"port\",\"poon\",\"prime\",\"twat\",\"coventry\",\"citroen\",\"christmas\",\"civicsi\",\"cocksucker\",\"coochie\",\"compaq1\",\"nancy1\",\"buzzer\",\"boulder\",\"butkus\",\"bungle\",\"hogtied\",\"honor\",\"hero\",\"hotgirls\",\"hilary\",\"heidi1\",\"eggplant\",\"mustang6\",\"mortal\",\"monkey12\",\"wapapapa\",\"wendy1\",\"volleyba\",\"vibrate\",\"vicky\",\"bledsoe\",\"blink\",\"birthday4\",\"woof\",\"xxxxx1\",\"talk\",\"stephen1\",\"suburban\",\"stock\",\"tabatha\",\"sheeba\",\"start1\",\"soccer10\",\"something\",\"starcraft\",\"soccer12\",\"peanut1\",\"plastics\",\"penthous\",\"peterbil\",\"tools\",\"tetsuo\",\"torino\",\"tennis1\",\"termite\",\"ladder\",\"last\",\"lemmein\",\"lakewood\",\"jughead\",\"melrose\",\"megane\",\"reginald\",\"redone\",\"request\",\"angela1\",\"alive\",\"alissa\",\"goodgirl\",\"gonzo1\",\"golden1\",\"gotyoass\",\"656565\",\"626262\",\"capricor\",\"chains\",\"calvin1\",\"foolish\",\"fallon\",\"getmoney\",\"godfather\",\"gabber\",\"gilligan\",\"runaway\",\"salami\",\"dummy\",\"dungeon\",\"dudedude\",\"dumb\",\"dope\",\"opus\",\"paragon\",\"oxygen\",\"panhead\",\"pasadena\",\"opendoor\",\"odyssey\",\"magellan\",\"lottie\",\"printing\",\"pressure\",\"prince1\",\"trustme\",\"christa\",\"court\",\"davies\",\"neville\",\"nono\",\"bread\",\"buffet\",\"hound\",\"kajak\",\"killkill\",\"mona\",\"moto\",\"mildred\",\"winner1\",\"vixen\",\"whiteboy\",\"versace\",\"winona\",\"voyager1\",\"instant\",\"indy\",\"jackjack\",\"bigal\",\"beech\",\"biggun\",\"blake1\",\"blue99\",\"big1\",\"woods\",\"synergy\",\"success1\",\"336699\",\"sixty9\",\"shark1\",\"skin\",\"simba1\",\"sharpe\",\"sebring\",\"spongebo\",\"spunk\",\"springs\",\"sliver\",\"phialpha\",\"password9\",\"pizza1\",\"plane\",\"perkins\",\"pookey\",\"tickling\",\"lexingky\",\"lawman\",\"joe123\",\"jolly\",\"mike123\",\"romeo1\",\"redheads\",\"reserve\",\"apple123\",\"alanis\",\"ariane\",\"antony\",\"backbone\",\"aviation\",\"band\",\"hand\",\"green123\",\"haley\",\"carlitos\",\"byebye\",\"cartman1\",\"camden\",\"chewy\",\"camaross\",\"favorite6\",\"forumwp\",\"franks\",\"ginscoot\",\"fruity\",\"sabrina1\",\"devil666\",\"doughnut\",\"pantie\",\"oldone\",\"paintball\",\"lumina\",\"rainbow1\",\"prosper\",\"total\",\"true\",\"umbrella\",\"ajax\",\"951753\",\"achtung\",\"abc12345\",\"compact\",\"color\",\"corn\",\"complete\",\"christi\",\"closer\",\"corndog\",\"deerhunt\",\"darklord\",\"dank\",\"nimitz\",\"brandy1\",\"bowl\",\"breanna\",\"holidays\",\"hetfield\",\"holein1\",\"hillbill\",\"hugetits\",\"east\",\"evolutio\",\"kenobi\",\"whiplash\",\"waldo\",\"wg8e3wjf\",\"wing\",\"istanbul\",\"invis\",\"1996\",\"benton\",\"bigjohn\",\"bluebell\",\"beef\",\"beater\",\"benji\",\"bluejay\",\"xyzzy\",\"wrestling\",\"storage\",\"superior\",\"suckdick\",\"taichi\",\"stellar\",\"stephane\",\"shaker\",\"skirt\",\"seymour\",\"semper\",\"splurge\",\"squeak\",\"pearls\",\"playball\",\"pitch\",\"phyllis\",\"pooky\",\"piss\",\"tomas\",\"titfuck\",\"joemama\",\"johnny5\",\"marcello\",\"marjorie\",\"married\",\"maxi\",\"rhubarb\",\"rockwell\",\"ratboy\",\"reload\",\"rooney\",\"redd\",\"1029\",\"1030\",\"1220\",\"anchor\",\"bbking\",\"baritone\",\"gryphon\",\"gone\",\"57chevy\",\"494949\",\"celeron\",\"fishy\",\"gladiator\",\"fucker1\",\"roswell\",\"dougie\",\"downer\",\"dicker\",\"diva\",\"domingo\",\"donjuan\",\"nympho\",\"omar\",\"praise\",\"racers\",\"trick\",\"trauma\",\"truck1\",\"trample\",\"acer\",\"corwin\",\"cricket1\",\"clemente\",\"climax\",\"denmark\",\"cuervo\",\"notnow\",\"nittany\",\"neutron\",\"native\",\"bosco1\",\"buffa\",\"breaker\",\"hello2\",\"hydro\",\"estelle\",\"exchange\",\"explore\",\"kisskiss\",\"kittys\",\"kristian\",\"montecar\",\"modem\",\"mississi\",\"mooney\",\"weiner\",\"washington\",\"20012001\",\"bigdick1\",\"bibi\",\"benfica\",\"yahoo1\",\"striper\",\"tabasco\",\"supra\",\"383838\",\"456654\",\"seneca\",\"serious\",\"shuttle\",\"socks\",\"stanton\",\"penguin1\",\"pathfind\",\"testibil\",\"thethe\",\"listen\",\"lightning\",\"lighting\",\"jeter2\",\"marma\",\"mark1\",\"metoo\",\"republic\",\"rollin\",\"redleg\",\"redbone\",\"redskin\",\"rocco\",\"1245\",\"armand\",\"anthony7\",\"altoids\",\"andrews\",\"barley\",\"away\",\"asswipe\",\"bauhaus\",\"bbbbbb1\",\"gohome\",\"harrier\",\"golfpro\",\"goldeney\",\"818181\",\"6666666\",\"5000\",\"5rxypn\",\"cameron1\",\"calling\",\"checker\",\"calibra\",\"fields\",\"freefree\",\"faith1\",\"fist\",\"fdm7ed\",\"finally\",\"giraffe\",\"glasses\",\"giggles\",\"fringe\",\"gate\",\"georgie\",\"scamper\",\"rrpass1\",\"screwyou\",\"duffy\",\"deville\",\"dimples\",\"pacino\",\"ontario\",\"passthie\",\"oberon\",\"quest1\",\"postov1000\",\"puppydog\",\"puffer\",\"raining\",\"protect\",\"qwerty7\",\"trey\",\"tribe\",\"ulysses\",\"tribal\",\"adam25\",\"a1234567\",\"compton\",\"collie\",\"cleopatr\",\"contract\",\"davide\",\"norris\",\"namaste\",\"myrtle\",\"buffalo1\",\"bonovox\",\"buckley\",\"bukkake\",\"burning\",\"burner\",\"bordeaux\",\"burly\",\"hun999\",\"emilie\",\"elmo\",\"enters\",\"enrique\",\"keisha\",\"mohawk\",\"willard\",\"vgirl\",\"whale\",\"vince\",\"jayden\",\"jarrett\",\"1812\",\"1943\",\"222333\",\"bigjim\",\"bigd\",\"zoom\",\"wordup\",\"ziggy1\",\"yahooo\",\"workout\",\"young1\",\"written\",\"xmas\",\"zzzzzz1\",\"surfer1\",\"strife\",\"sunlight\",\"tasha1\",\"skunk\",\"shauna\",\"seth\",\"soft\",\"sprinter\",\"peaches1\",\"planes\",\"pinetree\",\"plum\",\"pimping\",\"theforce\",\"thedon\",\"toocool\",\"leeann\",\"laddie\",\"list\",\"lkjh\",\"lara\",\"joke\",\"jupiter1\",\"mckenzie\",\"matty\",\"rene\",\"redrose\",\"1200\",\"102938\",\"annmarie\",\"alexa\",\"antares\",\"austin31\",\"ground\",\"goose1\",\"737373\",\"78945612\",\"789987\",\"6464\",\"calimero\",\"caster\",\"casper1\",\"cement\",\"chevrolet\",\"chessie\",\"caddy\",\"chill\",\"child\",\"canucks\",\"feeling\",\"favorite\",\"fellatio\",\"f00tball\",\"francine\",\"gateway2\",\"gigi\",\"gamecube\",\"giovanna\",\"rugby1\",\"scheisse\",\"dshade\",\"dudes\",\"dixie1\",\"owen\",\"offshore\",\"olympia\",\"lucas1\",\"macaroni\",\"manga\",\"pringles\",\"puff\",\"tribble\",\"trouble1\",\"ussy\",\"core\",\"clint\",\"coolhand\",\"colonial\",\"colt\",\"debra\",\"darthvad\",\"dealer\",\"cygnusx1\",\"natalie1\",\"newark\",\"husband\",\"hiking\",\"errors\",\"eighteen\",\"elcamino\",\"emmett\",\"emilia\",\"koolaid\",\"knight1\",\"murphy1\",\"volcano\",\"idunno\",\"2005\",\"2233\",\"block\",\"benito\",\"blueberr\",\"biguns\",\"yamahar1\",\"zapper\",\"zorro1\",\"0911\",\"3006\",\"sixsix\",\"shopper\",\"siobhan\",\"sextoy\",\"stafford\",\"snowboard\",\"speedway\",\"sounds\",\"pokey\",\"peabody\",\"playboy2\",\"titi\",\"think\",\"toast\",\"toonarmy\",\"lister\",\"lambda\",\"joecool\",\"jonas\",\"joyce\",\"juniper\",\"mercer\",\"max123\",\"manny\",\"massimo\",\"mariposa\",\"met2002\",\"reggae\",\"ricky1\",\"1236\",\"1228\",\"1016\",\"all4one\",\"arianna\",\"baberuth\",\"asgard\",\"gonzales\",\"484848\",\"5683\",\"6669\",\"catnip\",\"chiquita\",\"charisma\",\"capslock\",\"cashmone\",\"chat\",\"figure\",\"galant\",\"frenchy\",\"gizmodo1\",\"girlies\",\"gabby\",\"garner\",\"screwy\",\"doubled\",\"divers\",\"dte4uw\",\"done\",\"dragonfl\",\"maker\",\"locks\",\"rachelle\",\"treble\",\"twinkie\",\"trailer\",\"tropical\",\"acid\",\"crescent\",\"cooking\",\"cococo\",\"cory\",\"dabomb\",\"daffy\",\"dandfa\",\"cyrano\",\"nathanie\",\"briggs\",\"boners\",\"helium\",\"horton\",\"hoffman\",\"hellas\",\"espresso\",\"emperor\",\"killa\",\"kikimora\",\"wanda\",\"w4g8at\",\"verona\",\"ilikeit\",\"iforget\",\"1944\",\"20002000\",\"birthday1\",\"beatles1\",\"blue1\",\"bigdicks\",\"beethove\",\"blacklab\",\"blazers\",\"benny1\",\"woodwork\",\"0069\",\"0101\",\"taffy\",\"susie\",\"survivor\",\"swim\",\"stokes\",\"4567\",\"shodan\",\"spoiled\",\"steffen\",\"pissed\",\"pavlov\",\"pinnacle\",\"place\",\"petunia\",\"terrell\",\"thirty\",\"toni\",\"tito\",\"teenie\",\"lemonade\",\"lily\",\"lillie\",\"lalakers\",\"lebowski\",\"lalalala\",\"ladyboy\",\"jeeper\",\"joyjoy\",\"mercury1\",\"mantle\",\"mannn\",\"rocknrol\",\"riversid\",\"reeves\",\"123aaa\",\"11112222\",\"121314\",\"1021\",\"1004\",\"1120\",\"allen1\",\"ambers\",\"amstel\",\"ambrose\",\"alice1\",\"alleycat\",\"allegro\",\"ambrosia\",\"alley\",\"australia\",\"hatred\",\"gspot\",\"graves\",\"goodsex\",\"hattrick\",\"harpoon\",\"878787\",\"8inches\",\"4wwvte\",\"cassandr\",\"charlie123\",\"case\",\"chavez\",\"fighting\",\"gabriela\",\"gatsby\",\"fudge\",\"gerry\",\"generic\",\"gareth\",\"fuckme2\",\"samm\",\"sage\",\"seadog\",\"satchmo\",\"scxakv\",\"santafe\",\"dipper\",\"dingle\",\"dizzy\",\"outoutout\",\"madmad\",\"london1\",\"qbg26i\",\"pussy123\",\"randolph\",\"vaughn\",\"tzpvaw\",\"vamp\",\"comedy\",\"comp\",\"cowgirl\",\"coldplay\",\"dawgs\",\"delaney\",\"nt5d27\",\"novifarm\",\"needles\",\"notredam\",\"newness\",\"mykids\",\"bryan1\",\"bouncer\",\"hihihi\",\"honeybee\",\"iceman1\",\"herring\",\"horn\",\"hook\",\"hotlips\",\"dynamo\",\"klaus\",\"kittie\",\"kappa\",\"kahlua\",\"muffy\",\"mizzou\",\"mohamed\",\"musical\",\"wannabe\",\"wednesda\",\"whatup\",\"weller\",\"waterfal\",\"willy1\",\"invest\",\"blanche\",\"bear1\",\"billabon\",\"youknow\",\"zelda\",\"yyyyyy1\",\"zachary1\",\"01234567\",\"070462\",\"zurich\",\"superstar\",\"storms\",\"tail\",\"stiletto\",\"strat\",\"427900\",\"sigmachi\",\"shelter\",\"shells\",\"sexy123\",\"smile1\",\"sophie1\",\"stefano\",\"stayout\",\"somerset\",\"smithers\",\"playmate\",\"pinkfloyd\",\"phish1\",\"payday\",\"thebear\",\"telefon\",\"laetitia\",\"kswbdu\",\"larson\",\"jetta\",\"jerky\",\"melina\",\"metro\",\"revoluti\",\"retire\",\"respect\",\"1216\",\"1201\",\"1204\",\"1222\",\"1115\",\"archange\",\"barry1\",\"handball\",\"676767\",\"chandra\",\"chewbacc\",\"flesh\",\"furball\",\"gocubs\",\"fruit\",\"fullback\",\"gman\",\"gentle\",\"dunbar\",\"dewalt\",\"dominiqu\",\"diver1\",\"dhip6a\",\"olemiss\",\"ollie\",\"mandrake\",\"mangos\",\"pretzel\",\"pusssy\",\"tripleh\",\"valdez\",\"vagabond\",\"clean\",\"comment\",\"crew\",\"clovis\",\"deaths\",\"dandan\",\"csfbr5yy\",\"deadspin\",\"darrel\",\"ninguna\",\"noah\",\"ncc74656\",\"bootsie\",\"bp2002\",\"bourbon\",\"brennan\",\"bumble\",\"books\",\"hose\",\"heyyou\",\"houston1\",\"hemlock\",\"hippo\",\"hornets\",\"hurricane\",\"horseman\",\"hogan\",\"excess\",\"extensa\",\"muffin1\",\"virginie\",\"werdna\",\"idontknow\",\"info\",\"iron\",\"jack1\",\"1bitch\",\"151nxjmt\",\"bendover\",\"bmwbmw\",\"bills\",\"zaq123\",\"wxcvbn\",\"surprise\",\"supernov\",\"tahoe\",\"talbot\",\"simona\",\"shakur\",\"sexyone\",\"seviyi\",\"sonja\",\"smart1\",\"speed1\",\"pepito\",\"phantom1\",\"playoffs\",\"terry1\",\"terrier\",\"laser1\",\"lite\",\"lancia\",\"johngalt\",\"jenjen\",\"jolene\",\"midori\",\"message\",\"maserati\",\"matteo\",\"mental\",\"miami1\",\"riffraff\",\"ronald1\",\"reason\",\"rhythm\",\"1218\",\"1026\",\"123987\",\"1015\",\"1103\",\"armada\",\"architec\",\"austria\",\"gotmilk\",\"hawkins\",\"gray\",\"camila\",\"camp\",\"cambridg\",\"charge\",\"camero\",\"flex\",\"foreplay\",\"getoff\",\"glacier\",\"glotest\",\"froggie\",\"gerbil\",\"rugger\",\"sanity72\",\"salesman\",\"donna1\",\"dreaming\",\"deutsch\",\"orchard\",\"oyster\",\"palmtree\",\"ophelia\",\"pajero\",\"m5wkqf\",\"magenta\",\"luckyone\",\"treefrog\",\"vantage\",\"usmarine\",\"tyvugq\",\"uptown\",\"abacab\",\"aaaaaa1\",\"advance\",\"chuck1\",\"delmar\",\"darkange\",\"cyclones\",\"nate\",\"navajo\",\"nope\",\"border\",\"bubba123\",\"building\",\"iawgk2\",\"hrfzlz\",\"dylan1\",\"enrico\",\"encore\",\"emilio\",\"eclipse1\",\"killian\",\"kayleigh\",\"mutant\",\"mizuno\",\"mustang2\",\"video1\",\"viewer\",\"weed420\",\"whales\",\"jaguar1\",\"insight\",\"1990\",\"159159\",\"1love\",\"bliss\",\"bears1\",\"bigtruck\",\"binder\",\"bigboss\",\"blitz\",\"xqgann\",\"yeahyeah\",\"zeke\",\"zardoz\",\"stickman\",\"table\",\"3825\",\"signal\",\"sentra\",\"side\",\"shiva\",\"skipper1\",\"singapor\",\"southpaw\",\"sonora\",\"squid\",\"slamdunk\",\"slimjim\",\"placid\",\"photon\",\"placebo\",\"pearl1\",\"test12\",\"therock1\",\"tiger123\",\"leinad\",\"legman\",\"jeepers\",\"joeblow\",\"mccarthy\",\"mike23\",\"redcar\",\"rhinos\",\"rjw7x4\",\"1102\",\"13576479\",\"112211\",\"alcohol\",\"gwju3g\",\"greywolf\",\"7bgiqk\",\"7878\",\"535353\",\"4snz9g\",\"candyass\",\"cccccc1\",\"carola\",\"catfight\",\"cali\",\"fister\",\"fosters\",\"finland\",\"frankie1\",\"gizzmo\",\"fuller\",\"royalty\",\"rugrat\",\"sandie\",\"rudolf\",\"dooley\",\"dive\",\"doreen\",\"dodo\",\"drop\",\"oemdlg\",\"out3xf\",\"paddy\",\"opennow\",\"puppy1\",\"qazwsxedc\",\"pregnant\",\"quinn\",\"ramjet\",\"under\",\"uncle\",\"abraxas\",\"corner\",\"creed\",\"cocoa\",\"crown\",\"cows\",\"cn42qj\",\"dancer1\",\"death666\",\"damned\",\"nudity\",\"negative\",\"nimda2k\",\"buick\",\"bobb\",\"braves1\",\"brook\",\"henrik\",\"higher\",\"hooligan\",\"dust\",\"everlast\",\"karachi\",\"mortis\",\"mulligan\",\"monies\",\"motocros\",\"wally1\",\"weapon\",\"waterman\",\"view\",\"willie1\",\"vicki\",\"inspiron\",\"1test\",\"2929\",\"bigblack\",\"xytfu7\",\"yackwin\",\"zaq1xsw2\",\"yy5rbfsc\",\"100100\",\"0660\",\"tahiti\",\"takehana\",\"talks\",\"332211\",\"3535\",\"sedona\",\"seawolf\",\"skydiver\",\"shine\",\"spleen\",\"slash\",\"spjfet\",\"special1\",\"spooner\",\"slimshad\",\"sopranos\",\"spock1\",\"penis1\",\"patches1\",\"terri\",\"thierry\",\"thething\",\"toohot\",\"large\",\"limpone\",\"johnnie\",\"mash4077\",\"matchbox\",\"masterp\",\"maxdog\",\"ribbit\",\"reed\",\"rita\",\"rockin\",\"redhat\",\"rising\",\"1113\",\"14789632\",\"1331\",\"allday\",\"aladin\",\"andrey\",\"amethyst\",\"ariel\",\"anytime\",\"baseball1\",\"athome\",\"basil\",\"goofy1\",\"greenman\",\"gustavo\",\"goofball\",\"ha8fyp\",\"goodday\",\"778899\",\"charon\",\"chappy\",\"castillo\",\"caracas\",\"cardiff\",\"capitals\",\"canada1\",\"cajun\",\"catter\",\"freddy1\",\"favorite2\",\"frazier\",\"forme\",\"follow\",\"forsaken\",\"feelgood\",\"gavin\",\"gfxqx686\",\"garlic\",\"sarge\",\"saskia\",\"sanjose\",\"russ\",\"salsa\",\"dilbert1\",\"dukeduke\",\"downhill\",\"longhair\",\"loop\",\"locutus\",\"lockdown\",\"malachi\",\"mamacita\",\"lolipop\",\"rainyday\",\"pumpkin1\",\"punker\",\"prospect\",\"rambo1\",\"rainbows\",\"quake\",\"twin\",\"trinity1\",\"trooper1\",\"aimee\",\"citation\",\"coolcat\",\"crappy\",\"default\",\"dental\",\"deniro\",\"d9ungl\",\"daddys\",\"napoli\",\"nautica\",\"nermal\",\"bukowski\",\"brick\",\"bubbles1\",\"bogota\",\"board\",\"branch\",\"breath\",\"buds\",\"hulk\",\"humphrey\",\"hitachi\",\"evans\",\"ender\",\"export\",\"kikiki\",\"kcchiefs\",\"kram\",\"morticia\",\"montrose\",\"mongo\",\"waqw3p\",\"wizzard\",\"visited\",\"whdbtp\",\"whkzyc\",\"image\",\"154ugeiu\",\"1fuck\",\"binky\",\"blind\",\"bigred1\",\"blubber\",\"benz\",\"becky1\",\"year2005\",\"wonderfu\",\"wooden\",\"xrated\",\"0001\",\"tampabay\",\"survey\",\"tammy1\",\"stuffer\",\"3mpz4r\",\"3000\",\"3some\",\"selina\",\"sierra1\",\"shampoo\",\"silk\",\"shyshy\",\"slapnuts\",\"standby\",\"spartan1\",\"sprocket\",\"sometime\",\"stanley1\",\"poker1\",\"plus\",\"thought\",\"theshit\",\"torture\",\"thinking\",\"lavalamp\",\"light1\",\"laserjet\",\"jediknig\",\"jjjjj1\",\"jocelyn\",\"mazda626\",\"menthol\",\"maximo\",\"margaux\",\"medic1\",\"release\",\"richter\",\"rhino1\",\"roach\",\"renate\",\"repair\",\"reveal\",\"1209\",\"1234321\",\"amigos\",\"apricot\",\"alexandra\",\"asdfgh1\",\"hairball\",\"hatter\",\"graduate\",\"grimace\",\"7xm5rq\",\"6789\",\"cartoons\",\"capcom\",\"cheesy\",\"cashflow\",\"carrots\",\"camping\",\"fanatic\",\"fool\",\"format\",\"fleming\",\"girlie\",\"glover\",\"gilmore\",\"gardner\",\"safeway\",\"ruthie\",\"dogfart\",\"dondon\",\"diapers\",\"outsider\",\"odin\",\"opiate\",\"lollol\",\"love12\",\"loomis\",\"mallrats\",\"prague\",\"primetime21\",\"pugsley\",\"program\",\"r29hqq\",\"touch\",\"valleywa\",\"airman\",\"abcdefg1\",\"darkone\",\"cummer\",\"dempsey\",\"damn\",\"nadia\",\"natedogg\",\"nineball\",\"ndeyl5\",\"natchez\",\"newone\",\"normandy\",\"nicetits\",\"buddy123\",\"buddys\",\"homely\",\"husky\",\"iceland\",\"hr3ytm\",\"highlife\",\"holla\",\"earthlin\",\"exeter\",\"eatmenow\",\"kimkim\",\"karine\",\"k2trix\",\"kernel\",\"kirkland\",\"money123\",\"moonman\",\"miles1\",\"mufasa\",\"mousey\",\"wilma\",\"wilhelm\",\"whites\",\"warhamme\",\"instinct\",\"jackass1\",\"2277\",\"20spanks\",\"blobby\",\"blair\",\"blinky\",\"bikers\",\"blackjack\",\"becca\",\"blue23\",\"xman\",\"wyvern\",\"085tzzqi\",\"zxzxzx\",\"zsmj2v\",\"suede\",\"t26gn4\",\"sugars\",\"sylvie\",\"tantra\",\"swoosh\",\"swiss\",\"4226\",\"4271\",\"321123\",\"383pdjvl\",\"shoe\",\"shane1\",\"shelby1\",\"spades\",\"spain\",\"smother\",\"soup\",\"sparhawk\",\"pisser\",\"photo1\",\"pebble\",\"phones\",\"peavey\",\"picnic\",\"pavement\",\"terra\",\"thistle\",\"tokyo\",\"therapy\",\"lives\",\"linden\",\"kronos\",\"lilbit\",\"linux\",\"johnston\",\"material\",\"melanie1\",\"marbles\",\"redlight\",\"reno\",\"recall\",\"1208\",\"1138\",\"1008\",\"alchemy\",\"aolsucks\",\"alexalex\",\"atticus\",\"auditt\",\"ballet\",\"b929ezzh\",\"goodyear\",\"hanna\",\"griffith\",\"gubber\",\"863abgsg\",\"7474\",\"797979\",\"464646\",\"543210\",\"4zqauf\",\"4949\",\"ch5nmk\",\"carlito\",\"chewey\",\"carebear\",\"caleb\",\"checkmat\",\"cheddar\",\"chachi\",\"fever\",\"forgetit\",\"fine\",\"forlife\",\"giants1\",\"gates\",\"getit\",\"gamble\",\"gerhard\",\"galileo\",\"g3ujwg\",\"ganja\",\"rufus1\",\"rushmore\",\"scouts\",\"discus\",\"dudeman\",\"olympus\",\"oscars\",\"osprey\",\"madcow\",\"locust\",\"loyola\",\"mammoth\",\"proton\",\"rabbit1\",\"question\",\"ptfe3xxp\",\"pwxd5x\",\"purple1\",\"punkass\",\"prophecy\",\"uyxnyd\",\"tyson1\",\"aircraft\",\"access99\",\"abcabc\",\"cocktail\",\"colts\",\"civilwar\",\"cleveland\",\"claudia1\",\"contour\",\"clement\",\"dddddd1\",\"cypher\",\"denied\",\"dapzu455\",\"dagmar\",\"daisydog\",\"name\",\"noles\",\"butters\",\"buford\",\"hoochie\",\"hotel\",\"hoser\",\"eddy\",\"ellis\",\"eldiablo\",\"kingrich\",\"mudvayne\",\"motown\",\"mp8o6d\",\"wife\",\"vipergts\",\"italiano\",\"innocent\",\"2055\",\"2211\",\"beavers\",\"bloke\",\"blade1\",\"yamato\",\"zooropa\",\"yqlgr667\",\"050505\",\"zxcvbnm1\",\"zw6syj\",\"suckcock\",\"tango1\",\"swing\",\"stern\",\"stephens\",\"swampy\",\"susanna\",\"tammie\",\"445566\",\"333666\",\"380zliki\",\"sexpot\",\"sexylady\",\"sixtynin\",\"sickboy\",\"spiffy\",\"sleeping\",\"skylark\",\"sparkles\",\"slam\",\"pintail\",\"phreak\",\"places\",\"teller\",\"timtim\",\"tires\",\"thighs\",\"left\",\"latex\",\"llamas\",\"letsdoit\",\"lkjhg\",\"landmark\",\"letters\",\"lizzard\",\"marlins\",\"marauder\",\"metal1\",\"manu\",\"register\",\"righton\",\"1127\",\"alain\",\"alcat\",\"amigo\",\"basebal1\",\"azertyui\",\"attract\",\"azrael\",\"hamper\",\"gotenks\",\"golfgti\",\"gutter\",\"hawkwind\",\"h2slca\",\"harman\",\"grace1\",\"6chid8\",\"789654\",\"canine\",\"casio\",\"cazzo\",\"chamber\",\"cbr900\",\"cabrio\",\"calypso\",\"capetown\",\"feline\",\"flathead\",\"fisherma\",\"flipmode\",\"fungus\",\"goal\",\"g9zns4\",\"full\",\"giggle\",\"gabriel1\",\"fuck123\",\"saffron\",\"dogmeat\",\"dreamcas\",\"dirtydog\",\"dunlop\",\"douche\",\"dresden\",\"dickdick\",\"destiny1\",\"pappy\",\"oaktree\",\"lydia\",\"luft4\",\"puta\",\"prayer\",\"ramada\",\"trumpet1\",\"vcradq\",\"tulip\",\"tracy71\",\"tycoon\",\"aaaaaaa1\",\"conquest\",\"click\",\"chitown\",\"corps\",\"creepers\",\"constant\",\"couples\",\"code\",\"cornhole\",\"danman\",\"dada\",\"density\",\"d9ebk7\",\"cummins\",\"darth\",\"cute\",\"nash\",\"nirvana1\",\"nixon\",\"norbert\",\"nestle\",\"brenda1\",\"bonanza\",\"bundy\",\"buddies\",\"hotspur\",\"heavy\",\"horror\",\"hufmqw\",\"electro\",\"erasure\",\"enough\",\"elisabet\",\"etvww4\",\"ewyuza\",\"eric1\",\"kinder\",\"kenken\",\"kismet\",\"klaatu\",\"musician\",\"milamber\",\"willi\",\"waiting\",\"isacs155\",\"igor\",\"1million\",\"1letmein\",\"x35v8l\",\"yogi\",\"ywvxpz\",\"xngwoj\",\"zippy1\",\"020202\",\"****\",\"stonewal\",\"sweeney\",\"story\",\"sentry\",\"sexsexsex\",\"spence\",\"sonysony\",\"smirnoff\",\"star12\",\"solace\",\"sledge\",\"states\",\"snyder\",\"star1\",\"paxton\",\"pentagon\",\"pkxe62\",\"pilot1\",\"pommes\",\"paulpaul\",\"plants\",\"tical\",\"tictac\",\"toes\",\"lighthou\",\"lemans\",\"kubrick\",\"letmein22\",\"letmesee\",\"jys6wz\",\"jonesy\",\"jjjjjj1\",\"jigga\",\"joelle\",\"mate\",\"merchant\",\"redstorm\",\"riley1\",\"rosa\",\"relief\",\"14141414\",\"1126\",\"allison1\",\"badboy1\",\"asthma\",\"auggie\",\"basement\",\"hartley\",\"hartford\",\"hardwood\",\"gumbo\",\"616913\",\"57np39\",\"56qhxs\",\"4mnveh\",\"cake\",\"forbes\",\"fatluvr69\",\"fqkw5m\",\"fidelity\",\"feathers\",\"fresno\",\"godiva\",\"gecko\",\"gladys\",\"gibson1\",\"gogators\",\"fridge\",\"general1\",\"saxman\",\"rowing\",\"sammys\",\"scotts\",\"scout1\",\"sasasa\",\"samoht\",\"dragon69\",\"ducky\",\"dragonball\",\"driller\",\"p3wqaw\",\"nurse\",\"papillon\",\"oneone\",\"openit\",\"optimist\",\"longshot\",\"portia\",\"rapier\",\"pussy2\",\"ralphie\",\"tuxedo\",\"ulrike\",\"undertow\",\"trenton\",\"copenhag\",\"come\",\"delldell\",\"culinary\",\"deltas\",\"mytime\",\"nicky\",\"nickie\",\"noname\",\"noles1\",\"bucker\",\"bopper\",\"bullock\",\"burnout\",\"bryce\",\"hedges\",\"ibilltes\",\"hihje863\",\"hitter\",\"ekim\",\"espana\",\"eatme69\",\"elpaso\",\"envelope\",\"express1\",\"eeeeee1\",\"eatme1\",\"karaoke\",\"kara\",\"mustang5\",\"misses\",\"wellingt\",\"willem\",\"waterski\",\"webcam\",\"jasons\",\"infinite\",\"iloveyou!\",\"jakarta\",\"belair\",\"bigdad\",\"beerme\",\"yoshi\",\"yinyang\",\"zimmer\",\"x24ik3\",\"063dyjuy\",\"0000007\",\"ztmfcq\",\"stopit\",\"stooges\",\"survival\",\"stockton\",\"symow8\",\"strato\",\"2hot4u\",\"ship\",\"simons\",\"skins\",\"shakes\",\"sex1\",\"shield\",\"snacks\",\"softtail\",\"slimed123\",\"pizzaman\",\"pipe\",\"pitt\",\"pathetic\",\"pinto\",\"tigercat\",\"tonton\",\"lager\",\"lizzy\",\"juju\",\"john123\",\"jennings\",\"josiah\",\"jesse1\",\"jordon\",\"jingles\",\"martian\",\"mario1\",\"rootedit\",\"rochard\",\"redwine\",\"requiem\",\"riverrat\",\"rats\",\"1117\",\"1014\",\"1205\",\"althea\",\"allie\",\"amor\",\"amiga\",\"alpina\",\"alert\",\"atreides\",\"banana1\",\"bahamut\",\"hart\",\"golfman\",\"happines\",\"7uftyx\",\"5432\",\"5353\",\"5151\",\"4747\",\"byron\",\"chatham\",\"chadwick\",\"cherie\",\"foxfire\",\"ffvdj474\",\"freaked\",\"foreskin\",\"gayboy\",\"gggggg1\",\"glenda\",\"gameover\",\"glitter\",\"funny1\",\"scoobydoo\",\"scroll\",\"rudolph\",\"saddle\",\"saxophon\",\"dingbat\",\"digimon\",\"omicron\",\"parsons\",\"ohio\",\"panda1\",\"loloxx\",\"macintos\",\"lululu\",\"lollypop\",\"racer1\",\"queen1\",\"qwertzui\",\"prick\",\"upnfmc\",\"tyrant\",\"trout1\",\"9skw5g\",\"aceman\",\"adelaide\",\"acls2h\",\"aaabbb\",\"acapulco\",\"aggie\",\"comcast\",\"craft\",\"crissy\",\"cloudy\",\"cq2kph\",\"custer\",\"d6o8pm\",\"cybersex\",\"davecole\",\"darian\",\"crumbs\",\"daisey\",\"davedave\",\"dasani\",\"needle\",\"mzepab\",\"myporn\",\"narnia\",\"nineteen\",\"booger1\",\"bravo1\",\"budgie\",\"btnjey\",\"highlander\",\"hotel6\",\"humbug\",\"edwin\",\"ewtosi\",\"kristin1\",\"kobe\",\"knuckles\",\"keith1\",\"katarina\",\"muff\",\"muschi\",\"montana1\",\"wingchun\",\"wiggle\",\"whatthe\",\"walking\",\"watching\",\"vette1\",\"vols\",\"virago\",\"intj3a\",\"ishmael\",\"intern\",\"jachin\",\"illmatic\",\"199999\",\"2010\",\"beck\",\"blender\",\"bigpenis\",\"bengal\",\"blue1234\",\"your\",\"zaqxsw\",\"xray\",\"xxxxxxx1\",\"zebras\",\"yanks\",\"worlds\",\"tadpole\",\"stripes\",\"svetlana\",\"3737\",\"4343\",\"3728\",\"4444444\",\"368ejhih\",\"solar\",\"sonne\",\"smalls\",\"sniffer\",\"sonata\",\"squirts\",\"pitcher\",\"playstation\",\"pktmxr\",\"pescator\",\"points\",\"texaco\",\"lesbos\",\"lilian\",\"l8v53x\",\"jo9k2jw2\",\"jimbeam\",\"josie\",\"jimi\",\"jupiter2\",\"jurassic\",\"marines1\",\"maya\",\"rocket1\",\"ringer\",\"14725836\",\"12345679\",\"1219\",\"123098\",\"1233\",\"alessand\",\"althor\",\"angelika\",\"arch\",\"armando\",\"alpha123\",\"basher\",\"barefeet\",\"balboa\",\"bbbbb1\",\"banks\",\"badabing\",\"harriet\",\"gopack\",\"golfnut\",\"gsxr1000\",\"gregory1\",\"766rglqy\",\"8520\",\"753159\",\"8dihc6\",\"69camaro\",\"666777\",\"cheeba\",\"chino\",\"calendar\",\"cheeky\",\"camel1\",\"fishcake\",\"falling\",\"flubber\",\"giuseppe\",\"gianni\",\"gloves\",\"gnasher23\",\"frisbee\",\"fuzzy1\",\"fuzzball\",\"sauce\",\"save13tx\",\"schatz\",\"russell1\",\"sandra1\",\"scrotum\",\"scumbag\",\"sabre\",\"samdog\",\"dripping\",\"dragon12\",\"dragster\",\"paige\",\"orwell\",\"mainland\",\"lunatic\",\"lonnie\",\"lotion\",\"maine\",\"maddux\",\"qn632o\",\"poophead\",\"rapper\",\"porn4life\",\"producer\",\"rapunzel\",\"tracks\",\"velocity\",\"vanessa1\",\"ulrich\",\"trueblue\",\"vampire1\",\"abacus\",\"902100\",\"crispy\",\"corky\",\"crane\",\"chooch\",\"d6wnro\",\"cutie\",\"deal\",\"dabulls\",\"dehpye\",\"navyseal\",\"njqcw4\",\"nownow\",\"nigger1\",\"nightowl\",\"nonenone\",\"nightmar\",\"bustle\",\"buddy2\",\"boingo\",\"bugman\",\"bulletin\",\"bosshog\",\"bowie\",\"hybrid\",\"hillside\",\"hilltop\",\"hotlegs\",\"honesty\",\"hzze929b\",\"hhhhh1\",\"hellohel\",\"eloise\",\"evilone\",\"edgewise\",\"e5pftu\",\"eded\",\"embalmer\",\"excalibur\",\"elefant\",\"kenzie\",\"karl\",\"karin\",\"killah\",\"kleenex\",\"mouses\",\"mounta1n\",\"motors\",\"mutley\",\"muffdive\",\"vivitron\",\"winfield\",\"wednesday\",\"w00t88\",\"iloveit\",\"jarjar\",\"incest\",\"indycar\",\"17171717\",\"1664\",\"17011701\",\"222777\",\"2663\",\"beelch\",\"benben\",\"yitbos\",\"yyyyy1\",\"yasmin\",\"zapata\",\"zzzzz1\",\"stooge\",\"tangerin\",\"taztaz\",\"stewart1\",\"summer69\",\"sweetness\",\"system1\",\"surveyor\",\"stirling\",\"3qvqod\",\"3way\",\"456321\",\"sizzle\",\"simhrq\",\"shrink\",\"shawnee\",\"someday\",\"sparty\",\"ssptx452\",\"sphere\",\"spark\",\"slammed\",\"sober\",\"persian\",\"peppers\",\"ploppy\",\"pn5jvw\",\"poobear\",\"pianos\",\"plaster\",\"testme\",\"tiff\",\"thriller\",\"larissa\",\"lennox\",\"jewell\",\"master12\",\"messier\",\"rockey\",\"1229\",\"1217\",\"1478\",\"1009\",\"anastasi\",\"almighty\",\"amonra\",\"aragon\",\"argentin\",\"albino\",\"azazel\",\"grinder\",\"6uldv8\",\"83y6pv\",\"8888888\",\"4tlved\",\"515051\",\"carsten\",\"changes\",\"flanders\",\"flyers88\",\"ffffff1\",\"firehawk\",\"foreman\",\"firedog\",\"flashman\",\"ggggg1\",\"gerber\",\"godspeed\",\"galway\",\"giveitup\",\"funtimes\",\"gohan\",\"giveme\",\"geryfe\",\"frenchie\",\"sayang\",\"rudeboy\",\"savanna\",\"sandals\",\"devine\",\"dougal\",\"drag0n\",\"dga9la\",\"disaster\",\"desktop\",\"only\",\"onlyone\",\"otter\",\"pandas\",\"mafia\",\"lombard\",\"luckys\",\"lovejoy\",\"lovelife\",\"manders\",\"product\",\"qqh92r\",\"qcmfd454\",\"pork\",\"radar1\",\"punani\",\"ptbdhw\",\"turtles\",\"undertaker\",\"trs8f7\",\"tramp\",\"ugejvp\",\"abba\",\"911turbo\",\"acdc\",\"abcd123\",\"clever\",\"corina\",\"cristian\",\"create\",\"crash1\",\"colony\",\"crosby\",\"delboy\",\"daniele\",\"davinci\",\"daughter\",\"notebook\",\"niki\",\"nitrox\",\"borabora\",\"bonzai\",\"budd\",\"brisbane\",\"hotter\",\"heeled\",\"heroes\",\"hooyah\",\"hotgirl\",\"i62gbq\",\"horse1\",\"hills\",\"hpk2qc\",\"epvjb6\",\"echo\",\"korean\",\"kristie\",\"mnbvc\",\"mohammad\",\"mind\",\"mommy1\",\"munster\",\"wade\",\"wiccan\",\"wanted\",\"jacket\",\"2369\",\"bettyboo\",\"blondy\",\"bismark\",\"beanbag\",\"bjhgfi\",\"blackice\",\"yvtte545\",\"ynot\",\"yess\",\"zlzfrh\",\"wolvie\",\"007bond\",\"******\",\"tailgate\",\"tanya1\",\"sxhq65\",\"stinky1\",\"3234412\",\"3ki42x\",\"seville\",\"shimmer\",\"sheryl\",\"sienna\",\"shitshit\",\"skillet\",\"seaman\",\"sooners1\",\"solaris\",\"smartass\",\"pastor\",\"pasta\",\"pedros\",\"pennywis\",\"pfloyd\",\"tobydog\",\"thetruth\",\"lethal\",\"letme1n\",\"leland\",\"jenifer\",\"mario66\",\"micky\",\"rocky2\",\"rewq\",\"ripped\",\"reindeer\",\"1128\",\"1207\",\"1104\",\"1432\",\"aprilia\",\"allstate\",\"alyson\",\"bagels\",\"basic\",\"baggies\",\"barb\",\"barrage\",\"greatest\",\"gomez\",\"guru\",\"guard\",\"72d5tn\",\"606060\",\"4wcqjn\",\"caldwell\",\"chance1\",\"catalog\",\"faust\",\"film\",\"flange\",\"fran\",\"fartman\",\"geil\",\"gbhcf2\",\"fussball\",\"glen\",\"fuaqz4\",\"gameboy\",\"garnet\",\"geneviev\",\"rotary\",\"seahawk\",\"russel\",\"saab\",\"seal\",\"samadams\",\"devlt4\",\"ditto\",\"drevil\",\"drinker\",\"deuce\",\"dipstick\",\"donut\",\"octopus\",\"ottawa\",\"losangel\",\"loverman\",\"porky\",\"q9umoz\",\"rapture\",\"pump\",\"pussy4me\",\"university\",\"triplex\",\"ue8fpw\",\"trent\",\"trophy\",\"turbos\",\"troubles\",\"agent\",\"aaa340\",\"churchil\",\"crazyman\",\"consult\",\"creepy\",\"craven\",\"class\",\"cutiepie\",\"ddddd1\",\"dejavu\",\"cuxldv\",\"nettie\",\"nbvibt\",\"nikon\",\"niko\",\"norwood\",\"nascar1\",\"nolan\",\"bubba2\",\"boobear\",\"boogers\",\"buff\",\"bullwink\",\"bully\",\"bulldawg\",\"horsemen\",\"escalade\",\"editor\",\"eagle2\",\"dynamic\",\"ella\",\"efyreg\",\"edition\",\"kidney\",\"minnesot\",\"mogwai\",\"morrow\",\"msnxbi\",\"moonlight\",\"mwq6qlzo\",\"wars\",\"werder\",\"verygood\",\"voodoo1\",\"wheel\",\"iiiiii1\",\"159951\",\"1624\",\"1911a1\",\"2244\",\"bellagio\",\"bedlam\",\"belkin\",\"bill1\",\"woodrow\",\"xirt2k\",\"worship\",\"??????\",\"tanaka\",\"swift\",\"susieq\",\"sundown\",\"sukebe\",\"tales\",\"swifty\",\"2fast4u\",\"senate\",\"sexe\",\"sickness\",\"shroom\",\"shaun\",\"seaweed\",\"skeeter1\",\"status\",\"snicker\",\"sorrow\",\"spanky1\",\"spook\",\"patti\",\"phaedrus\",\"pilots\",\"pinch\",\"peddler\",\"theo\",\"thumper1\",\"tessie\",\"tiger7\",\"tmjxn151\",\"thematri\",\"l2g7k3\",\"letmeinn\",\"lazy\",\"jeffjeff\",\"joan\",\"johnmish\",\"mantra\",\"mariana\",\"mike69\",\"marshal\",\"mart\",\"mazda6\",\"riptide\",\"robots\",\"rental\",\"1107\",\"1130\",\"142857\",\"11001001\",\"1134\",\"armored\",\"alvin\",\"alec\",\"allnight\",\"alright\",\"amatuers\",\"bartok\",\"attorney\",\"astral\",\"baboon\",\"bahamas\",\"balls1\",\"bassoon\",\"hcleeb\",\"happyman\",\"granite\",\"graywolf\",\"golf1\",\"gomets\",\"8vjzus\",\"7890\",\"789123\",\"8uiazp\",\"5757\",\"474jdvff\",\"551scasi\",\"50cent\",\"camaro1\",\"cherry1\",\"chemist\",\"final\",\"firenze\",\"fishtank\",\"farrell\",\"freewill\",\"glendale\",\"frogfrog\",\"gerhardt\",\"ganesh\",\"same\",\"scirocco\",\"devilman\",\"doodles\",\"dinger\",\"okinawa\",\"olympic\",\"nursing\",\"orpheus\",\"ohmygod\",\"paisley\",\"pallmall\",\"null\",\"lounge\",\"lunchbox\",\"manhatta\",\"mahalo\",\"mandarin\",\"qwqwqw\",\"qguvyt\",\"pxx3eftp\",\"president\",\"rambler\",\"puzzle\",\"poppy1\",\"turk182\",\"trotter\",\"vdlxuc\",\"trish\",\"tugboat\",\"valiant\",\"tracie\",\"uwrl7c\",\"chris123\",\"coaster\",\"cmfnpu\",\"decimal\",\"debbie1\",\"dandy\",\"daedalus\",\"dede\",\"natasha1\",\"nissan1\",\"nancy123\",\"nevermin\",\"napalm\",\"newcastle\",\"boats\",\"branden\",\"britt\",\"bonghit\",\"hester\",\"ibxnsm\",\"hhhhhh1\",\"holger\",\"durham\",\"edmonton\",\"erwin\",\"equinox\",\"dvader\",\"kimmy\",\"knulla\",\"mustafa\",\"monsoon\",\"mistral\",\"morgana\",\"monica1\",\"mojave\",\"month\",\"monterey\",\"mrbill\",\"vkaxcs\",\"victor1\",\"wacker\",\"wendell\",\"violator\",\"vfdhif\",\"wilson1\",\"wavpzt\",\"verena\",\"wildstar\",\"winter99\",\"iqzzt580\",\"jarrod\",\"imback\",\"1914\",\"19741974\",\"1monkey\",\"1q2w3e4r5t\",\"2500\",\"2255\",\"blank\",\"bigshow\",\"bigbucks\",\"blackcoc\",\"zoomer\",\"wtcacq\",\"wobble\",\"xmen\",\"xjznq5\",\"yesterda\",\"yhwnqc\",\"zzzxxx\",\"streak\",\"393939\",\"2fchbg\",\"skinhead\",\"skilled\",\"shakira\",\"shaft\",\"shadow12\",\"seaside\",\"sigrid\",\"sinful\",\"silicon\",\"smk7366\",\"snapshot\",\"sniper1\",\"soccer11\",\"staff\",\"slap\",\"smutty\",\"peepers\",\"pleasant\",\"plokij\",\"pdiddy\",\"pimpdaddy\",\"thrust\",\"terran\",\"topaz\",\"today1\",\"lionhear\",\"littlema\",\"lauren1\",\"lincoln1\",\"lgnu9d\",\"laughing\",\"juneau\",\"methos\",\"medina\",\"merlyn\",\"rogue1\",\"romulus\",\"redshift\",\"1202\",\"1469\",\"12locked\",\"arizona1\",\"alfarome\",\"al9agd\",\"aol123\",\"altec\",\"apollo1\",\"arse\",\"baker1\",\"bbb747\",\"bach\",\"axeman\",\"astro1\",\"hawthorn\",\"goodfell\",\"hawks1\",\"gstring\",\"hannes\",\"8543852\",\"868686\",\"4ng62t\",\"554uzpad\",\"5401\",\"567890\",\"5232\",\"catfood\",\"frame\",\"flow\",\"fire1\",\"flipflop\",\"fffff1\",\"fozzie\",\"fluff\",\"garrison\",\"fzappa\",\"furious\",\"round\",\"rustydog\",\"sandberg\",\"scarab\",\"satin\",\"ruger\",\"samsung1\",\"destin\",\"diablo2\",\"dreamer1\",\"detectiv\",\"dominick\",\"doqvq3\",\"drywall\",\"paladin1\",\"papabear\",\"offroad\",\"panasonic\",\"nyyankee\",\"luetdi\",\"qcfmtz\",\"pyf8ah\",\"puddles\",\"privacy\",\"rainer\",\"pussyeat\",\"ralph1\",\"princeto\",\"trivia\",\"trewq\",\"tri5a3\",\"advent\",\"9898\",\"agyvorc\",\"clarkie\",\"coach1\",\"courier\",\"contest\",\"christo\",\"corinna\",\"chowder\",\"concept\",\"climbing\",\"cyzkhw\",\"davidb\",\"dad2ownu\",\"days\",\"daredevi\",\"de7mdf\",\"nose\",\"necklace\",\"nazgul\",\"booboo1\",\"broad\",\"bonzo\",\"brenna\",\"boot\",\"butch1\",\"huskers1\",\"hgfdsa\",\"hornyman\",\"elmer\",\"elektra\",\"england1\",\"elodie\",\"kermit1\",\"knife\",\"kaboom\",\"minute\",\"modern\",\"motherfucker\",\"morten\",\"mocha\",\"monday1\",\"morgoth\",\"ward\",\"weewee\",\"weenie\",\"walters\",\"vorlon\",\"website\",\"wahoo\",\"ilovegod\",\"insider\",\"jayman\",\"1911\",\"1dallas\",\"1900\",\"1ranger\",\"201jedlz\",\"2501\",\"1qaz\",\"bertram\",\"bignuts\",\"bigbad\",\"beebee\",\"billows\",\"belize\",\"bebe\",\"wvj5np\",\"wu4etd\",\"yamaha1\",\"wrinkle5\",\"zebra1\",\"yankee1\",\"zoomzoom\",\"09876543\",\"0311\",\"?????\",\"stjabn\",\"tainted\",\"3tmnej\",\"shoot\",\"skooter\",\"skelter\",\"sixteen\",\"starlite\",\"smack\",\"spice1\",\"stacey1\",\"smithy\",\"perrin\",\"pollux\",\"peternorth\",\"pixie\",\"paulina\",\"piston\",\"pick\",\"poets\",\"pine\",\"toons\",\"tooth\",\"topspin\",\"kugm7b\",\"legends\",\"jeepjeep\",\"juliana\",\"joystick\",\"junkmail\",\"jojojojo\",\"jonboy\",\"judge\",\"midland\",\"meteor\",\"mccabe\",\"matter\",\"mayfair\",\"meeting\",\"merrill\",\"raul\",\"riches\",\"reznor\",\"rockrock\",\"reboot\",\"reject\",\"robyn\",\"renee1\",\"roadway\",\"rasta220\",\"1411\",\"1478963\",\"1019\",\"archery\",\"allman\",\"andyandy\",\"barks\",\"bagpuss\",\"auckland\",\"gooseman\",\"hazmat\",\"gucci\",\"guns\",\"grammy\",\"happydog\",\"greek\",\"7kbe9d\",\"7676\",\"6bjvpe\",\"5lyedn\",\"5858\",\"5291\",\"charlie2\",\"chas\",\"c7lrwu\",\"candys\",\"chateau\",\"ccccc1\",\"cardinals\",\"fear\",\"fihdfv\",\"fortune12\",\"gocats\",\"gaelic\",\"fwsadn\",\"godboy\",\"gldmeo\",\"fx3tuo\",\"fubar1\",\"garland\",\"generals\",\"gforce\",\"rxmtkp\",\"rulz\",\"sairam\",\"dunhill\",\"division\",\"dogggg\",\"detect\",\"details\",\"doll\",\"drinks\",\"ozlq6qwm\",\"ov3ajy\",\"lockout\",\"makayla\",\"macgyver\",\"mallorca\",\"loves\",\"prima\",\"pvjegu\",\"qhxbij\",\"raphael\",\"prelude1\",\"totoro\",\"tusymo\",\"trousers\",\"tunnel\",\"valeria\",\"tulane\",\"turtle1\",\"tracy1\",\"aerosmit\",\"abbey1\",\"address\",\"clticic\",\"clueless\",\"cooper1\",\"comets\",\"collect\",\"corbin\",\"delpiero\",\"derick\",\"cyprus\",\"dante1\",\"dave1\",\"nounours\",\"neal\",\"nexus6\",\"nero\",\"nogard\",\"norfolk\",\"brent1\",\"booyah\",\"bootleg\",\"buckaroo\",\"bulls23\",\"bulls1\",\"booper\",\"heretic\",\"icecube\",\"hellno\",\"hounds\",\"honeydew\",\"hooters1\",\"hoes\",\"howie\",\"hevnm4\",\"hugohugo\",\"eighty\",\"epson\",\"evangeli\",\"eeeee1\",\"eyphed\"]","/** SecLists 10k-most-common.txt — NFKC-lowercased at build time. Version pinned in PASSCODE_SECURITY.md */\r\nimport denylistJson from \"./passcode-denylist.json\";\r\n\r\nexport const PASSCODE_DENYLIST_SOURCE =\r\n \"SecLists/Passwords/Common-Credentials/10k-most-common.txt\";\r\nexport const PASSCODE_DENYLIST_VERSION = \"2026-08-13\";\r\n\r\nconst DENYLIST = new Set<string>(denylistJson as string[]);\r\n\r\nexport function isPasscodeDenylisted(passcode: string): boolean {\r\n const normalized = passcode.normalize(\"NFKC\").toLowerCase();\r\n return DENYLIST.has(normalized);\r\n}\r\n\r\nexport function passcodeDenylistSize(): number {\r\n return DENYLIST.size;\r\n}\r\n","import { ZxcvbnFactory } from \"@zxcvbn-ts/core\";\r\nimport * as zxcvbnCommon from \"@zxcvbn-ts/language-common\";\r\nimport * as zxcvbnEn from \"@zxcvbn-ts/language-en\";\r\n\r\nimport { assertValidPasscode, normalizePasscode } from \"./pin\";\r\nimport { isPasscodeDenylisted } from \"./passcode-denylist\";\r\nimport { EmbeddedWalletWeakPasscodeError, type PasscodeStrengthLabel } from \"./types\";\r\n\r\nlet zxcvbnChecker: ZxcvbnFactory | null = null;\r\n\r\nfunction getZxcvbnChecker(): ZxcvbnFactory {\r\n if (!zxcvbnChecker) {\r\n zxcvbnChecker = new ZxcvbnFactory({\r\n translations: zxcvbnEn.translations,\r\n graphs: zxcvbnCommon.adjacencyGraphs,\r\n dictionary: {\r\n ...zxcvbnCommon.dictionary,\r\n ...zxcvbnEn.dictionary,\r\n },\r\n });\r\n }\r\n return zxcvbnChecker;\r\n}\r\n\r\nexport interface PasscodeStrengthResult {\r\n score: 0 | 1 | 2 | 3 | 4;\r\n label: PasscodeStrengthLabel;\r\n blocked: boolean;\r\n blockReason?: \"denylist\" | \"too_weak\" | \"numeric_short\";\r\n}\r\n\r\nfunction scoreToLabel(score: 0 | 1 | 2 | 3 | 4): PasscodeStrengthLabel {\r\n if (score <= 0) {\r\n return \"weak\";\r\n }\r\n if (score === 1) {\r\n return \"fair\";\r\n }\r\n if (score === 2) {\r\n return \"good\";\r\n }\r\n return \"strong\";\r\n}\r\n\r\nexport function hasMixedCharacterClasses(passcode: string): boolean {\r\n let classes = 0;\r\n if (/[a-z]/.test(passcode)) {\r\n classes++;\r\n }\r\n if (/[A-Z]/.test(passcode)) {\r\n classes++;\r\n }\r\n if (/[0-9]/.test(passcode)) {\r\n classes++;\r\n }\r\n if (/[^a-zA-Z0-9]/.test(passcode)) {\r\n classes++;\r\n }\r\n return classes >= 2;\r\n}\r\n\r\nfunction isAllDigits(passcode: string): boolean {\r\n return /^[0-9]+$/.test(passcode);\r\n}\r\n\r\n/** Score passcode strength for creation UI (denylist + zxcvbn). */\r\nexport function evaluatePasscodeStrength(passcode: string): PasscodeStrengthResult {\r\n assertValidPasscode(passcode);\r\n const normalized = normalizePasscode(passcode);\r\n\r\n if (isPasscodeDenylisted(normalized)) {\r\n return {\r\n score: 0,\r\n label: \"weak\",\r\n blocked: true,\r\n blockReason: \"denylist\",\r\n };\r\n }\r\n\r\n if (isAllDigits(normalized) && normalized.length < 12) {\r\n return {\r\n score: 0,\r\n label: \"weak\",\r\n blocked: true,\r\n blockReason: \"numeric_short\",\r\n };\r\n }\r\n\r\n const result = getZxcvbnChecker().check(normalized);\r\n const score = result.score as 0 | 1 | 2 | 3 | 4;\r\n const label = scoreToLabel(score);\r\n\r\n if (score === 0 && !(normalized.length >= 14 && hasMixedCharacterClasses(normalized))) {\r\n return {\r\n score,\r\n label,\r\n blocked: true,\r\n blockReason: \"too_weak\",\r\n };\r\n }\r\n\r\n return {\r\n score,\r\n label,\r\n blocked: false,\r\n };\r\n}\r\n\r\n/** Hard reject weak or common passcodes at wallet creation / recovery. */\r\nexport function assertPasscodeAllowedForCreation(passcode: string): void {\r\n const strength = evaluatePasscodeStrength(passcode);\r\n if (strength.blocked) {\r\n throw new EmbeddedWalletWeakPasscodeError(strength.blockReason ?? \"too_weak\");\r\n }\r\n}\r\n","import type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\r\n\r\nimport { exportEncryptedBackup, parseEncryptedBackup, serializeBackupFile } from \"./backup\";\r\nimport {\r\n assertVaultPermitsTransaction,\r\n createPasskeyMaterialFromAssertion,\r\n createPbkdf2Salt,\r\n decryptWalletPayload,\r\n deriveKekFromPbkdf2,\r\n deriveKekFromPrf,\r\n encryptWalletPayload,\r\n markVaultBackupAcknowledged,\r\n} from \"./crypto\";\r\nimport {\r\n assertPasscodeUnlockAllowed,\r\n recordPasscodeUnlockFailure,\r\n recordPasscodeUnlockSuccess,\r\n} from \"./lockout\";\r\nimport {\r\n createHdDerivedPlaintext,\r\n detectRecoveryMnemonicKeyType,\r\n plaintextFromRecoveryMnemonic,\r\n recoveryMnemonicAddress,\r\n recoveryMnemonicFromPlaintext,\r\n resolvePlaintextKeyType,\r\n} from \"./mnemonic\";\r\nimport { assertPasscodeAllowedForCreation } from \"./passcode-strength\";\r\nimport {\r\n deriveKekFromPasscode,\r\n EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\r\n} from \"./pin\";\r\nimport { detectWebAuthnPrfCapabilities, selectEmbeddedWalletKdf } from \"./prf\";\r\nimport { defaultEmbeddedHdPath, embeddedPlaintextToSigner } from \"./signer\";\r\nimport {\r\n clearVaultFromIndexedDb,\r\n loadVaultFromIndexedDb,\r\n saveVaultToIndexedDb,\r\n} from \"./storage\";\r\nimport {\r\n EMBEDDED_WALLET_KDF_PBKDF2,\r\n EMBEDDED_WALLET_KDF_PIN,\r\n EMBEDDED_WALLET_KDF_PRF,\r\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\r\n EMBEDDED_WALLET_KEY_HD_DERIVED,\r\n EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING,\r\n EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING,\r\n type EmbeddedWalletBackupFileV1,\r\n type EmbeddedWalletKeyType,\r\n type EmbeddedWalletPlaintext,\r\n type EmbeddedWalletRecoveryPhraseReveal,\r\n type EmbeddedWalletVaultV1,\r\n EmbeddedWalletDecryptError,\r\n EmbeddedWalletVaultError,\r\n} from \"./types\";\r\nimport { assertPasskey, decodeCredentialId, registerPasskey } from \"./webauthn\";\r\n\r\nexport interface EmbeddedWalletScopeOptions {\r\n /** Supabase user id or other account key — scopes IndexedDB vault storage per account. */\r\n scopeId?: string;\r\n}\r\n\r\nexport interface CreateEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\r\n passcode: string;\r\n}\r\n\r\nexport interface UnlockEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\r\n passcode?: string;\r\n}\r\n\r\nexport interface RevealEmbeddedRecoveryPhraseOptions extends EmbeddedWalletScopeOptions {\r\n passcode?: string;\r\n}\r\n\r\nexport interface RecoverEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\r\n passcode: string;\r\n mnemonic: string;\r\n /** When omitted, inferred from expectedAddress or defaults to hd-derived. */\r\n keyType?: EmbeddedWalletKeyType;\r\n /** Used to auto-detect legacy direct-entropy vs standard HD phrases. */\r\n expectedAddress?: string;\r\n hdPath?: string;\r\n /** When true, replaces an existing vault on this device (e.g. after device loss). */\r\n replaceExisting?: boolean;\r\n}\r\n\r\nexport interface EnableEmbeddedPasskeyUnlockOptions extends EmbeddedWalletScopeOptions {\r\n passcode: string;\r\n userId: Uint8Array;\r\n userName: string;\r\n displayName: string;\r\n rpId?: string;\r\n}\r\n\r\nexport interface MigrateLegacyEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\r\n scopeId: string;\r\n passcode?: string;\r\n}\r\n\r\nexport interface ImportEmbeddedBackupOptions extends EmbeddedWalletScopeOptions {\r\n /** When true, replaces an existing vault on this device (e.g. intentional restore). */\r\n replaceExisting?: boolean;\r\n}\r\n\r\nexport interface ClearEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {}\r\n\r\nexport interface AcknowledgeEmbeddedBackupOptions extends EmbeddedWalletScopeOptions {}\r\n\r\nexport interface EmbeddedWalletSession {\r\n address: string;\r\n vault: EmbeddedWalletVaultV1;\r\n signer: OfflineDirectSigner;\r\n}\r\n\r\nlet activeSession: EmbeddedWalletSession | null = null;\r\nlet activeScopeId: string | undefined;\r\n\r\nfunction resolveScopeId(scopeId?: string): string | undefined {\r\n const trimmed = scopeId?.trim();\r\n return trimmed || undefined;\r\n}\r\n\r\nfunction scopeFromOptions(options?: EmbeddedWalletScopeOptions): string | undefined {\r\n return resolveScopeId(options?.scopeId);\r\n}\r\n\r\nasync function loadVaultForScope(scopeId?: string): Promise<EmbeddedWalletVaultV1 | null> {\r\n return loadVaultFromIndexedDb({ scopeId });\r\n}\r\n\r\nexport function vaultUsesPasskeyUnlock(vault: EmbeddedWalletVaultV1): boolean {\r\n return vault.kdf === EMBEDDED_WALLET_KDF_PRF || vault.kdf === EMBEDDED_WALLET_KDF_PBKDF2;\r\n}\r\n\r\nexport function vaultUsesPasscodeUnlock(vault: EmbeddedWalletVaultV1): boolean {\r\n return vault.kdf === EMBEDDED_WALLET_KDF_PIN;\r\n}\r\n\r\nfunction isPasscodeDecryptFailure(err: unknown): boolean {\r\n return err instanceof EmbeddedWalletDecryptError;\r\n}\r\n\r\nasync function decryptVaultWithPasscodeProtected(\r\n vault: EmbeddedWalletVaultV1,\r\n passcode: string | undefined,\r\n): Promise<EmbeddedWalletPlaintext> {\r\n if (!vaultUsesPasscodeUnlock(vault)) {\r\n throw new EmbeddedWalletVaultError(\"Vault does not use passcode unlock\");\r\n }\r\n if (!passcode) {\r\n throw new EmbeddedWalletVaultError(\"Passcode is required to unlock this wallet\");\r\n }\r\n\r\n await assertPasscodeUnlockAllowed(vault.publicAddress);\r\n\r\n try {\r\n const plaintext = await decryptVaultWithUnlockMaterial(vault, passcode);\r\n await recordPasscodeUnlockSuccess(vault.publicAddress);\r\n return plaintext;\r\n } catch (err) {\r\n if (isPasscodeDecryptFailure(err)) {\r\n await recordPasscodeUnlockFailure(vault.publicAddress);\r\n }\r\n throw err;\r\n }\r\n}\r\n\r\nasync function deriveKekFromPasskeyMaterial(\r\n vault: EmbeddedWalletVaultV1,\r\n prfOutput: Uint8Array | null,\r\n authenticatorData: Uint8Array,\r\n clientDataJSON: Uint8Array,\r\n): Promise<Uint8Array> {\r\n const caps = detectWebAuthnPrfCapabilities();\r\n const kdf = selectEmbeddedWalletKdf(caps, prfOutput);\r\n\r\n if (kdf === EMBEDDED_WALLET_KDF_PRF && prfOutput) {\r\n return deriveKekFromPrf(prfOutput);\r\n }\r\n\r\n if (vault.kdf !== EMBEDDED_WALLET_KDF_PBKDF2 || !vault.kdfSalt) {\r\n throw new EmbeddedWalletVaultError(\"Vault expects PBKDF2 but passkey material unavailable\");\r\n }\r\n\r\n const salt = decodeCredentialId(vault.kdfSalt);\r\n const material = createPasskeyMaterialFromAssertion(authenticatorData, clientDataJSON);\r\n return deriveKekFromPbkdf2(material, salt, vault.kdfIterations || undefined);\r\n}\r\n\r\nasync function deriveKekForVault(\r\n vault: EmbeddedWalletVaultV1,\r\n passcode: string | undefined,\r\n passkeyMaterial?: {\r\n prfOutput: Uint8Array | null;\r\n authenticatorData: Uint8Array;\r\n clientDataJSON: Uint8Array;\r\n },\r\n): Promise<Uint8Array> {\r\n if (vaultUsesPasscodeUnlock(vault)) {\r\n if (!passcode) {\r\n throw new EmbeddedWalletVaultError(\"Passcode is required to unlock this wallet\");\r\n }\r\n if (!vault.kdfSalt) {\r\n throw new EmbeddedWalletVaultError(\"PIN vault is missing kdfSalt\");\r\n }\r\n const salt = decodeCredentialId(vault.kdfSalt);\r\n return deriveKekFromPasscode(passcode, salt, vault.kdfIterations || undefined);\r\n }\r\n\r\n if (!passkeyMaterial) {\r\n throw new EmbeddedWalletVaultError(\"Passkey authentication is required to unlock this wallet\");\r\n }\r\n\r\n return deriveKekFromPasskeyMaterial(\r\n vault,\r\n passkeyMaterial.prfOutput,\r\n passkeyMaterial.authenticatorData,\r\n passkeyMaterial.clientDataJSON,\r\n );\r\n}\r\n\r\nasync function decryptVaultWithUnlockMaterial(\r\n vault: EmbeddedWalletVaultV1,\r\n passcode: string | undefined,\r\n passkeyMaterial?: {\r\n prfOutput: Uint8Array | null;\r\n authenticatorData: Uint8Array;\r\n clientDataJSON: Uint8Array;\r\n },\r\n): Promise<EmbeddedWalletPlaintext> {\r\n const kek = await deriveKekForVault(vault, passcode, passkeyMaterial);\r\n return decryptWalletPayload(vault, kek);\r\n}\r\n\r\nasync function encryptPlaintextWithPasscode(\r\n plaintext: EmbeddedWalletPlaintext,\r\n passcode: string,\r\n backupAcknowledged = false,\r\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\r\n assertPasscodeAllowedForCreation(passcode);\r\n const previewSigner = await embeddedPlaintextToSigner(plaintext);\r\n const [account] = await previewSigner.getAccounts();\r\n\r\n const salt = createPbkdf2Salt();\r\n const kek = await deriveKekFromPasscode(passcode, salt);\r\n\r\n const vault = await encryptWalletPayload(plaintext, {\r\n kdf: EMBEDDED_WALLET_KDF_PIN,\r\n credentialId: new Uint8Array(0),\r\n publicAddress: account.address,\r\n kek,\r\n kdfSalt: salt,\r\n kdfIterations: EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\r\n backupAcknowledged,\r\n });\r\n\r\n return { address: account.address, vault };\r\n}\r\n\r\nasync function encryptPlaintextWithPasskeyRegistration(\r\n plaintext: EmbeddedWalletPlaintext,\r\n registration: Awaited<ReturnType<typeof registerPasskey>>,\r\n backupAcknowledged = false,\r\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\r\n const previewSigner = await embeddedPlaintextToSigner(plaintext);\r\n const [account] = await previewSigner.getAccounts();\r\n\r\n const caps = detectWebAuthnPrfCapabilities();\r\n const kdf = selectEmbeddedWalletKdf(caps, registration.prfOutput);\r\n let kek: Uint8Array;\r\n let kdfSalt: Uint8Array | undefined;\r\n let prfSalt: Uint8Array | undefined;\r\n\r\n if (kdf === EMBEDDED_WALLET_KDF_PRF && registration.prfOutput) {\r\n kek = await deriveKekFromPrf(registration.prfOutput);\r\n prfSalt = registration.prfSalt;\r\n } else {\r\n kdfSalt = createPbkdf2Salt();\r\n const material = createPasskeyMaterialFromAssertion(\r\n registration.authenticatorData,\r\n registration.clientDataJSON,\r\n );\r\n kek = await deriveKekFromPbkdf2(material, kdfSalt);\r\n }\r\n\r\n const vault = await encryptWalletPayload(plaintext, {\r\n kdf,\r\n credentialId: registration.credentialId,\r\n publicAddress: account.address,\r\n kek,\r\n kdfSalt,\r\n prfSalt,\r\n backupAcknowledged,\r\n });\r\n\r\n return { address: account.address, vault };\r\n}\r\n\r\nasync function unlockVaultToSession(\r\n vault: EmbeddedWalletVaultV1,\r\n options: UnlockEmbeddedWalletOptions = {},\r\n): Promise<EmbeddedWalletSession> {\r\n if (vaultUsesPasscodeUnlock(vault)) {\r\n const plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\r\n const signer = await embeddedPlaintextToSigner(plaintext);\r\n const [account] = await signer.getAccounts();\r\n const session: EmbeddedWalletSession = { address: account.address, vault, signer };\r\n activeSession = session;\r\n activeScopeId = scopeFromOptions(options);\r\n return session;\r\n }\r\n\r\n const credentialId = decodeCredentialId(vault.credentialId);\r\n const prfSalt = vault.prfSalt ? decodeCredentialId(vault.prfSalt) : undefined;\r\n const assertion = await assertPasskey({ credentialId, rpId: undefined, prfSalt });\r\n const plaintext = await decryptVaultWithUnlockMaterial(vault, undefined, assertion);\r\n const signer = await embeddedPlaintextToSigner(plaintext);\r\n const [account] = await signer.getAccounts();\r\n const session: EmbeddedWalletSession = { address: account.address, vault, signer };\r\n activeSession = session;\r\n activeScopeId = scopeFromOptions(options);\r\n return session;\r\n}\r\n\r\n/** Returns true if an encrypted vault exists under the given scope (not the legacy key). */\r\nexport async function hasEmbeddedWallet(options: EmbeddedWalletScopeOptions = {}): Promise<boolean> {\r\n const vault = await loadVaultForScope(scopeFromOptions(options));\r\n return vault != null;\r\n}\r\n\r\n/** Returns true if an unscoped legacy vault still exists under the \"primary\" key. */\r\nexport async function hasLegacyEmbeddedWallet(): Promise<boolean> {\r\n const vault = await loadVaultFromIndexedDb();\r\n return vault != null;\r\n}\r\n\r\n/**\r\n * Verify ownership of a legacy \"primary\" vault, copy it to a scoped key, and remove the legacy entry.\r\n * Does not run automatically — callers must confirm with the user first.\r\n */\r\nexport async function migrateLegacyEmbeddedWallet(\r\n options: MigrateLegacyEmbeddedWalletOptions,\r\n): Promise<EmbeddedWalletSession> {\r\n const scopeId = resolveScopeId(options.scopeId);\r\n if (!scopeId) {\r\n throw new EmbeddedWalletVaultError(\"scopeId is required to migrate a legacy wallet\");\r\n }\r\n\r\n const scopedVault = await loadVaultForScope(scopeId);\r\n if (scopedVault) {\r\n throw new EmbeddedWalletVaultError(\"A scoped wallet already exists for this account\");\r\n }\r\n\r\n const legacyVault = await loadVaultFromIndexedDb();\r\n if (!legacyVault) {\r\n throw new EmbeddedWalletVaultError(\"No legacy embedded wallet found on this device\");\r\n }\r\n\r\n const session = await unlockVaultToSession(legacyVault, { passcode: options.passcode });\r\n await saveVaultToIndexedDb(legacyVault, { scopeId });\r\n await clearVaultFromIndexedDb();\r\n activeScopeId = scopeId;\r\n return session;\r\n}\r\n\r\n/** Create passcode-protected encrypted vault; does not unlock signer until backup is acknowledged. */\r\nexport async function createEmbeddedWallet(\r\n options: CreateEmbeddedWalletOptions,\r\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\r\n const createdAt = new Date().toISOString();\r\n const plaintext = await createHdDerivedPlaintext(createdAt);\r\n const { address, vault } = await encryptPlaintextWithPasscode(plaintext, options.passcode);\r\n\r\n const scopeId = scopeFromOptions(options);\r\n await saveVaultToIndexedDb(vault, { scopeId });\r\n lockEmbeddedWallet();\r\n activeScopeId = scopeId;\r\n return { address, vault };\r\n}\r\n\r\n/**\r\n * Re-authenticate and return the recovery phrase plus UI warnings.\r\n * Call only after showing {@link EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING} (and the\r\n * direct-entropy portability warning when applicable).\r\n */\r\nexport async function revealEmbeddedRecoveryPhrase(\r\n options: RevealEmbeddedRecoveryPhraseOptions = {},\r\n): Promise<EmbeddedWalletRecoveryPhraseReveal> {\r\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\r\n const vault = await loadVaultForScope(scopeId);\r\n if (!vault) {\r\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\r\n }\r\n\r\n let plaintext: EmbeddedWalletPlaintext;\r\n if (vaultUsesPasscodeUnlock(vault)) {\r\n plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\r\n } else {\r\n const credentialId = decodeCredentialId(vault.credentialId);\r\n const prfSalt = vault.prfSalt ? decodeCredentialId(vault.prfSalt) : undefined;\r\n const assertion = await assertPasskey({ credentialId, rpId: undefined, prfSalt });\r\n plaintext = await decryptVaultWithUnlockMaterial(vault, undefined, assertion);\r\n }\r\n\r\n const keyType = resolvePlaintextKeyType(plaintext);\r\n const mnemonic = recoveryMnemonicFromPlaintext(plaintext);\r\n const signer = await embeddedPlaintextToSigner(plaintext);\r\n const [account] = await signer.getAccounts();\r\n\r\n const warnings = [EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING];\r\n if (keyType === EMBEDDED_WALLET_KEY_DIRECT_ENTROPY) {\r\n warnings.push(EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING);\r\n }\r\n\r\n return {\r\n mnemonic,\r\n keyType,\r\n address: account.address,\r\n warnings,\r\n };\r\n}\r\n\r\n/**\r\n * Restore an embedded wallet on a new device from a recovery phrase.\r\n * Sets a new passcode and stores an encrypted vault in IndexedDB.\r\n */\r\nexport async function recoverEmbeddedWalletFromMnemonic(\r\n options: RecoverEmbeddedWalletOptions,\r\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1; keyType: EmbeddedWalletKeyType }> {\r\n const scopeId = scopeFromOptions(options);\r\n const existing = await loadVaultForScope(scopeId);\r\n if (existing && !options.replaceExisting) {\r\n throw new EmbeddedWalletVaultError(\r\n \"An embedded wallet already exists on this device; pass replaceExisting to recover over it\",\r\n );\r\n }\r\n\r\n const hdPath = options.hdPath ?? defaultEmbeddedHdPath();\r\n let keyType = options.keyType;\r\n if (!keyType && options.expectedAddress) {\r\n keyType = await detectRecoveryMnemonicKeyType(\r\n options.mnemonic,\r\n options.expectedAddress,\r\n hdPath,\r\n );\r\n }\r\n if (!keyType) {\r\n keyType = EMBEDDED_WALLET_KEY_HD_DERIVED;\r\n }\r\n\r\n const createdAt = new Date().toISOString();\r\n const plaintext = await plaintextFromRecoveryMnemonic(\r\n options.mnemonic,\r\n keyType,\r\n createdAt,\r\n hdPath,\r\n );\r\n const address = await recoveryMnemonicAddress(options.mnemonic, keyType, hdPath);\r\n\r\n if (options.expectedAddress && address !== options.expectedAddress) {\r\n throw new EmbeddedWalletVaultError(\r\n \"Recovered wallet address does not match expectedAddress\",\r\n );\r\n }\r\n\r\n const result = await encryptPlaintextWithPasscode(plaintext, options.passcode);\r\n if (result.address !== address) {\r\n throw new EmbeddedWalletVaultError(\"Internal error: recovered address mismatch\");\r\n }\r\n\r\n await saveVaultToIndexedDb(result.vault, { scopeId });\r\n lockEmbeddedWallet();\r\n activeScopeId = scopeId;\r\n return { address: result.address, vault: result.vault, keyType };\r\n}\r\n\r\n/**\r\n * Opt-in upgrade: re-wrap an existing passcode vault with passkey unlock.\r\n * Does not change the underlying private key or address.\r\n */\r\nexport async function enableEmbeddedPasskeyUnlock(\r\n options: EnableEmbeddedPasskeyUnlockOptions,\r\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\r\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\r\n const vault = await loadVaultForScope(scopeId);\r\n if (!vault) {\r\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\r\n }\r\n if (vaultUsesPasskeyUnlock(vault)) {\r\n throw new EmbeddedWalletVaultError(\"Passkey unlock is already enabled for this wallet\");\r\n }\r\n if (!vaultUsesPasscodeUnlock(vault)) {\r\n throw new EmbeddedWalletVaultError(\"Unsupported vault unlock method for passkey upgrade\");\r\n }\r\n\r\n const addressBefore = vault.publicAddress;\r\n const backupAcknowledged = vault.backupAcknowledged;\r\n const plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\r\n\r\n const registration = await registerPasskey({\r\n userId: options.userId,\r\n userName: options.userName,\r\n displayName: options.displayName,\r\n rpId: options.rpId,\r\n });\r\n\r\n const result = await encryptPlaintextWithPasskeyRegistration(\r\n plaintext,\r\n registration,\r\n backupAcknowledged,\r\n );\r\n\r\n if (result.address !== addressBefore) {\r\n throw new EmbeddedWalletVaultError(\"Passkey upgrade must not change wallet address\");\r\n }\r\n\r\n await saveVaultToIndexedDb(result.vault, { scopeId });\r\n if (activeSession) {\r\n activeSession = { ...activeSession, vault: result.vault };\r\n }\r\n lockEmbeddedWallet();\r\n return result;\r\n}\r\n\r\n/** Unlock existing vault with passcode (default) or passkey (opt-in upgrade path). */\r\nexport async function unlockEmbeddedWallet(\r\n options: UnlockEmbeddedWalletOptions = {},\r\n): Promise<EmbeddedWalletSession> {\r\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\r\n const vault = await loadVaultForScope(scopeId);\r\n if (!vault) {\r\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\r\n }\r\n return unlockVaultToSession(vault, options);\r\n}\r\n\r\n/** Clear in-memory signer. */\r\nexport function lockEmbeddedWallet(): void {\r\n activeSession = null;\r\n activeScopeId = undefined;\r\n}\r\n\r\nexport function getEmbeddedWalletSession(): EmbeddedWalletSession | null {\r\n return activeSession;\r\n}\r\n\r\n/** Offline signer for CosmJS; enforces backup gate before signing. */\r\nexport function getEmbeddedOfflineSigner(): OfflineDirectSigner {\r\n if (!activeSession) {\r\n throw new EmbeddedWalletVaultError(\"Embedded wallet is locked\");\r\n }\r\n assertVaultPermitsTransaction(activeSession.vault);\r\n\r\n const inner = activeSession.signer;\r\n return {\r\n getAccounts: () => inner.getAccounts(),\r\n signDirect: (signerAddress, signDoc) => inner.signDirect(signerAddress, signDoc),\r\n };\r\n}\r\n\r\n/** Mark backup downloaded/acknowledged and persist. Returns backup file payload. */\r\nexport async function acknowledgeEmbeddedBackup(\r\n options: AcknowledgeEmbeddedBackupOptions = {},\r\n): Promise<EmbeddedWalletBackupFileV1> {\r\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\r\n const vault = await loadVaultForScope(scopeId);\r\n if (!vault) {\r\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\r\n }\r\n const updated = markVaultBackupAcknowledged(vault);\r\n await saveVaultToIndexedDb(updated, { scopeId });\r\n if (activeSession) {\r\n activeSession = { ...activeSession, vault: updated };\r\n }\r\n return exportEncryptedBackup(updated);\r\n}\r\n\r\nexport function downloadEmbeddedBackupFile(backup: EmbeddedWalletBackupFileV1, filename?: string): void {\r\n const blob = new Blob([serializeBackupFile(backup)], { type: \"application/json\" });\r\n const url = URL.createObjectURL(blob);\r\n const anchor = document.createElement(\"a\");\r\n anchor.href = url;\r\n anchor.download = filename ?? `kingdom-os-wallet-backup-${backup.vault.publicAddress}.json`;\r\n anchor.click();\r\n URL.revokeObjectURL(url);\r\n}\r\n\r\n/** Restore vault from user-held backup file (requires passcode or passkey to decrypt). */\r\nexport async function importEmbeddedBackup(\r\n json: string,\r\n options: ImportEmbeddedBackupOptions = {},\r\n): Promise<EmbeddedWalletVaultV1> {\r\n const scopeId = scopeFromOptions(options);\r\n const existing = await loadVaultForScope(scopeId);\r\n if (existing && !options.replaceExisting) {\r\n throw new EmbeddedWalletVaultError(\r\n \"An embedded wallet already exists on this device; pass replaceExisting to import over it\",\r\n );\r\n }\r\n\r\n const backup = parseEncryptedBackup(json);\r\n await saveVaultToIndexedDb(backup.vault, { scopeId });\r\n lockEmbeddedWallet();\r\n activeScopeId = scopeId;\r\n return backup.vault;\r\n}\r\n\r\nexport async function clearEmbeddedWallet(options: ClearEmbeddedWalletOptions = {}): Promise<void> {\r\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\r\n lockEmbeddedWallet();\r\n await clearVaultFromIndexedDb({ scopeId });\r\n}\r\n","import type { EncodeObject } from \"@cosmjs/proto-signing\";\r\n\r\nimport {\r\n ATTESTATION_TYPE_CITIZENSHIP_APPLICATION,\r\n attestationSignPayload,\r\n providerSeedFromHex,\r\n signAttestationPayload,\r\n type AttestationPayloadInput,\r\n} from \"./attestation\";\r\nimport { MsgSubmitApplication } from \"./registry\";\r\n\r\nexport interface SubmitApplicationParams {\r\n applicantWallet: string;\r\n applicationId: string;\r\n chainId: string;\r\n providerId: string;\r\n policyVersion: string;\r\n providerSeedHex: string;\r\n nonce: string;\r\n uniquenessReference: string;\r\n issuedAt: Date;\r\n expiresAt: Date;\r\n providerKeyVersion?: bigint;\r\n}\r\n\r\nexport function buildSubmitApplicationMsg(\r\n applicantWallet: string,\r\n applicationId: string,\r\n attestationInput: AttestationPayloadInput,\r\n signature: string,\r\n): EncodeObject {\r\n return {\r\n typeUrl: \"/isatheword.kingdomchain.compliance.v1.MsgSubmitApplication\",\r\n value: MsgSubmitApplication.fromPartial({\r\n applicant_wallet: applicantWallet,\r\n application_id: applicationId,\r\n provider_id: attestationInput.providerId,\r\n provider_key_version: attestationInput.providerKeyVersion,\r\n chain_id: attestationInput.chainId,\r\n case_id: attestationInput.caseId,\r\n policy_version: attestationInput.policyVersion,\r\n nonce: attestationInput.nonce,\r\n uniqueness_reference: attestationInput.uniquenessReference,\r\n issued_at: attestationInput.issuedAt,\r\n expires_at: attestationInput.expiresAt,\r\n signature,\r\n }),\r\n };\r\n}\r\n\r\nexport async function signCitizenshipAttestation(\r\n params: SubmitApplicationParams,\r\n): Promise<{ signature: string; input: AttestationPayloadInput }> {\r\n const input: AttestationPayloadInput = {\r\n attestationType: ATTESTATION_TYPE_CITIZENSHIP_APPLICATION,\r\n chainId: params.chainId,\r\n intendedWallet: params.applicantWallet,\r\n caseId: params.applicationId,\r\n policyVersion: params.policyVersion,\r\n nonce: params.nonce,\r\n uniquenessReference: params.uniquenessReference,\r\n issuedAt: params.issuedAt,\r\n expiresAt: params.expiresAt,\r\n providerId: params.providerId,\r\n providerKeyVersion: params.providerKeyVersion ?? 1n,\r\n };\r\n const payload = attestationSignPayload(input);\r\n const providerSeed = providerSeedFromHex(params.providerSeedHex);\r\n const signature = await signAttestationPayload(providerSeed, payload);\r\n return { signature, input };\r\n}\r\n"]}
|