UNPKG

fido2-lib

Version:

A library for performing FIDO 2.0 / WebAuthn functionality

2,284 lines (2,281 loc) 1.41 MB
var __defProp = Object.defineProperty; var __export = (target2, all) => { for (var name in all) __defProp(target2, name, { get: all[name], enumerable: true }); }; // lib/utils.js var utils_exports = {}; __export(utils_exports, { ab2str: () => ab2str, abToBuf: () => abToBuf, abToHex: () => abToHex, abToInt: () => abToInt, abToPem: () => abToPem, appendBuffer: () => appendBuffer, arrayBufferEquals: () => arrayBufferEquals, b64ToJsObject: () => b64ToJsObject, coerceToArrayBuffer: () => coerceToArrayBuffer, coerceToBase64: () => coerceToBase64, coerceToBase64Url: () => coerceToBase64Url, isBase64Url: () => isBase64Url, isPem: () => isPem, isPositiveInteger: () => isPositiveInteger, jsObjectToB64: () => jsObjectToB64, pemToBase64: () => pemToBase64, str2ab: () => str2ab, tools: () => toolbox_exports }); // lib/toolbox.js var toolbox_exports = {}; __export(toolbox_exports, { base64: () => base64, cbor: () => cbor_v1_5_exports, checkDomainOrUrl: () => checkDomainOrUrl, checkOrigin: () => checkOrigin, checkRpId: () => checkRpId, checkUrl: () => checkUrl, decodeProtectedHeader: () => decodeProtectedHeader, fromBER: () => fromBER2, getEmbeddedJwk: () => getEmbeddedJwk, getHostname: () => getHostname, hashDigest: () => hashDigest, importJWK: () => importJWK, jwtVerify: () => jwtVerify, pkijs: () => pkijs, randomValues: () => randomValues, verifySignature: () => verifySignature, webcrypto: () => webcrypto2 }); // deno:https://unpkg.com/tldts@6.1.11/dist/index.esm.min.js function a(a2, o2) { let e2 = 0, i2 = a2.length, n2 = false; if (!o2) { if (a2.startsWith("data:")) return null; for (; e2 < a2.length && a2.charCodeAt(e2) <= 32; ) e2 += 1; for (; i2 > e2 + 1 && a2.charCodeAt(i2 - 1) <= 32; ) i2 -= 1; if (47 === a2.charCodeAt(e2) && 47 === a2.charCodeAt(e2 + 1)) e2 += 2; else { const o4 = a2.indexOf(":/", e2); if (-1 !== o4) { const i3 = o4 - e2, n3 = a2.charCodeAt(e2), s4 = a2.charCodeAt(e2 + 1), t3 = a2.charCodeAt(e2 + 2), r2 = a2.charCodeAt(e2 + 3), u2 = a2.charCodeAt(e2 + 4); if (5 === i3 && 104 === n3 && 116 === s4 && 116 === t3 && 112 === r2 && 115 === u2) ; else if (4 === i3 && 104 === n3 && 116 === s4 && 116 === t3 && 112 === r2) ; else if (3 === i3 && 119 === n3 && 115 === s4 && 115 === t3) ; else if (2 === i3 && 119 === n3 && 115 === s4) ; else for (let i4 = e2; i4 < o4; i4 += 1) { const o5 = 32 | a2.charCodeAt(i4); if (!(o5 >= 97 && o5 <= 122 || o5 >= 48 && o5 <= 57 || 46 === o5 || 45 === o5 || 43 === o5)) return null; } for (e2 = o4 + 2; 47 === a2.charCodeAt(e2); ) e2 += 1; } } let o3 = -1, s3 = -1, t2 = -1; for (let r2 = e2; r2 < i2; r2 += 1) { const e3 = a2.charCodeAt(r2); if (35 === e3 || 47 === e3 || 63 === e3) { i2 = r2; break; } 64 === e3 ? o3 = r2 : 93 === e3 ? s3 = r2 : 58 === e3 ? t2 = r2 : e3 >= 65 && e3 <= 90 && (n2 = true); } if (-1 !== o3 && o3 > e2 && o3 < i2 && (e2 = o3 + 1), 91 === a2.charCodeAt(e2)) return -1 !== s3 ? a2.slice(e2 + 1, s3).toLowerCase() : null; -1 !== t2 && t2 > e2 && t2 < i2 && (i2 = t2); } for (; i2 > e2 + 1 && 46 === a2.charCodeAt(i2 - 1); ) i2 -= 1; const s2 = 0 !== e2 || i2 !== a2.length ? a2.slice(e2, i2) : a2; return n2 ? s2.toLowerCase() : s2; } function o(a2) { return a2 >= 97 && a2 <= 122 || a2 >= 48 && a2 <= 57 || a2 > 127; } function e(a2) { if (a2.length > 255) return false; if (0 === a2.length) return false; if (!o(a2.charCodeAt(0)) && 46 !== a2.charCodeAt(0) && 95 !== a2.charCodeAt(0)) return false; let e2 = -1, i2 = -1; const n2 = a2.length; for (let s2 = 0; s2 < n2; s2 += 1) { const n3 = a2.charCodeAt(s2); if (46 === n3) { if (s2 - e2 > 64 || 46 === i2 || 45 === i2 || 95 === i2) return false; e2 = s2; } else if (!o(n3) && 45 !== n3 && 95 !== n3) return false; i2 = n3; } return n2 - e2 - 1 <= 63 && 45 !== i2; } var i = function({ allowIcannDomains: a2 = true, allowPrivateDomains: o2 = false, detectIp: e2 = true, extractHostname: i2 = true, mixedInputs: n2 = true, validHosts: s2 = null, validateHostname: t2 = true }) { return { allowIcannDomains: a2, allowPrivateDomains: o2, detectIp: e2, extractHostname: i2, mixedInputs: n2, validHosts: s2, validateHostname: t2 }; }({}); function n(o2, n2, s2, t2, r2) { const u2 = function(a2) { return void 0 === a2 ? i : function({ allowIcannDomains: a3 = true, allowPrivateDomains: o3 = false, detectIp: e2 = true, extractHostname: i2 = true, mixedInputs: n3 = true, validHosts: s3 = null, validateHostname: t3 = true }) { return { allowIcannDomains: a3, allowPrivateDomains: o3, detectIp: e2, extractHostname: i2, mixedInputs: n3, validHosts: s3, validateHostname: t3 }; }(a2); }(t2); return "string" != typeof o2 ? r2 : (u2.extractHostname ? u2.mixedInputs ? r2.hostname = a(o2, e(o2)) : r2.hostname = a(o2, false) : r2.hostname = o2, 0 === n2 || null === r2.hostname || u2.detectIp && (r2.isIp = function(a2) { if (a2.length < 3) return false; let o3 = a2.startsWith("[") ? 1 : 0, e2 = a2.length; if ("]" === a2[e2 - 1] && (e2 -= 1), e2 - o3 > 39) return false; let i2 = false; for (; o3 < e2; o3 += 1) { const e3 = a2.charCodeAt(o3); if (58 === e3) i2 = true; else if (!(e3 >= 48 && e3 <= 57 || e3 >= 97 && e3 <= 102 || e3 >= 65 && e3 <= 90)) return false; } return i2; }(l = r2.hostname) || function(a2) { if (a2.length < 7) return false; if (a2.length > 15) return false; let o3 = 0; for (let e2 = 0; e2 < a2.length; e2 += 1) { const i2 = a2.charCodeAt(e2); if (46 === i2) o3 += 1; else if (i2 < 48 || i2 > 57) return false; } return 3 === o3 && 46 !== a2.charCodeAt(0) && 46 !== a2.charCodeAt(a2.length - 1); }(l), r2.isIp) ? r2 : u2.validateHostname && u2.extractHostname && !e(r2.hostname) ? (r2.hostname = null, r2) : (s2(r2.hostname, u2, r2), 2 === n2 || null === r2.publicSuffix ? r2 : (r2.domain = function(a2, o3, e2) { if (null !== e2.validHosts) { const a3 = e2.validHosts; for (const e3 of a3) if (function(a4, o4) { return !!a4.endsWith(o4) && (a4.length === o4.length || "." === a4[a4.length - o4.length - 1]); }(o3, e3)) return e3; } let i2 = 0; if (o3.startsWith(".")) for (; i2 < o3.length && "." === o3[i2]; ) i2 += 1; return a2.length === o3.length - i2 ? null : function(a3, o4) { const e3 = a3.length - o4.length - 2, i3 = a3.lastIndexOf(".", e3); return -1 === i3 ? a3 : a3.slice(i3 + 1); }(o3, a2); }(r2.publicSuffix, r2.hostname, u2), 3 === n2 || null === r2.domain ? r2 : (r2.subdomain = function(a2, o3) { return o3.length === a2.length ? "" : a2.slice(0, -o3.length - 1); }(r2.hostname, r2.domain), 4 === n2 || (r2.domainWithoutSuffix = (m2 = r2.domain, c = r2.publicSuffix, m2.slice(0, -c.length - 1))), r2)))); var l, m2, c; } var s = /* @__PURE__ */ function() { const a2 = [ 1, {} ], o2 = [ 0, { city: a2 } ]; return [ 0, { ck: [ 0, { www: a2 } ], jp: [ 0, { kawasaki: o2, kitakyushu: o2, kobe: o2, nagoya: o2, sapporo: o2, sendai: o2, yokohama: o2 } ] } ]; }(); var t = /* @__PURE__ */ function() { const a2 = [ 1, {} ], o2 = [ 2, {} ], e2 = [ 1, { gov: a2, com: a2, org: a2, net: a2, edu: a2 } ], i2 = [ 0, { "*": o2 } ], n2 = [ 1, { blogspot: o2 } ], s2 = [ 1, { gov: a2 } ], t2 = [ 0, { notebook: o2, studio: o2 } ], r2 = [ 0, { notebook: o2 } ], u2 = [ 0, { notebook: o2, "notebook-fips": o2, studio: o2 } ], l = [ 0, { notebook: o2, "notebook-fips": o2, studio: o2, "studio-fips": o2 } ], m2 = [ 0, { "*": a2 } ], c = [ 0, { cloud: o2 } ], d = [ 1, { co: o2 } ], g = [ 2, { nodes: o2 } ], k = [ 0, { s3: o2, "s3-accesspoint": o2, "s3-website": o2 } ], h = [ 0, { s3: o2, "s3-accesspoint": o2 } ], p = [ 0, { "execute-api": o2, "emrappui-prod": o2, "emrnotebooks-prod": o2, "emrstudio-prod": o2, dualstack: h, s3: o2, "s3-accesspoint": o2, "s3-object-lambda": o2, "s3-website": o2 } ], b = [ 0, { direct: o2 } ], y = [ 2, { id: o2 } ], f = [ 0, { "webview-assets": o2 } ], v = [ 0, { vfs: o2, "webview-assets": o2 } ], w = [ 0, { "execute-api": o2, "emrappui-prod": o2, "emrnotebooks-prod": o2, "emrstudio-prod": o2, dualstack: k, s3: o2, "s3-accesspoint": o2, "s3-object-lambda": o2, "s3-website": o2, "aws-cloud9": f, cloud9: v } ], x = [ 0, { "execute-api": o2, "emrappui-prod": o2, "emrnotebooks-prod": o2, "emrstudio-prod": o2, dualstack: h, s3: o2, "s3-accesspoint": o2, "s3-object-lambda": o2, "s3-website": o2, "aws-cloud9": f, cloud9: v } ], z = [ 0, { "execute-api": o2, "emrappui-prod": o2, "emrnotebooks-prod": o2, "emrstudio-prod": o2, dualstack: k, s3: o2, "s3-accesspoint": o2, "s3-object-lambda": o2, "s3-website": o2, "analytics-gateway": o2, "aws-cloud9": f, cloud9: v } ], j = [ 0, { "execute-api": o2, dualstack: h, s3: o2, "s3-accesspoint": o2, "s3-object-lambda": o2, "s3-website": o2 } ], q = [ 0, { s3: o2, "s3-accesspoint": o2, "s3-accesspoint-fips": o2, "s3-fips": o2, "s3-website": o2 } ], I = [ 0, { "execute-api": o2, "emrappui-prod": o2, "emrnotebooks-prod": o2, "emrstudio-prod": o2, dualstack: q, s3: o2, "s3-accesspoint": o2, "s3-accesspoint-fips": o2, "s3-fips": o2, "s3-object-lambda": o2, "s3-website": o2, "aws-cloud9": f, cloud9: v } ], S = [ 0, { s3: o2, "s3-accesspoint": o2, "s3-accesspoint-fips": o2, "s3-fips": o2 } ], C = [ 0, { "execute-api": o2, "emrappui-prod": o2, "emrnotebooks-prod": o2, "emrstudio-prod": o2, dualstack: S, s3: o2, "s3-accesspoint": o2, "s3-accesspoint-fips": o2, "s3-fips": o2, "s3-object-lambda": o2, "s3-website": o2 } ], A = [ 0, { auth: o2 } ], P = [ 0, { auth: o2, "auth-fips": o2 } ], H = [ 0, { apps: o2 } ], W = [ 0, { paas: o2 } ], D = [ 0, { app: o2 } ], O = [ 2, { eu: o2 } ], L = [ 0, { site: o2 } ], B = [ 0, { pages: o2 } ], E = [ 1, { com: a2, edu: a2, net: a2, org: a2 } ], F = [ 0, { j: o2 } ], G = [ 0, { jelastic: o2 } ], J = [ 0, { user: o2 } ], K = [ 1, { ybo: o2 } ], M = [ 0, { cust: o2, reservd: o2 } ], N = [ 0, { cust: o2 } ], Q = [ 1, { gov: a2, edu: a2, mil: a2, com: a2, org: a2, net: a2 } ], R = [ 0, { s3: o2 } ], T = [ 1, { edu: a2, biz: a2, net: a2, org: a2, gov: a2, info: a2, com: a2 } ], U = [ 1, { gov: a2, blogspot: o2 } ], V = [ 1, { framer: o2 } ], X2 = [ 1, { barsy: o2 } ], Y2 = [ 0, { forgot: o2 } ], Z = [ 1, { gs: a2 } ], $ = [ 0, { nes: a2 } ], _ = [ 1, { k12: a2, cc: a2, lib: a2 } ], aa = [ 1, { cc: a2, lib: a2 } ]; return [ 0, { ac: [ 1, { com: a2, edu: a2, gov: a2, net: a2, mil: a2, org: a2, drr: o2 } ], ad: [ 1, { nom: a2 } ], ae: [ 1, { co: a2, net: a2, org: a2, sch: a2, ac: a2, gov: a2, mil: a2, blogspot: o2 } ], aero: [ 1, { "accident-investigation": a2, "accident-prevention": a2, aerobatic: a2, aeroclub: a2, aerodrome: a2, agents: a2, aircraft: a2, airline: a2, airport: a2, "air-surveillance": a2, airtraffic: a2, "air-traffic-control": a2, ambulance: a2, amusement: a2, association: a2, author: a2, ballooning: a2, broker: a2, caa: a2, cargo: a2, catering: a2, certification: a2, championship: a2, charter: a2, civilaviation: a2, club: a2, conference: a2, consultant: a2, consulting: a2, control: a2, council: a2, crew: a2, design: a2, dgca: a2, educator: a2, emergency: a2, engine: a2, engineer: a2, entertainment: a2, equipment: a2, exchange: a2, express: a2, federation: a2, flight: a2, fuel: a2, gliding: a2, government: a2, groundhandling: a2, group: a2, hanggliding: a2, homebuilt: a2, insurance: a2, journal: a2, journalist: a2, leasing: a2, logistics: a2, magazine: a2, maintenance: a2, media: a2, microlight: a2, modelling: a2, navigation: a2, parachuting: a2, paragliding: a2, "passenger-association": a2, pilot: a2, press: a2, production: a2, recreation: a2, repbody: a2, res: a2, research: a2, rotorcraft: a2, safety: a2, scientist: a2, services: a2, show: a2, skydiving: a2, software: a2, student: a2, trader: a2, trading: a2, trainer: a2, union: a2, workinggroup: a2, works: a2 } ], af: e2, ag: [ 1, { com: a2, org: a2, net: a2, co: a2, nom: a2 } ], ai: [ 1, { off: a2, com: a2, net: a2, org: a2, uwu: o2 } ], al: [ 1, { com: a2, edu: a2, gov: a2, mil: a2, net: a2, org: a2, blogspot: o2 } ], am: [ 1, { co: a2, com: a2, commune: a2, net: a2, org: a2, radio: o2, blogspot: o2, neko: o2, nyaa: o2 } ], ao: [ 1, { ed: a2, gv: a2, og: a2, co: a2, pb: a2, it: a2 } ], aq: a2, ar: [ 1, { bet: a2, com: n2, coop: a2, edu: a2, gob: a2, gov: a2, int: a2, mil: a2, musica: a2, mutual: a2, net: a2, org: a2, senasa: a2, tur: a2 } ], arpa: [ 1, { e164: a2, "in-addr": a2, ip6: a2, iris: a2, uri: a2, urn: a2 } ], as: s2, asia: [ 1, { cloudns: o2 } ], at: [ 1, { ac: [ 1, { sth: a2 } ], co: n2, gv: a2, or: a2, funkfeuer: [ 0, { wien: o2 } ], futurecms: [ 0, { "*": o2, ex: i2, in: i2 } ], futurehosting: o2, futuremailing: o2, ortsinfo: [ 0, { ex: i2, kunden: i2 } ], biz: o2, info: o2, "123webseite": o2, priv: o2, myspreadshop: o2, "12hp": o2, "2ix": o2, "4lima": o2, "lima-city": o2 } ], au: [ 1, { com: [ 1, { blogspot: o2, cloudlets: [ 0, { mel: o2 } ], myspreadshop: o2 } ], net: a2, org: a2, edu: [ 1, { act: a2, catholic: a2, nsw: [ 1, { schools: a2 } ], nt: a2, qld: a2, sa: a2, tas: a2, vic: a2, wa: a2 } ], gov: [ 1, { qld: a2, sa: a2, tas: a2, vic: a2, wa: a2 } ], asn: a2, id: a2, info: a2, conf: a2, oz: a2, act: a2, nsw: a2, nt: a2, qld: a2, sa: a2, tas: a2, vic: a2, wa: a2 } ], aw: [ 1, { com: a2 } ], ax: [ 1, { be: o2, cat: o2, es: o2, eu: o2, gg: o2, mc: o2, us: o2, xy: o2 } ], az: [ 1, { com: a2, net: a2, int: a2, gov: a2, org: a2, edu: a2, info: a2, pp: a2, mil: a2, name: a2, pro: a2, biz: a2 } ], ba: [ 1, { com: a2, edu: a2, gov: a2, mil: a2, net: a2, org: a2, rs: o2, blogspot: o2 } ], bb: [ 1, { biz: a2, co: a2, com: a2, edu: a2, gov: a2, info: a2, net: a2, org: a2, store: a2, tv: a2 } ], bd: m2, be: [ 1, { ac: a2, webhosting: o2, blogspot: o2, interhostsolutions: c, kuleuven: [ 0, { ezproxy: o2 } ], "123website": o2, myspreadshop: o2, transurl: i2 } ], bf: s2, bg: [ 1, { 0: a2, 1: a2, 2: a2, 3: a2, 4: a2, 5: a2, 6: a2, 7: a2, 8: a2, 9: a2, a: a2, b: a2, c: a2, d: a2, e: a2, f: a2, g: a2, h: a2, i: a2, j: a2, k: a2, l: a2, m: a2, n: a2, o: a2, p: a2, q: a2, r: a2, s: a2, t: a2, u: a2, v: a2, w: a2, x: a2, y: a2, z: a2, blogspot: o2, barsy: o2 } ], bh: e2, bi: [ 1, { co: a2, com: a2, edu: a2, or: a2, org: a2 } ], biz: [ 1, { activetrail: o2, cloudns: o2, jozi: o2, dyndns: o2, "for-better": o2, "for-more": o2, "for-some": o2, "for-the": o2, selfip: o2, webhop: o2, orx: o2, mmafan: o2, myftp: o2, "no-ip": o2, dscloud: o2 } ], bj: [ 1, { africa: a2, agro: a2, architectes: a2, assur: a2, avocats: a2, co: a2, com: a2, eco: a2, econo: a2, edu: a2, info: a2, loisirs: a2, money: a2, net: a2, org: a2, ote: a2, resto: a2, restaurant: a2, tourism: a2, univ: a2, blogspot: o2 } ], bm: e2, bn: [ 1, { com: a2, edu: a2, gov: a2, net: a2, org: a2, co: o2 } ], bo: [ 1, { com: a2, edu: a2, gob: a2, int: a2, org: a2, net: a2, mil: a2, tv: a2, web: a2, academia: a2, agro: a2, arte: a2, blog: a2, bolivia: a2, ciencia: a2, cooperativa: a2, democracia: a2, deporte: a2, ecologia: a2, economia: a2, empresa: a2, indigena: a2, industria: a2, info: a2, medicina: a2, movimiento: a2, musica: a2, natural: a2, nombre: a2, noticias: a2, patria: a2, politica: a2, profesional: a2, plurinacional: a2, pueblo: a2, revista: a2, salud: a2, tecnologia: a2, tksat: a2, transporte: a2, wiki: a2 } ], br: [ 1, { "9guacu": a2, abc: a2, adm: a2, adv: a2, agr: a2, aju: a2, am: a2, anani: a2, aparecida: a2, app: a2, arq: a2, art: a2, ato: a2, b: a2, barueri: a2, belem: a2, bhz: a2, bib: a2, bio: a2, blog: a2, bmd: a2, boavista: a2, bsb: a2, campinagrande: a2, campinas: a2, caxias: a2, cim: a2, cng: a2, cnt: a2, com: [ 1, { blogspot: o2, simplesite: o2 } ], contagem: a2, coop: a2, coz: a2, cri: a2, cuiaba: a2, curitiba: a2, def: a2, des: a2, det: a2, dev: a2, ecn: a2, eco: a2, edu: a2, emp: a2, enf: a2, eng: a2, esp: a2, etc: a2, eti: a2, far: a2, feira: a2, flog: a2, floripa: a2, fm: a2, fnd: a2, fortal: a2, fot: a2, foz: a2, fst: a2, g12: a2, geo: a2, ggf: a2, goiania: a2, gov: [ 1, { ac: a2, al: a2, am: a2, ap: a2, ba: a2, ce: a2, df: a2, es: a2, go: a2, ma: a2, mg: a2, ms: a2, mt: a2, pa: a2, pb: a2, pe: a2, pi: a2, pr: a2, rj: a2, rn: a2, ro: a2, rr: a2, rs: a2, sc: a2, se: a2, sp: a2, to: a2 } ], gru: a2, imb: a2, ind: a2, inf: a2, jab: a2, jampa: a2, jdf: a2, joinville: a2, jor: a2, jus: a2, leg: [ 1, { ac: o2, al: o2, am: o2, ap: o2, ba: o2, ce: o2, df: o2, es: o2, go: o2, ma: o2, mg: o2, ms: o2, mt: o2, pa: o2, pb: o2, pe: o2, pi: o2, pr: o2, rj: o2, rn: o2, ro: o2, rr: o2, rs: o2, sc: o2, se: o2, sp: o2, to: o2 } ], lel: a2, log: a2, londrina: a2, macapa: a2, maceio: a2, manaus: a2, maringa: a2, mat: a2, med: a2, mil: a2, morena: a2, mp: a2, mus: a2, natal: a2, net: a2, niteroi: a2, nom: m2, not: a2, ntr: a2, odo: a2, ong: a2, org: a2, osasco: a2, palmas: a2, poa: a2, ppg: a2, pro: a2, psc: a2, psi: a2, pvh: a2, qsl: a2, radio: a2, rec: a2, recife: a2, rep: a2, ribeirao: a2, rio: a2, riobranco: a2, riopreto: a2, salvador: a2, sampa: a2, santamaria: a2, santoandre: a2, saobernardo: a2, saogonca: a2, seg: a2, sjc: a2, slg: a2, slz: a2, sorocaba: a2, srv: a2, taxi: a2, tc: a2, tec: a2, teo: a2, the: a2, tmp: a2, trd: a2, tur: a2, tv: a2, udi: a2, vet: a2, vix: a2, vlog: a2, wiki: a2, zlg: a2 } ], bs: [ 1, { com: a2, net: a2, org: a2, edu: a2, gov: a2, we: o2 } ], bt: e2, bv: a2, bw: [ 1, { co: a2, org: a2 } ], by: [ 1, { gov: a2, mil: a2, com: n2, of: a2, mycloud: o2, mediatech: o2 } ], bz: [ 1, { com: a2, net: a2, org: a2, edu: a2, gov: a2, za: o2, gsj: o2 } ], ca: [ 1, { ab: a2, bc: a2, mb: a2, nb: a2, nf: a2, nl: a2, ns: a2, nt: a2, nu: a2, on: a2, pe: a2, qc: a2, sk: a2, yk: a2, gc: a2, barsy: o2, awdev: i2, co: o2, blogspot: o2, "no-ip": o2, myspreadshop: o2 } ], cat: a2, cc: [ 1, { cloudns: o2, ftpaccess: o2, "game-server": o2, myphotos: o2, scrapping: o2, twmail: o2, csx: o2, fantasyleague: o2, spawn: [ 0, { instances: o2 } ] } ], cd: s2, cf: n2, cg: a2, ch: [ 1, { square7: o2, blogspot: o2, flow: [ 0, { ae: [ 0, { alp1: o2 } ], appengine: o2 } ], "linkyard-cloud": o2, dnsking: o2, gotdns: o2, "123website": o2, myspreadshop: o2, firenet: [ 0, { "*": o2, svc: i2 } ], "12hp": o2, "2ix": o2, "4lima": o2, "lima-city": o2 } ], ci: [ 1, { org: a2, or: a2, com: a2, co: a2, edu: a2, ed: a2, ac: a2, net: a2, go: a2, asso: a2, "xn--aroport-bya": a2, "a\xE9roport": a2, int: a2, presse: a2, md: a2, gouv: a2, fin: o2, nl: o2 } ], ck: m2, cl: [ 1, { co: a2, gob: a2, gov: a2, mil: a2, blogspot: o2 } ], cm: [ 1, { co: a2, com: a2, gov: a2, net: a2 } ], cn: [ 1, { ac: a2, com: [ 1, { amazonaws: [ 0, { "cn-north-1": [ 0, { "execute-api": o2, "emrappui-prod": o2, "emrnotebooks-prod": o2, "emrstudio-prod": o2, dualstack: k, s3: o2, "s3-accesspoint": o2, "s3-deprecated": o2, "s3-object-lambda": o2, "s3-website": o2 } ], "cn-northwest-1": p, compute: i2, airflow: [ 0, { "cn-north-1": i2, "cn-northwest-1": i2 } ], eb: [ 0, { "cn-north-1": o2, "cn-northwest-1": o2 } ], elb: i2 } ], sagemaker: [ 0, { "cn-north-1": t2, "cn-northwest-1": t2 } ] } ], edu: a2, gov: a2, net: a2, org: a2, mil: a2, "xn--55qx5d": a2, "\u516C\u53F8": a2, "xn--io0a7i": a2, "\u7F51\u7EDC": a2, "xn--od0alg": a2, "\u7DB2\u7D61": a2, ah: a2, bj: a2, cq: a2, fj: a2, gd: a2, gs: a2, gz: a2, gx: a2, ha: a2, hb: a2, he: a2, hi: a2, hl: a2, hn: a2, jl: a2, js: a2, jx: a2, ln: a2, nm: a2, nx: a2, qh: a2, sc: a2, sd: a2, sh: a2, sn: a2, sx: a2, tj: a2, xj: a2, xz: a2, yn: a2, zj: a2, hk: a2, mo: a2, tw: a2, "canva-apps": o2, instantcloud: o2, quickconnect: b } ], co: [ 1, { arts: a2, com: n2, edu: a2, firm: a2, gov: a2, info: a2, int: a2, mil: a2, net: a2, nom: a2, org: a2, rec: a2, web: a2, carrd: o2, crd: o2, otap: i2, leadpages: o2, lpages: o2, mypi: o2, n4t: o2, firewalledreplit: y, repl: y, supabase: o2 } ], com: [ 1, { a2hosted: o2, cpserver: o2, devcdnaccesso: i2, adobeaemcloud: [ 2, { dev: i2 } ], airkitapps: o2, "airkitapps-au": o2, aivencloud: o2, kasserver: o2, amazonaws: [ 0, { "af-south-1": w, "ap-east-1": x, "ap-northeast-1": z, "ap-northeast-2": z, "ap-northeast-3": w, "ap-south-1": z, "ap-south-2": j, "ap-southeast-1": z, "ap-southeast-2": z, "ap-southeast-3": p, "ap-southeast-4": j, "ca-central-1": I, "ca-west-1": [ 0, { "execute-api": o2, dualstack: q, s3: o2, "s3-accesspoint": o2, "s3-accesspoint-fips": o2, "s3-fips": o2, "s3-website": o2 } ], "eu-central-1": z, "eu-central-2": j, "eu-north-1": x, "eu-south-1": w, "eu-south-2": j, "eu-west-1": [ 0, { "execute-api": o2, "emrappui-prod": o2, "emrnotebooks-prod": o2, "emrstudio-prod": o2, dualstack: k, s3: o2, "s3-accesspoint": o2, "s3-deprecated": o2, "s3-object-lambda": o2, "s3-website": o2, "analytics-gateway": o2, "aws-cloud9": f, cloud9: v } ], "eu-west-2": x, "eu-west-3": w, "il-central-1": [ 0, { "execute-api": o2, dualstack: h, s3: o2, "s3-accesspoint": o2, "s3-object-lambda": o2, "s3-website": o2, "aws-cloud9": f, cloud9: [ 0, { vfs: o2 } ] } ], "me-central-1": p, "me-south-1": x, "sa-east-1": w, "us-east-1": [ 2, { "execute-api": o2, "emrappui-prod": o2, "emrnotebooks-prod": o2, "emrstudio-prod": o2, dualstack: q, s3: o2, "s3-accesspoint": o2, "s3-accesspoint-fips": o2, "s3-deprecated": o2, "s3-fips": o2, "s3-object-lambda": o2, "s3-website": o2, "analytics-gateway": o2, "aws-cloud9": f, cloud9: v } ], "us-east-2": [ 0, { "execute-api": o2, "emrappui-prod": o2, "emrnotebooks-prod": o2, "emrstudio-prod": o2, dualstack: S, s3: o2, "s3-accesspoint": o2, "s3-accesspoint-fips": o2, "s3-deprecated": o2, "s3-fips": o2, "s3-object-lambda": o2, "s3-website": o2, "analytics-gateway": o2, "aws-cloud9": f, cloud9: v } ], "us-gov-east-1": C, "us-gov-west-1": C, "us-west-1": I, "us-west-2": [ 0, { "execute-api": o2, "emrappui-prod": o2, "emrnotebooks-prod": o2, "emrstudio-prod": o2, dualstack: q, s3: o2, "s3-accesspoint": o2, "s3-accesspoint-fips": o2, "s3-deprecated": o2, "s3-fips": o2, "s3-object-lambda": o2, "s3-website": o2, "analytics-gateway": o2, "aws-cloud9": f, cloud9: v } ], compute: i2, "compute-1": i2, airflow: [ 0, { "ap-northeast-1": i2, "ap-northeast-2": i2, "ap-south-1": i2, "ap-southeast-1": i2, "ap-southeast-2": i2, "ca-central-1": i2, "eu-central-1": i2, "eu-north-1": i2, "eu-west-1": i2, "eu-west-2": i2, "eu-west-3": i2, "sa-east-1": i2, "us-east-1": i2, "us-east-2": i2, "us-west-2": i2 } ], s3: o2, "s3-1": o2, "s3-ap-east-1": o2, "s3-ap-northeast-1": o2, "s3-ap-northeast-2": o2, "s3-ap-northeast-3": o2, "s3-ap-south-1": o2, "s3-ap-southeast-1": o2, "s3-ap-southeast-2": o2, "s3-ca-central-1": o2, "s3-eu-central-1": o2, "s3-eu-north-1": o2, "s3-eu-west-1": o2, "s3-eu-west-2": o2, "s3-eu-west-3": o2, "s3-external-1": o2, "s3-fips-us-gov-east-1": o2, "s3-fips-us-gov-west-1": o2, "s3-global": [ 0, { accesspoint: [ 0, { mrap: o2 } ] } ], "s3-me-south-1": o2, "s3-sa-east-1": o2, "s3-us-east-2": o2, "s3-us-gov-east-1": o2, "s3-us-gov-west-1": o2, "s3-us-west-1": o2, "s3-us-west-2": o2, "s3-website-ap-northeast-1": o2, "s3-website-ap-southeast-1": o2, "s3-website-ap-southeast-2": o2, "s3-website-eu-west-1": o2, "s3-website-sa-east-1": o2, "s3-website-us-east-1": o2, "s3-website-us-gov-west-1": o2, "s3-website-us-west-1": o2, "s3-website-us-west-2": o2, elb: i2 } ], amazoncognito: [ 0, { "af-south-1": A, "ap-northeast-1": A, "ap-northeast-2": A, "ap-northeast-3": A, "ap-south-1": A, "ap-southeast-1": A, "ap-southeast-2": A, "ap-southeast-3": A, "ca-central-1": A, "eu-central-1": A, "eu-north-1": A, "eu-south-1": A, "eu-west-1": A, "eu-west-2": A, "eu-west-3": A, "il-central-1": A, "me-south-1": A, "sa-east-1": A, "us-east-1": P, "us-east-2": P, "us-gov-west-1": [ 0, { "auth-fips": o2 } ], "us-west-1": P, "us-west-2": P } ], amplifyapp: i2, awsapprunner: i2, elasticbeanstalk: [ 2, { "af-south-1": o2, "ap-east-1": o2, "ap-northeast-1": o2, "ap-northeast-2": o2, "ap-northeast-3": o2, "ap-south-1": o2, "ap-southeast-1": o2, "ap-southeast-2": o2, "ap-southeast-3": o2, "ca-central-1": o2, "eu-central-1": o2, "eu-north-1": o2, "eu-south-1": o2, "eu-west-1": o2, "eu-west-2": o2, "eu-west-3": o2, "il-central-1": o2, "me-south-1": o2, "sa-east-1": o2, "us-east-1": o2, "us-east-2": o2, "us-gov-east-1": o2, "us-gov-west-1": o2, "us-west-1": o2, "us-west-2": o2 } ], awsglobalaccelerator: o2, siiites: o2, appspacehosted: o2, appspaceusercontent: o2, "on-aptible": o2, myasustor: o2, "balena-devices": o2, betainabox: o2, boutir: o2, bplaced: o2, cafjs: o2, "canva-apps": o2, br: o2, cn: o2, de: o2, eu: o2, jpn: o2, mex: o2, ru: o2, sa: o2, uk: o2, us: o2, za: o2, ar: o2, hu: o2, kr: o2, no: o2, qc: o2, uy: o2, africa: o2, gr: o2, co: o2, jdevcloud: o2, wpdevcloud: o2, cloudcontrolled: o2, cloudcontrolapp: o2, "cf-ipfs": o2, "cloudflare-ipfs": o2, trycloudflare: o2, cprapid: i2, "customer-oci": [ 0, { "*": o2, oci: i2, ocp: i2, ocs: i2 } ], "cyclic-app": o2, dattolocal: o2, dattorelay: o2, dattoweb: o2, mydatto: o2, builtwithdark: o2, datadetect: [ 0, { demo: o2, instance: o2 } ], ddns5: o2, discordsays: o2, discordsez: o2, drayddns: o2, dreamhosters: o2, mydrobo: o2, "dyndns-at-home": o2, "dyndns-at-work": o2, "dyndns-blog": o2, "dyndns-free": o2, "dyndns-home": o2, "dyndns-ip": o2, "dyndns-mail": o2, "dyndns-office": o2, "dyndns-pics": o2, "dyndns-remote": o2, "dyndns-server": o2, "dyndns-web": o2, "dyndns-wiki": o2, "dyndns-work": o2, blogdns: o2, cechire: o2, dnsalias: o2, dnsdojo: o2, doesntexist: o2, dontexist: o2, doomdns: o2, "dyn-o-saur": o2, dynalias: o2, "est-a-la-maison": o2, "est-a-la-masion": o2, "est-le-patron": o2, "est-mon-blogueur": o2, "from-ak": o2, "from-al": o2, "from-ar": o2, "from-ca": o2, "from-ct": o2, "from-dc": o2, "from-de": o2, "from-fl": o2, "from-ga": o2, "from-hi": o2, "from-ia": o2, "from-id": o2, "from-il": o2, "from-in": o2, "from-ks": o2, "from-ky": o2, "from-ma": o2, "from-md": o2, "from-mi": o2, "from-mn": o2, "from-mo": o2, "from-ms": o2, "from-mt": o2, "from-nc": o2, "from-nd": o2, "from-ne": o2, "from-nh": o2, "from-nj": o2, "from-nm": o2, "from-nv": o2, "from-oh": o2, "from-ok": o2, "from-or": o2, "from-pa": o2, "from-pr": o2, "from-ri": o2, "from-sc": o2, "from-sd": o2, "from-tn": o2, "from-tx": o2, "from-ut": o2, "from-va": o2, "from-vt": o2, "from-wa": o2, "from-wi": o2, "from-wv": o2, "from-wy": o2, getmyip: o2, gotdns: o2, "hobby-site": o2, homelinux: o2, homeunix: o2, iamallama: o2, "is-a-anarchist": o2, "is-a-blogger": o2, "is-a-bookkeeper": o2, "is-a-bulls-fan": o2, "is-a-caterer": o2, "is-a-chef": o2, "is-a-conservative": o2, "is-a-cpa": o2, "is-a-cubicle-slave": o2, "is-a-democrat": o2, "is-a-designer": o2, "is-a-doctor": o2, "is-a-financialadvisor": o2, "is-a-geek": o2, "is-a-green": o2, "is-a-guru": o2, "is-a-hard-worker": o2, "is-a-hunter": o2, "is-a-landscaper": o2, "is-a-lawyer": o2, "is-a-liberal": o2, "is-a-libertarian": o2, "is-a-llama": o2, "is-a-musician": o2, "is-a-nascarfan": o2, "is-a-nurse": o2, "is-a-painter": o2, "is-a-personaltrainer": o2, "is-a-photographer": o2, "is-a-player": o2, "is-a-republican": o2, "is-a-rockstar": o2, "is-a-socialist": o2, "is-a-student": o2, "is-a-teacher": o2, "is-a-techie": o2, "is-a-therapist": o2, "is-an-accountant": o2, "is-an-actor": o2, "is-an-actress": o2, "is-an-anarchist": o2, "is-an-artist": o2, "is-an-engineer": o2, "is-an-entertainer": o2, "is-certified": o2, "is-gone": o2, "is-into-anime": o2, "is-into-cars": o2, "is-into-cartoons": o2, "is-into-games": o2, "is-leet": o2, "is-not-certified": o2, "is-slick": o2, "is-uberleet": o2, "is-with-theband": o2, "isa-geek": o2, "isa-hockeynut": o2, issmarterthanyou: o2, "likes-pie": o2, likescandy: o2, "neat-url": o2, "saves-the-whales": o2, selfip: o2, "sells-for-less": o2, "sells-for-u": o2, servebbs: o2, "simple-url": o2, "space-to-rent": o2, "teaches-yoga": o2, writesthisblog: o2, digitaloceanspaces: i2, ddnsfree: o2, ddnsgeek: o2, giize: o2, gleeze: o2, kozow: o2, loseyourip: o2, ooguy: o2, theworkpc: o2, mytuleap: o2, "tuleap-partners": o2, encoreapi: o2, evennode: [ 0, { "eu-1": o2, "eu-2": o2, "eu-3": o2, "eu-4": o2, "us-1": o2, "us-2": o2, "us-3": o2, "us-4": o2 } ], onfabrica: o2, "fastly-edge": o2, "fastly-terrarium": o2, "fastvps-server": o2, mydobiss: o2, firebaseapp: o2, fldrv: o2, forgeblocks: o2, framercanvas: o2, "freebox-os": o2, freeboxos: o2, freemyip: o2, aliases121: o2, gentapps: o2, gentlentapis: o2, githubusercontent: o2, "0emm": i2, appspot: [ 2, { r: i2 } ], codespot: o2, googleapis: o2, googlecode: o2, pagespeedmobilizer: o2, publishproxy: o2, withgoogle: o2, withyoutube: o2, blogspot: o2, awsmppl: o2, herokuapp: o2, herokussl: o2, impertrixcdn: o2, impertrix: o2, smushcdn: o2, wphostedmail: o2, wpmucdn: o2, pixolino: o2, amscompute: o2, dopaas: o2, "hosted-by-previder": W, hosteur: [ 0, { "rag-cloud": o2, "rag-cloud-ch": o2 } ], "ik-server": [ 0, { jcloud: o2, "jcloud-ver-jpc": o2 } ], jelastic: [ 0, { demo: o2 } ], kilatiron: o2, massivegrid: W, wafaicloud: [ 0, { jed: o2, lon: o2, ryd: o2 } ], joyent: [ 0, { cns: i2 } ], ktistory: o2, lpuserconten