"use strict";function a(a,e){let o=0,i=a.length,s=!1;if(!e){if(a.startsWith("data:"))return null;for(;oo+1&&a.charCodeAt(i-1)<=32;)i-=1;if(47===a.charCodeAt(o)&&47===a.charCodeAt(o+1))o+=2;else{const e=a.indexOf(":/",o);if(-1!==e){const i=e-o,s=a.charCodeAt(o),n=a.charCodeAt(o+1),t=a.charCodeAt(o+2),r=a.charCodeAt(o+3),u=a.charCodeAt(o+4);if(5===i&&104===s&&116===n&&116===t&&112===r&&115===u);else if(4===i&&104===s&&116===n&&116===t&&112===r);else if(3===i&&119===s&&115===n&&115===t);else if(2===i&&119===s&&115===n);else for(let i=o;i=97&&e<=122||e>=48&&e<=57||46===e||45===e||43===e))return null}for(o=e+2;47===a.charCodeAt(o);)o+=1}}let e=-1,n=-1,t=-1;for(let r=o;r=65&&o<=90&&(s=!0)}if(-1!==e&&e>o&&eo&&to+1&&46===a.charCodeAt(i-1);)i-=1;const n=0!==o||i!==a.length?a.slice(o,i):a;return s?n.toLowerCase():n}function e(a){return a>=97&&a<=122||a>=48&&a<=57||a>127}function o(a){if(a.length>255)return!1;if(0===a.length)return!1;if(!e(a.charCodeAt(0))&&46!==a.charCodeAt(0)&&95!==a.charCodeAt(0))return!1;let o=-1,i=-1;const s=a.length;for(let n=0;n64||46===i||45===i||95===i)return!1;o=n}else if(!e(s)&&45!==s&&95!==s)return!1;i=s}return s-o-1<=63&&45!==i}const i=function({allowIcannDomains:a=!0,allowPrivateDomains:e=!1,detectIp:o=!0,extractHostname:i=!0,mixedInputs:s=!0,validHosts:n=null,validateHostname:t=!0}){return{allowIcannDomains:a,allowPrivateDomains:e,detectIp:o,extractHostname:i,mixedInputs:s,validHosts:n,validateHostname:t}}({});function s(e,s,n,t,r){const u=function(a){return void 0===a?i:function({allowIcannDomains:a=!0,allowPrivateDomains:e=!1,detectIp:o=!0,extractHostname:i=!0,mixedInputs:s=!0,validHosts:n=null,validateHostname:t=!0}){return{allowIcannDomains:a,allowPrivateDomains:e,detectIp:o,extractHostname:i,mixedInputs:s,validHosts:n,validateHostname:t}}(a)}(t);return"string"!=typeof e?r:(u.extractHostname?u.mixedInputs?r.hostname=a(e,o(e)):r.hostname=a(e,!1):r.hostname=e,u.detectIp&&null!==r.hostname&&(r.isIp=function(a){if(a.length<3)return!1;let e=a.startsWith("[")?1:0,o=a.length;if("]"===a[o-1]&&(o-=1),o-e>39)return!1;let i=!1;for(;e=48&&o<=57||o>=97&&o<=102||o>=65&&o<=90))return!1}return i}(l=r.hostname)||function(a){if(a.length<7)return!1;if(a.length>15)return!1;let e=0;for(let o=0;o57)return!1}return 3===e&&46!==a.charCodeAt(0)&&46!==a.charCodeAt(a.length-1)}(l),r.isIp)?r:u.validateHostname&&u.extractHostname&&null!==r.hostname&&!o(r.hostname)?(r.hostname=null,r):0===s||null===r.hostname?r:(n(r.hostname,u,r),2===s||null===r.publicSuffix?r:(r.domain=function(a,e,o){if(null!==o.validHosts){const a=o.validHosts;for(const o of a)if(function(a,e){return!!a.endsWith(e)&&(a.length===e.length||"."===a[a.length-e.length-1])}(e,o))return o}let i=0;if(e.startsWith("."))for(;i3){const e=a.length-1,i=a.charCodeAt(e),s=a.charCodeAt(e-1),n=a.charCodeAt(e-2),t=a.charCodeAt(e-3);if(109===i&&111===s&&99===n&&46===t)return o.isIcann=!0,o.isPrivate=!1,o.publicSuffix="com",!0;if(103===i&&114===s&&111===n&&46===t)return o.isIcann=!0,o.isPrivate=!1,o.publicSuffix="org",!0;if(117===i&&100===s&&101===n&&46===t)return o.isIcann=!0,o.isPrivate=!1,o.publicSuffix="edu",!0;if(118===i&&111===s&&103===n&&46===t)return o.isIcann=!0,o.isPrivate=!1,o.publicSuffix="gov",!0;if(116===i&&101===s&&110===n&&46===t)return o.isIcann=!0,o.isPrivate=!1,o.publicSuffix="net",!0;if(101===i&&100===s&&46===n)return o.isIcann=!0,o.isPrivate=!1,o.publicSuffix="de",!0}return!1}(a,e,o))return;const s=a.split("."),u=(e.allowPrivateDomains?2:0)|(e.allowIcannDomains?1:0),l=r(s,n,s.length-1,u);if(null!==l)return o.isIcann=l.isIcann,o.isPrivate=l.isPrivate,void(o.publicSuffix=s.slice(l.index+1).join("."));const m=r(s,t,s.length-1,u);if(null!==m)return o.isIcann=m.isIcann,o.isPrivate=m.isPrivate,void(o.publicSuffix=s.slice(m.index).join("."));o.isIcann=!1,o.isPrivate=!1,o.publicSuffix=null!==(i=s[s.length-1])&&void 0!==i?i:null}const l={domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,publicSuffix:null,subdomain:null};exports.getDomain=function(a,e={}){var o;return(o=l).domain=null,o.domainWithoutSuffix=null,o.hostname=null,o.isIcann=null,o.isIp=null,o.isPrivate=null,o.publicSuffix=null,o.subdomain=null,s(a,3,u,e,l).domain},exports.getDomainWithoutSuffix=function(a,e={}){var o;return(o=l).domain=null,o.domainWithoutSuffix=null,o.hostname=null,o.isIcann=null,o.isIp=null,o.isPrivate=null,o.publicSuffix=null,o.subdomain=null,s(a,5,u,e,l).domainWithoutSuffix},exports.getHostname=function(a,e={}){var o;return(o=l).domain=null,o.domainWithoutSuffix=null,o.hostname=null,o.isIcann=null,o.isIp=null,o.isPrivate=null,o.publicSuffix=null,o.subdomain=null,s(a,0,u,e,l).hostname},exports.getPublicSuffix=function(a,e={}){var o;return(o=l).domain=null,o.domainWithoutSuffix=null,o.hostname=null,o.isIcann=null,o.isIp=null,o.isPrivate=null,o.publicSuffix=null,o.subdomain=null,s(a,2,u,e,l).publicSuffix},exports.getSubdomain=function(a,e={}){var o;return(o=l).domain=null,o.domainWithoutSuffix=null,o.hostname=null,o.isIcann=null,o.isIp=null,o.isPrivate=null,o.publicSuffix=null,o.subdomain=null,s(a,4,u,e,l).subdomain},exports.parse=function(a,e={}){return s(a,5,u,e,{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,publicSuffix:null,subdomain:null})}; //# sourceMappingURL=index.cjs.min.js.map