@funnel10x/tracking 2.4.0 → 2.6.0

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 CHANGED
@@ -35,6 +35,12 @@ CDN, no canal 1.x, e o SDK não vem neste ficheiro. O que faz numa página:
35
35
  - **o `contact()` das apps que dão as respostas por callback** (desde a 2.4.0):
36
36
  a mesma ponte do envio de um form, numa linha da página (*As apps externas*,
37
37
  abaixo);
38
+ - **o tipo de aquisição que o form declara** (desde a 2.5.0, Fase A53), no
39
+ `contact_captured` do envio: o `data-acquisition-type` do `<form>` (ou do
40
+ bloco de um form sem `<form>`), e sem ele o campo escondido
41
+ `acquisition_type`, como `acquisition_type`. É a regra da base `website` do
42
+ `funnel10x/f10x-agents`, onde um site serve vários tipos (*O tipo de
43
+ aquisição*, abaixo);
38
44
  - **o identify pelo id do contacto** num link de email ou de SMS
39
45
  (`?contact_id={{contact.id}}`);
40
46
  - **o email e o telefone que a pessoa envia** (desde a 1.1.0, como a HYROS;
@@ -162,7 +168,7 @@ de vir no ficheiro. É uma das razões de a 2.0.0 ser major.
162
168
  O `package.json` do repo pina a versão exacta (sem `^`), e o build embute-o:
163
169
 
164
170
  ```json
165
- { "dependencies": { "@funnel10x/tracking": "2.4.0" } }
171
+ { "dependencies": { "@funnel10x/tracking": "2.6.0" } }
166
172
  ```
167
173
 
168
174
  ```js
@@ -592,30 +598,72 @@ O que se sabe e se aceitou:
592
598
 
593
599
  ## O contrato dos eventos
594
600
 
595
- Um funil manda três eventos custom, e só estes (Fase A41 do plano da
596
- atribuição, 2026-10-16):
597
-
598
- | evento | quando | quem o manda |
599
- | --- | --- | --- |
600
- | `contact_captured` | o email ou o telefone sai num form, chega no URL, ou a página o passa ao `contact()` (`contact_source`: `form`, `url` ou `api`), cada valor uma vez por página | o snippet, também pelo `contact()`; nunca um `capture` à mão |
601
- | `checkout` | o **início** do checkout: o clique num link para um host do Stripe ou do `checkoutHosts`, uma vez por link e por página, com o `checkout_host` | quem o site declara (2.4.0): o snippet com `checkout: 'snippet'`; a página com `checkout: 'page'`, por `f10xTracking.capture('checkout')` num checkout aberto por código (um botão com redirect, um checkout embebido); nunca os dois |
602
- | `purchase` | o pagamento confirmado, com o `session_id` (o `cs_…` da sessão de checkout do Stripe), o `currency`, o `amount_total` e o `product` | o código do funil, na página de obrigado |
601
+ O contrato v2 (Fase A43 do plano da atribuição, 2026-10-21): **cinco eventos
602
+ standard, e só estes, cada um com um só responsável por site**. Dois
603
+ responsáveis contam dois, e a diferença só se vê comparando com a origem.
603
604
 
605
+ | evento | o que é | propriedades obrigatórias | quem o manda |
606
+ | --- | --- | --- | --- |
607
+ | `contact_captured` | a **ponte de identidade**: o email ou o telefone sai num form, chega no URL, ou a página o passa ao `contact()`, cada valor uma vez por página; desde a 2.6.0, também o email de quem entrou numa app, pelo `login()` | `email` ou `phone` (pelo menos um), `contact_source` (`form`, `url`, `api` ou `login`); `acquisition_type` quando o form o declara (2.5.0) | o snippet, pelo automático, pelo `f10xTracking.contact()` ou pelo `f10xTracking.login()`; nunca o servidor nem um `capture` à mão |
608
+ | `registration_completed` | a **inscrição confirmada** por quem a grava (o CRM que guarda o registo do webinar, da lista de espera, do evento) | o `$session_id` e o `$device_id` do browser, quando há ponte | só o admin, pelo servidor (A45); o armazém ignora os outros |
609
+ | `appointment_scheduled` | a **reserva confirmada** de uma marcação, no CRM que a guarda | `appointment_id` (o id da marcação na origem), e a sessão e o dispositivo como acima | só o admin, pelo servidor (A45); o armazém ignora os outros |
610
+ | `checkout` | o **início** do checkout: o clique num link para um host do Stripe ou do `checkoutHosts`, uma vez por link e por página | `checkout_host`, quando é o snippet | quem o site declara (2.4.0): o snippet com `checkout: 'snippet'`; a página com `checkout: 'page'`, por `f10xTracking.capture('checkout')` num checkout aberto por código (um botão com redirect, um checkout embebido); nunca os dois |
611
+ | `purchase` | o **pagamento confirmado** | `session_id` (o `cs_…` da sessão de checkout do Stripe), `currency`, `amount_total`, `product` quando o funil o tem | o servidor (A45); o do browser, na página de obrigado, fica aceite até o servidor o mandar nesse projeto, e nesse dia sai do site |
612
+
613
+ **Uma linha por responsável:**
614
+
615
+ - **O snippet** manda o `contact_captured`, sempre, e o `checkout` num site que
616
+ o declara com `checkout: 'snippet'`.
617
+ - **A página** (o código do funil) manda o `checkout` num site que declara
618
+ `checkout: 'page'`, e o `purchase` só onde o servidor ainda não o manda.
619
+ - **O admin**, pelo servidor e a partir do CRM e do Stripe, manda o
620
+ `registration_completed`, o `appointment_scheduled` e o `purchase` de um
621
+ projeto activado (A45), sempre com um `uuid` v5. O posthog-js dá `uuid` v7,
622
+ e por isso a ingestão ignora um `registration_completed` ou um
623
+ `appointment_scheduled` que não seja v5 (conta-o nos `ignored` da volta como
624
+ `<evento>:not_server`), e a tabela recusa-o.
625
+
626
+ - O `contact_source` tem quatro valores: `url`, `form`, `api` e `login`. O
627
+ admin liga o `url`, o `form` e o `api` a um contacto do CRM só quando o
628
+ contacto nasce ou envia um form à volta do evento (a janela da A5); o
629
+ `login` liga **sem janela**, ao registo único do CRM principal da account com
630
+ esse email, e nunca forma o par de um form (Fase A64).
604
631
  - O `contact_captured` é a ponte para o contacto, e **não uma etapa do funil**:
605
632
  dispara também num form de checkout, e um opt-in, uma marcação e uma compra
606
- dão o mesmo. O lead é o contacto no CRM.
633
+ dão o mesmo. Não se mapeia no Lead nem no CompleteRegistration da Meta.
607
634
  - O `checkout` do snippet vai já, e não na fila (o `send_instantly` do
608
635
  posthog-js), porque a página sai a seguir. **Desde a 2.4.0 não é automático
609
636
  por omissão**: cada site declara quem o manda, e um site com
610
637
  `checkout: 'snippet'` cujo código também o mande conta dois (o `capture()`
611
638
  avisa, e a CI da base `direct` recusa-o).
612
639
  - O `purchase` liga a venda pelo `cs_…`, por isso tem de disparar em todas as
613
- compras: no Piko, a 2026-10-16, o `purchase` ligava 78% das vendas e o
614
- `checkout_completed` todas.
615
- - Não há evento de marcação: o calendário do GHL vem num iframe, onde o
616
- PostHog não arranca, e a marcação, a presença e o no-show vêm do GHL.
617
- - O `lead` e o `checkout_completed` deixaram de ser contrato; o admin continua
618
- a aceitá-los, pelo histórico e pelos funis que ainda os mandam.
640
+ compras: no Piko, a 2026-10-16, o do browser ligava 78% das vendas e o
641
+ `checkout_completed` do servidor todas. É por isso que passa ao servidor.
642
+ - **Uma propriedade em falta não recusa o evento**: o armazém guarda o que
643
+ chega e deixa a coluna nula (um `purchase` sem `cs_…` fica, sem ligar venda
644
+ nenhuma), e o snippet avisa.
645
+ - O sexto evento, o `rebill` (cada cobrança paga depois do `purchase` da mesma
646
+ compra), é também só do admin e entra no armazém com a A45.
647
+
648
+ **Os aceites, fora do contrato.** O `lead` e o `checkout_completed` deixaram de
649
+ ser contrato; o admin continua a aceitá-los, pelo histórico e pelo
650
+ `checkout_completed` do servidor do Piko, que sai depois de o `purchase` do
651
+ servidor o igualar.
652
+
653
+ **Os sinónimos são proibidos.** Um nome que diz o mesmo que um dos cinco não
654
+ entra no armazém (a allow-list da ingestão ignora-o, e a contagem dos ignorados
655
+ da volta mostra-o), e o `capture()` avisa na consola com o nome do contrato:
656
+
657
+ | em vez de | manda-se |
658
+ | --- | --- |
659
+ | `Purchase`, `purchase_completed`, `order_completed` | `purchase` |
660
+ | `InitiateCheckout`, `initiate_checkout`, `checkout_started`, `begin_checkout` | `checkout` |
661
+ | `CompleteRegistration`, `registration`, `sign_up`, `webinar_registration` | `registration_completed`, pelo servidor |
662
+ | `appointment_booked`, `booking`, `Schedule`, `call_booked` | `appointment_scheduled`, pelo servidor |
663
+ | `Lead` | `contact_captured`, pelo snippet |
664
+
665
+ Não se acrescenta um sinónimo à lista dos aceites para salvar um funil: muda-se
666
+ o funil.
619
667
 
620
668
  ## As apps externas: surveys, chats, forms e calendários
621
669
 
@@ -661,6 +709,59 @@ Antes de pôr uma app num funil, três perguntas (decisão 4):
661
709
  Uma app que diz não às três não tem ponte nem resultado, e escreve-se como tal
662
710
  no funil.
663
711
 
712
+ ## As apps com login
713
+
714
+ Desde a 2.6.0 (Fase A64 do plano da atribuição). Uma app onde a pessoa entra
715
+ com conta (a área de cliente, o produto) **não chama `identify`**: o
716
+ `posthog.identify(email)` e o `identify` por um id da app partem a pessoa no
717
+ PostHog (a A60), e só o admin identifica. A app diz ao snippet quem entrou:
718
+
719
+ ```js
720
+ window.f10xTracking && window.f10xTracking.login && window.f10xTracking.login({ email: user.email })
721
+ ```
722
+
723
+ **O contrato:**
724
+
725
+ - chama-se **logo a seguir ao sign-in e em cada carregamento da app com a
726
+ pessoa autenticada**, e **nunca antes** de a app a autenticar: o email tem de
727
+ ser o de quem a app provou que é. O carregamento cobre o sign-in que não
728
+ passou por uma página com o snippet (um link mágico, um consentimento dado
729
+ depois);
730
+ - só o email: o par faz-se por ele, e o telefone de um login não acrescenta
731
+ prova;
732
+ - no logout, o `posthog.reset()` da app, se o fizer: o login seguinte no mesmo
733
+ browser liga o id novo, mesmo com o mesmo email.
734
+
735
+ **O que o snippet faz com ele:**
736
+
737
+ - manda um `contact_captured` com o `contact_source: 'login'` e o email
738
+ normalizado, uma vez por página e por email, num conjunto à parte do do
739
+ `contact()` e dos forms (um form com o mesmo email na mesma página não o
740
+ engole, nem o contrário), e em memória até ao consentimento (deitado fora
741
+ com um não);
742
+ - entre páginas, uma vez por distinct id do PostHog e por email: a marca
743
+ `f10x_login` no `localStorage` guarda o distinct id e um hash curto de cada
744
+ email com um sal gerado no próprio browser (nunca o email, nem o SHA-256
745
+ dele, que é a chave com que a Meta e o Google casam pessoas). Escreve-se só
746
+ depois do sim, e o `deny()` apaga-a;
747
+ - num browser que o PostHog já tem como identificado (o `$user_state`, de um
748
+ `identify` antigo da app), **não sai**, e avisa uma vez: o distinct id desse
749
+ browser é o id que esse `identify` pôs, e não um dispositivo;
750
+ - na tag do GTM, a configuração que a tag escreve guarda as chamadas que
751
+ chegam antes do `tag.js` (a app chama-o no arranque), e o `tag.js` repete-as
752
+ ao arrancar. No snippet inerte e no objecto que fica quando o arranque falha,
753
+ o `login()` existe e não faz nada.
754
+
755
+ **O que o admin faz:** liga o browser, sem janela, ao único registo vivo do CRM
756
+ principal da account com esse email (um contacto do GHL, ou uma pessoa da
757
+ Contacts), se ele existir no login ou nascer nos 30 dias seguintes, e
758
+ identifica-o no PostHog pelo servidor. O email que está em dois registos, num
759
+ dispositivo com mais de 3 emails, ou num browser já identificado, não liga. A
760
+ pessoa junta aparece no PostHog na volta seguinte (até duas horas depois).
761
+
762
+ Uma versão da tag é um ficheiro próprio: um host ainda na 2.5.0 não tem o
763
+ `login()`, e a linha de cima, com a guarda, não faz nada nele.
764
+
664
765
  ## A API
665
766
 
666
767
  `init(options)` (ou a tag) devolve, e põe em `window.f10xTracking`:
@@ -685,12 +786,53 @@ no funil.
685
786
  `session_id` `cs_…`, o `currency` ou o `amount_total` avisa com o nome do
686
787
  que falta. Um aviso por nome e por motivo, por página, dado na chamada
687
788
  (antes do sim também); o evento sai sempre que o PostHog está a medir;
688
- - `contact({ email, phone })` (2.4.0): o email e o telefone de uma app que os
689
- dá por callback (*As apps externas*, acima);
789
+ - `contact({ email, phone, acquisitionType })` (2.4.0; o `acquisitionType`
790
+ desde a 2.5.0): o email e o telefone de uma app que os dá por callback (*As
791
+ apps externas*, acima), e o tipo de aquisição dela, como o de um form (*O
792
+ tipo de aquisição*, abaixo);
793
+ - `login({ email })` (2.6.0): o email de quem uma app autenticou (*As apps com
794
+ login*, acima);
690
795
  - `posthog`: a instância do PostHog depois de o SDK arrancar, e o stub até lá
691
796
  (o que se lhe chamar fica na fila, como no stub oficial). O
692
797
  `window.posthog` é o mesmo, e é por ele que as tags do GTM o usam.
693
798
 
799
+ ## O tipo de aquisição
800
+
801
+ Desde a 2.5.0 (Fase A53 do plano da atribuição). Um site da categoria
802
+ `website` serve vários tipos de aquisição (os da `acquisition_types` do admin:
803
+ `client`, `people`, `supplier`, `investor`, `asset`), e por isso **cada form
804
+ declara o seu**:
805
+
806
+ ```html
807
+ <form action="/api/lead" method="post" data-acquisition-type="client">
808
+ <input type="hidden" name="acquisition_type" value="client" />
809
+ …
810
+ </form>
811
+ ```
812
+
813
+ - o snippet lê o `data-acquisition-type` do `<form>` (ou do antepassado mais
814
+ próximo que o tenha, que é como um form sem `<form>` o declara no bloco), e
815
+ sem ele o valor do campo `acquisition_type`; com os dois diferentes ganha o
816
+ atributo, e avisa;
817
+ - o valor vai em minúsculas e sem espaços, como `acquisition_type`, só no
818
+ `contact_captured` do envio (`contact_source: 'form'`); nunca no do URL;
819
+ - um valor sem a forma de uma chave (`^[a-z][a-z0-9_]{0,31}$`) avisa uma vez e
820
+ o evento sai sem ele. O snippet não tem a lista dos tipos: quem a prende é a
821
+ CI da base `website` no site, e o admin na leitura;
822
+ - cada email e cada telefone saem uma vez por página **e por tipo**: o mesmo
823
+ email num form `client` e depois num `investor` dá dois eventos; um envio sem
824
+ tipo depois de outro qualquer não sai;
825
+ - numa app que dá as respostas por callback, `f10xTracking.contact({ email,
826
+ acquisitionType: 'investor' })`;
827
+ - num form embebido do CRM (um iframe), o tipo vai no `src`
828
+ (`?acquisition_type=client`), que a página escreve e o snippet não pisa; o
829
+ snippet não vê esse envio e não manda evento (a forma 3 de *As apps
830
+ externas*).
831
+
832
+ O armazém do admin guarda-o na coluna `acquisition_type` da
833
+ `analytics.posthog_events` (o `ingest/pii.json`), só num `contact_captured` e
834
+ com a mesma forma.
835
+
694
836
  ## Os modelos de parâmetros de URL
695
837
 
696
838
  **Os nomes vão nas UTMs, os ids em três parâmetros nossos**, com o prefixo
@@ -802,7 +944,9 @@ Antes de ligar o tráfego:
802
944
  lá está), e num checkout em código os `fields()` na metadata e o
803
945
  `capture('checkout')` no clique. Um clique de teste no checkout deixa um
804
946
  `checkout` no PostHog, um só, e a página de obrigado manda o `purchase` com o `cs_…` em todas as
805
- compras (*O contrato dos eventos*, acima); nenhum outro evento custom.
947
+ compras, enquanto o servidor não o mandar nesse projeto. Os eventos são só
948
+ os do contrato, cada um com o responsável dele (*O contrato dos eventos*,
949
+ acima): nenhum sinónimo, e nenhum dos que só o admin manda.
806
950
  7. **Os anúncios**: o texto do gerador de links nos anúncios da Meta e da
807
951
  Google, e os links orgânicos gerados por ele, com as UTMs da Traffic Sources.
808
952
  8. **A prova**: na consola, com a reserva instalada,
@@ -1,5 +1,5 @@
1
1
  /*
2
- @funnel10x/tracking@2.4.0: o arranque num site com build próprio, uma vez por carregamento da página, no browser (num Next.js, um
2
+ @funnel10x/tracking@2.6.0: o arranque num site com build próprio, uma vez por carregamento da página, no browser (num Next.js, um
3
3
  componente 'use client' no layout de raiz, como o Tracking.tsx da base direct). Só se mudam a chave e o checkout ('snippet' quando os
4
4
  links do checkout são <a>, 'page' quando a página o manda); o consent, os checkoutHosts e os linkedDomains são do site (o README do
5
5
  pacote). O /_t só existe com os rewrites do dist/direct-rewrites.json no vercel.json do site.
@@ -1,5 +1,5 @@
1
1
  <!--
2
- @funnel10x/tracking@2.4.0: a tag de reserva do GTM (Custom HTML), num site com a tag do gtm.html (decisão 1 da A2c).
2
+ @funnel10x/tracking@2.6.0: a tag de reserva do GTM (Custom HTML), num site com a tag do gtm.html (decisão 1 da A2c).
3
3
  Dispara só no evento personalizado f10x_tracking_failed, com a mesma condição de consentimento da tag do snippet; nunca em All Pages
4
4
  nem em Window Loaded. O before_send carimba tracking_fallback em cada evento, que é o que distingue uma visita pela reserva nos dados.
5
5
  Só se mudam a chave e o api_host (o proxy gerido da account, se o tiver, e senão o PostHog directo), os mesmos da tag do gtm.html.
@@ -1,5 +1,5 @@
1
1
  <!--
2
- @funnel10x/tracking@2.4.0: a tag oficial do PostHog (Custom HTML) para os hosts que ainda não passaram ao snippet, num contentor com a tag do gtm.html.
2
+ @funnel10x/tracking@2.6.0: a tag oficial do PostHog (Custom HTML) para os hosts que ainda não passaram ao snippet, num contentor com a tag do gtm.html.
3
3
  Dispara em All Pages, com o acionador Snippet hosts (os hosts da tag do snippet) como excepção, e o Direct hosts (os sites direct, com o
4
4
  snippet no build) como outra. Passar um host ao snippet é acrescentá-lo à RegEx do Snippet hosts, numa só publicação.
5
5
  Só se mudam a chave e o api_host (o proxy gerido da account, se o tiver, e senão o PostHog directo), os mesmos da tag do gtm.html.
package/dist/gtm.html CHANGED
@@ -1,5 +1,5 @@
1
1
  <!--
2
- @funnel10x/tracking@2.4.0: a tag do GTM (Custom HTML, em All Pages, com a condição de consentimento do site, se ele tiver banner).
2
+ @funnel10x/tracking@2.6.0: a tag do GTM (Custom HTML, em All Pages, com a condição de consentimento do site, se ele tiver banner).
3
3
  Num site com esta tag, a tag oficial do PostHog só existe como reserva (decisão 1 da A2c): outra tag Custom HTML, com a mesma chave, que dispara
4
4
  só no evento personalizado f10x_tracking_failed, que esta empurra para o dataLayer, uma vez, quando o tag.js não carrega (o jsDelivr em baixo ou
5
5
  bloqueado, um integrity que não bate) ou carrega e não arranca (o window.f10xTracking sem version). A reserva é o dist/gtm-fallback.html, ao lado.
@@ -7,6 +7,7 @@
7
7
  quando a página o manda; sem um dos dois o snippet não o manda, decisão 1 da A44), os checkoutHosts, os linkedDomains (o cross-domain,
8
8
  desligado com a lista vazia) e, numa emergência, o sdkVersion (uma versão exacta do posthog-js); uma versão nova do pacote é um ficheiro novo.
9
9
  O contact vazio deixa o f10xTracking.contact() da página sem TypeError enquanto o tag.js não arranca, ou quando não chega.
10
+ O login guarda as chamadas ao f10xTracking.login() que chegam antes do tag.js (a app chama-o no arranque), e o tag.js repete-as (Fase A64).
10
11
  O script do jsDelivr cria-se por código, com o onload e o onerror como propriedades: um atributo onload no HTML é um handler inline, que o GTM
11
12
  copia ao recriar o script e que uma CSP com nonce não deixa correr. Um pedido pendurado conta como falhado ao fim de 10 s.
12
13
  O evento vai para o window.dataLayer: num GTM com a data layer renomeada (o l= do snippet do GTM) a reserva não dispara, e o ponto 8 do
@@ -20,7 +21,10 @@
20
21
  checkout: '{{snippet or page}}',
21
22
  checkoutHosts: [],
22
23
  linkedDomains: [],
23
- contact: function () {}
24
+ contact: function () {},
25
+ login: function (values) {
26
+ ;(window.__f10xLogins = window.__f10xLogins || []).push(values)
27
+ }
24
28
  }
25
29
  ;(function () {
26
30
  var timer
@@ -28,6 +32,8 @@
28
32
  clearTimeout(timer)
29
33
  if (window.__f10xTracking && window.__f10xTracking.version) {
30
34
  window.f10xTracking = window.__f10xTracking
35
+ var queued = (window.__f10xLogins || []).splice(0)
36
+ for (var i = 0; i < queued.length; i++) window.f10xTracking.login(queued[i])
31
37
  return
32
38
  }
33
39
  if (window.__f10xTrackingFailed) return
@@ -35,8 +41,8 @@
35
41
  ;(window.dataLayer = window.dataLayer || []).push({ event: 'f10x_tracking_failed' })
36
42
  }
37
43
  var script = document.createElement('script')
38
- script.src = 'https://cdn.jsdelivr.net/npm/@funnel10x/tracking@2.4.0/dist/tag.js'
39
- script.integrity = 'sha384-4yUmGCwb9dgXYOiOeE65iuJ1Ivd+7KtF9dRBnEzBkAgrZhC5izbsiVvVc+jDtnxv'
44
+ script.src = 'https://cdn.jsdelivr.net/npm/@funnel10x/tracking@2.6.0/dist/tag.js'
45
+ script.integrity = 'sha384-yeKw6/V0qU0gk4KXPkU5a2yAPtn4MIqcomGvzdnLnlQxrssaYYCrpsQgweNln99d'
40
46
  script.crossOrigin = 'anonymous'
41
47
  script.onload = function () {
42
48
  clearTimeout(timer)
package/dist/index.d.ts CHANGED
@@ -53,14 +53,26 @@ export interface Tracking {
53
53
  /**
54
54
  * The email and phone a person gave in an app that hands its answers by callback or postMessage (since 2.4.0):
55
55
  * `contact_captured` with `contact_source: 'api'`, each value once per page, after the consent. The phone only in
56
- * international format (`+351…`).
56
+ * international format (`+351…`). Since 2.5.0, `acquisitionType` is the acquisition type the app collects for (an
57
+ * `acquisition_types` key of the admin: `client`, `people`, `supplier`, `partner` or `asset`), sent as
58
+ * `acquisition_type`; a value without the shape of a key warns, and the event goes without it.
57
59
  */
58
- contact(values: { email?: string; phone?: string }): void
60
+ contact(values: { email?: string; phone?: string; acquisitionType?: string }): void
61
+ /**
62
+ * The email of the person an app has just authenticated (since 2.6.0): call it right after the sign-in and on every
63
+ * load of the app with the person signed in, never before. It sends `contact_captured` with `contact_source: 'login'`
64
+ * and the email only, once per page and email, after the consent, and once per PostHog distinct id and email across
65
+ * pages (the `f10x_login` mark, a salted hash and never the email's SHA-256); never in a browser PostHog already has
66
+ * as identified. The admin links the browser to the main CRM's record with that email and identifies it: the app
67
+ * calls no `identify`.
68
+ */
69
+ login(values: { email: string }): void
59
70
  /** The PostHog instance once the SDK has loaded; the stub (which queues calls) until then. */
60
71
  posthog: PostHog | null
61
72
  }
62
73
 
63
74
  export const VERSION: string
64
75
  export const CONSENT_KEY: string
76
+ export const LOGIN_KEY: string
65
77
  export const ALLOWED_PARAMS: string[]
66
78
  export function init(options: TrackingOptions): Tracking
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
- var N=["addExceptionStep","alias","calculateEventProperties","canRenderSurvey","canRenderSurveyAsync","cancelPendingSurvey","capture","captureException","captureLog","captureTraceFeedback","captureTraceMetric","clearIdentity","clear_opt_in_out_capturing","createPersonProfile","debug","displaySurvey","getActiveMatchingSurveys","getAllFeatureFlags","getEarlyAccessFeatures","getExtension","getFeatureFlag","getFeatureFlagPayload","getFeatureFlagResult","getGroups","getPageViewId","getSessionProperty","getSurveys","get_distinct_id","get_explicit_consent_status","get_property","get_session_id","get_session_replay_url","group","has_opted_in_capturing","has_opted_out_capturing","identify","init","isFeatureEnabled","is_capturing","loadToolbar","on","onActiveMatchingSurveysChanged","onFeatureFlags","onSessionId","onSurveysLoaded","opt_in_capturing","opt_out_capturing","register","register_for_session","register_once","reloadFeatureFlags","renderSurvey","reset","resetGroupPropertiesForFlags","resetGroups","resetPersonPropertiesForFlags","sessionRecordingStarted","setGroupPropertiesForFlags","setIdentity","setInternalOrTestUser","setPersonProperties","setPersonPropertiesForFlags","set_config","shutdown","startExceptionAutocapture","startSessionRecording","stopExceptionAutocapture","stopSessionRecording","unregister","unregister_for_session","unsetPersonProperties","updateEarlyAccessFeatureEnrollment","updateFlags"];var it="5.3.0";function tn(e,t){for(let n=0,o=e.length;n<o;++n)if(e[n]===t)return!0;return!1}function nn(e,t){return!tn(e,t)}function Se(e){return parseInt(e)}function I(e){return parseFloat(e)}function F(e,t){return typeof e=="number"&&isNaN(e)?t:e}function S(e){return e.reduce((t,n)=>t+(n?1:0),0)}function st(e,t=1){if(Math.abs(t)>=1)return Math.round(e/t)*t;{let n=1/t;return Math.round(e*n)/n}}function on(e){var t,n;let o=`Unexpected syntax '${e}'`,r=/^\s*([a-z-]*)(.*)$/i.exec(e),i=r[1]||void 0,a={},l=/([.:#][\w-]+|\[.+?\])/gi,f=(u,s)=>{a[u]=a[u]||[],a[u].push(s)};for(;;){let u=l.exec(r[2]);if(!u)break;let s=u[0];switch(s[0]){case".":f("class",s.slice(1));break;case"#":f("id",s.slice(1));break;case"[":{let c=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(s);if(c)f(c[1],(n=(t=c[4])!==null&&t!==void 0?t:c[5])!==null&&n!==void 0?n:"");else throw new Error(o);break}default:throw new Error(o)}}return[i,a]}function rn(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);if(o>127)return new TextEncoder().encode(e);t[n]=o}return t}function sn(e){var t;return{name:e.name,message:e.message,stack:(t=e.stack)===null||t===void 0?void 0:t.split(`
2
- `),...e}}function cn(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function ct(){let e=window,t=navigator;return S(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function an(){let e=window,t=navigator;return S(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!ct()}function $(){let e=window,t=navigator;return S(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,(t.vendor||"").indexOf("Google")===0,"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function C(){let e=window,t=navigator;return S(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,t.vendor.indexOf("Apple")===0,"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function xe(){let e=window,{HTMLElement:t,Document:n}=e;return S(["safari"in e,!("ongestureend"in e),!("TouchEvent"in e),!("orientation"in e),t&&!("autocapitalize"in t.prototype),n&&"pointerLockElement"in n.prototype])>=4}function J(){let e=window;return cn(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function U(){var e,t;let n=window;return S(["buildID"in navigator,"MozAppearance"in((t=(e=document.documentElement)===null||e===void 0?void 0:e.style)!==null&&t!==void 0?t:{}),"onmozfullscreenchange"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4}function un(){let e=window,t=navigator,{CSS:n}=e;return S(["userActivation"in t,n.supports("color","light-dark(#000, #fff)"),n.supports("height","1lh"),"globalPrivacyControl"in t])>=3}function at(){let{CSS:e}=window;return S([e.supports("selector(::details-content)"),e.supports("selector(::before::marker)"),e.supports("selector(::after::marker)"),!("locale"in CompositionEvent.prototype)])>=3}function ln(){let e=window;return S([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function dn(){let e=window,{URLPattern:t}=e;return S(["union"in Set.prototype,"Iterator"in e,t&&"hasRegExpGroups"in t.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}function fn(){let e=window,t=document,{CSS:n,Promise:o,AudioContext:r}=e;return S([o&&"try"in o,"caretPositionFromPoint"in t,r&&"onerror"in r.prototype,n.supports("ruby-align","space-around")])>=3}function mn(){let e=window;return S(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function K(){let e=window,t=navigator,{CSS:n,HTMLButtonElement:o}=e;return S([!("getStorageUpdates"in t),o&&"popover"in o.prototype,"CSSCounterStyleRule"in e,n.supports("font-size-adjust: ex-height 0.5"),n.supports("text-transform: full-width")])>=4}function pn(){if(navigator.platform==="iPad")return!0;let e=screen,t=e.width/e.height;return S(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}function hn(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function gn(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function fe(){var e,t;let n=$(),o=U(),r=window,i=navigator;return n?S([bn(),"HTMLInputElement"in r&&"capture"in HTMLInputElement.prototype,"NetworkInformation"in r&&"ontypechange"in((t=(e=r.NetworkInformation)===null||e===void 0?void 0:e.prototype)!==null&&t!==void 0?t:{}),!("sinkId"in new Audio)])>=2:o?S(["onorientationchange"in r,"orientation"in r,/android/i.test(i.appVersion)])>=2:!1}function yn(){let e=navigator,t=window,n=Audio.prototype,{visualViewport:o}=t;return S(["srLatency"in n,"srChannelCount"in n,"devicePosture"in e,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function bn(){var e,t;try{return!!(!((t=(e=window.Intl)===null||e===void 0?void 0:e.supportedValuesOf)===null||t===void 0)&&t.call(e,"collation").includes("dict"))}catch{return!1}}var wn="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function _n(e){let t=kn(e),n=vn(t);return{score:t,comment:wn.replace(/\$/g,`${n}`)}}function kn(e){if(fe())return .4;if(C())return xe()&&!(K()&&J())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function vn(e){return st(.99+.01*e,1e-4)}function de(e,t){return new Promise(n=>setTimeout(n,e,t))}function Sn(){return new Promise(e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})}function xn(e,t=1/0){let{requestIdleCallback:n}=window;return n?new Promise(o=>n.call(window,()=>o(),{timeout:t})):de(Math.min(e,t))}function ut(e){return!!e&&typeof e.then=="function"}function ze(e,t){try{let n=e();ut(n)?n.then(o=>t(!0,o),o=>t(!1,o)):t(!0,n)}catch(n){t(!1,n)}}async function Xe(e,t,n=16){let o=Array(e.length),r=Date.now();for(let i=0;i<e.length;++i){o[i]=t(e[i],i);let a=Date.now();a>=r+n&&(r=a,await Sn())}return o}function B(e){return e.then(void 0,()=>{}),e}function Ln(e){return typeof e!="function"}function An(e,t){let n=B(new Promise(o=>{let r=Date.now();ze(e.bind(null,t),(...i)=>{let a=Date.now()-r;if(!i[0])return o(()=>({error:i[1],duration:a}));let l=i[1];if(Ln(l))return o(()=>({value:l,duration:a}));o(()=>new Promise(f=>{let u=Date.now();ze(l,(...s)=>{let c=a+Date.now()-u;if(!s[0])return f({error:s[1],duration:c});f({value:s[1],duration:c})})}))})}));return function(){return n.then(r=>r())}}function Pn(e,t,n,o){let r=Object.keys(e).filter(a=>nn(n,a)),i=B(Xe(r,a=>An(e[a],t),o));return async function(){let l=await i,f=await Xe(l,c=>B(c()),o),u=await Promise.all(f),s={};for(let c=0;c<r.length;++c)s[r[c]]=u[c];return s}}async function lt(e,t,n=50){var o,r,i;let a=document;for(;!a.body;)await de(n);let l=a.createElement("iframe");try{for(await new Promise((f,u)=>{let s=!1,c=()=>{s=!0,f()},h=y=>{s=!0,u(y)};l.onload=c,l.onerror=h;let{style:m}=l;m.setProperty("display","block","important"),m.position="absolute",m.top="0",m.left="0",m.visibility="hidden",t&&"srcdoc"in l?l.srcdoc=t:l.src="about:blank",a.body.appendChild(l);let p=()=>{var y,L;s||(((L=(y=l.contentWindow)===null||y===void 0?void 0:y.document)===null||L===void 0?void 0:L.readyState)==="complete"?c():setTimeout(p,10))};p()});!(!((r=(o=l.contentWindow)===null||o===void 0?void 0:o.document)===null||r===void 0)&&r.body);)await de(n);return await e(l,l.contentWindow)}finally{(i=l.parentNode)===null||i===void 0||i.removeChild(l)}}function In(e){let[t,n]=on(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let i=n[r].join(" ");r==="style"?Cn(o.style,i):o.setAttribute(r,i)}return o}function Cn(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,i,,a]=o;e.setProperty(r,i,a||"")}}}function En(){let e=window;for(;;){let t=e.parent;if(!t||t===e)return!1;try{if(t.location.origin!==e.location.origin)return!0}catch(n){if(n instanceof Error&&n.name==="SecurityError")return!0;throw n}e=t}}function Fn(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if(Rn())return-3;try{return e.canMakePayments()?1:0}catch(t){return Mn(t)}}var Rn=En;function Mn(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function Vn(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function Tn(){return Dn()?-4:Wn()}function Wn(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(Nn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),i=r.createOscillator();i.type="triangle",i.frequency.value=1e4;let a=r.createDynamicsCompressor();a.threshold.value=-50,a.knee.value=40,a.ratio.value=12,a.attack.value=0,a.release.value=.25,i.connect(a),a.connect(r.destination),i.start(0);let[l,f]=Gn(r),u=B(l.then(s=>On(s.getChannelData(0).subarray(n)),s=>{if(s.name==="timeout"||s.name==="suspended")return-3;throw s}));return()=>(f(),u)}function Nn(){return C()&&!xe()&&!mn()}function Dn(){return C()&&K()&&J()||$()&&yn()&&dn()}function Gn(e){let i=()=>{};return[new Promise((l,f)=>{let u=!1,s=0,c=0;e.oncomplete=p=>l(p.renderedBuffer);let h=()=>{setTimeout(()=>f(Be("timeout")),Math.min(500,c+5e3-Date.now()))},m=()=>{try{let p=e.startRendering();switch(ut(p)&&B(p),e.state){case"running":c=Date.now(),u&&h();break;case"suspended":document.hidden||s++,u&&s>=3?f(Be("suspended")):setTimeout(m,500);break}}catch(p){f(p)}};m(),i=()=>{u||(u=!0,c>0&&h())}}),i]}function On(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function Be(e){let t=new Error(e);return t.name=e,t}function Hn(){if(!(fe()||C()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function Zn(){return jn(Un())}function jn(e){let t=!1,n,o,[r,i]=$n();return Yn(r,i)?(t=zn(i),e?n=o="skipped":[n,o]=Xn(r,i)):n=o="unsupported",{winding:t,geometry:n,text:o}}function $n(){let e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function Yn(e,t){return!!(t&&e.toDataURL)}function zn(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function Xn(e,t){Bn(e,t);let n=be(e),o=be(e);return n!==o?["unstable","unstable"]:(Jn(e,t),[be(e),n])}function Bn(e,t){e.width=240,e.height=60,t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(100,1,62,20),t.fillStyle="#069",t.font='11pt "Times New Roman"';let n="Cwm fjordbank gly \u{1F603}";t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.2)",t.font="18pt Arial",t.fillText(n,4,45)}function Jn(e,t){e.width=122,e.height=110,t.globalCompositeOperation="multiply";for(let[n,o,r]of[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]])t.fillStyle=n,t.beginPath(),t.arc(o,r,40,0,Math.PI*2,!0),t.closePath(),t.fill();t.fillStyle="#f9c",t.arc(60,60,60,0,Math.PI*2,!0),t.arc(60,60,20,0,Math.PI*2,!0),t.fill("evenodd")}function be(e){return e.toDataURL()}function Un(){let e=C()&&K()&&J(),t=U()&&un();return e||t}function Kn(){return window.screen.colorDepth}function Qn(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function qn(){if(H("no-preference"))return 0;if(H("high")||H("more"))return 1;if(H("low")||H("less"))return-1;if(H("forced"))return 10}function H(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function eo(){let e=document;try{e.cookie="cookietest=1; SameSite=Strict;";let t=e.cookie.indexOf("cookietest=")!==-1;return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch{return!1}}function to(){return navigator.cpuClass}function no(){if(!window.Intl)return-1;let e=window.Intl.DateTimeFormat;if(!e)return-2;let t=e().resolvedOptions().locale;return!t&&t!==""?-3:t}function oo(){return F(I(navigator.deviceMemory),void 0)}function ro(){let e=atob;return{abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',e("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",e("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",e("LnNwb25zb3JpdA=="),".ylamainos",e("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",e("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",e("LmhlYWRlci1ibG9ja2VkLWFk"),e("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",e("I2FkXzMwMFgyNTA="),e("I2Jhbm5lcmZsb2F0MjI="),e("I2NhbXBhaWduLWJhbm5lcg=="),e("I0FkLUNvbnRlbnQ=")],adGuardChinese:[e("LlppX2FkX2FfSA=="),e("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",e("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),e("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",e("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",e("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",e("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),e("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),e("LmFkZ29vZ2xl"),e("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[e("YW1wLWF1dG8tYWRz"),e("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",e("I2FkX2ludmlld19hcmVh")],adGuardRussian:[e("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),e("LnJlY2xhbWE="),'div[id^="smi2adblock"]',e("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[e("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),e("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",e("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),e("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),e("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",e("I3Jla2xhbWk="),e("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),e("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),e("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[e("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",e("LndpZGdldF9wb19hZHNfd2lkZ2V0"),e("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",e("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[e("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),e("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",e("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",e("I3Jla2xhbW5pLWJveA=="),e("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",e("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[e("I2FkdmVydGVudGll"),e("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",e("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",e("LnNwb25zb3JsaW5rZ3J1ZW4="),e("I3dlcmJ1bmdza3k="),e("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),e("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[e("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",e("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[e("LnJla2xhbW9zX3RhcnBhcw=="),e("LnJla2xhbW9zX251b3JvZG9z"),e("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),e("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),e("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[e("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],fanboyAnnoyances:["#ac-lre-player",".navigate-to-top","#subscribe_popup",".newsletter_holder","#back-top"],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag","#sovrn_container",'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:["#FollowUs","#meteored_share","#social_follow",".article-sharer",".community__social-desc"],frellwitSwedish:[e("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),e("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",e("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[e("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),e("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),e("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",e("LmFkX19tYWlu"),e("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[e("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[e("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),e("I2xpdmVyZUFkV3JhcHBlcg=="),e("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),e("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[e("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",e("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),e("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),e("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[e("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),e("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),e("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",e("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),e("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),e("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),e("ZGl2I3NrYXBpZWNfYWQ=")],ro:[e("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),e("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[e("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),e("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),e("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",e("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),e("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",e("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]}}async function io({debug:e}={}){if(!so())return;let t=ro(),n=Object.keys(t),o=[].concat(...n.map(a=>t[a])),r=await co(o);e&&ao(t,r);let i=n.filter(a=>{let l=t[a];return S(l.map(u=>r[u]))>l.length*.6});return i.sort(),i}function so(){return C()||fe()}async function co(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),i={};Je(o);for(let a=0;a<e.length;++a){let l=In(e[a]);l.tagName==="DIALOG"&&l.show();let f=n.createElement("div");Je(f),f.appendChild(l),o.appendChild(f),r[a]=l}for(;!n.body;)await de(50);n.body.appendChild(o);try{for(let a=0;a<e.length;++a)r[a].offsetParent||(i[e[a]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return i}function Je(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function ao(e,t){let n="DOM blockers debug:\n```";for(let o of Object.keys(e)){n+=`
1
+ var G=["addExceptionStep","alias","calculateEventProperties","canRenderSurvey","canRenderSurveyAsync","cancelPendingSurvey","capture","captureException","captureLog","captureTraceFeedback","captureTraceMetric","clearIdentity","clear_opt_in_out_capturing","createPersonProfile","debug","displaySurvey","getActiveMatchingSurveys","getAllFeatureFlags","getEarlyAccessFeatures","getExtension","getFeatureFlag","getFeatureFlagPayload","getFeatureFlagResult","getGroups","getPageViewId","getSessionProperty","getSurveys","get_distinct_id","get_explicit_consent_status","get_property","get_session_id","get_session_replay_url","group","has_opted_in_capturing","has_opted_out_capturing","identify","init","isFeatureEnabled","is_capturing","loadToolbar","on","onActiveMatchingSurveysChanged","onFeatureFlags","onSessionId","onSurveysLoaded","opt_in_capturing","opt_out_capturing","register","register_for_session","register_once","reloadFeatureFlags","renderSurvey","reset","resetGroupPropertiesForFlags","resetGroups","resetPersonPropertiesForFlags","sessionRecordingStarted","setGroupPropertiesForFlags","setIdentity","setInternalOrTestUser","setPersonProperties","setPersonPropertiesForFlags","set_config","shutdown","startExceptionAutocapture","startSessionRecording","stopExceptionAutocapture","stopSessionRecording","unregister","unregister_for_session","unsetPersonProperties","updateEarlyAccessFeatureEnrollment","updateFlags"];var ft="5.3.0";function dn(e,t){for(let n=0,o=e.length;n<o;++n)if(e[n]===t)return!0;return!1}function fn(e,t){return!dn(e,t)}function Ce(e){return parseInt(e)}function E(e){return parseFloat(e)}function T(e,t){return typeof e=="number"&&isNaN(e)?t:e}function x(e){return e.reduce((t,n)=>t+(n?1:0),0)}function mt(e,t=1){if(Math.abs(t)>=1)return Math.round(e/t)*t;{let n=1/t;return Math.round(e*n)/n}}function mn(e){var t,n;let o=`Unexpected syntax '${e}'`,r=/^\s*([a-z-]*)(.*)$/i.exec(e),i=r[1]||void 0,a={},d=/([.:#][\w-]+|\[.+?\])/gi,f=(u,s)=>{a[u]=a[u]||[],a[u].push(s)};for(;;){let u=d.exec(r[2]);if(!u)break;let s=u[0];switch(s[0]){case".":f("class",s.slice(1));break;case"#":f("id",s.slice(1));break;case"[":{let c=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(s);if(c)f(c[1],(n=(t=c[4])!==null&&t!==void 0?t:c[5])!==null&&n!==void 0?n:"");else throw new Error(o);break}default:throw new Error(o)}}return[i,a]}function pn(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);if(o>127)return new TextEncoder().encode(e);t[n]=o}return t}function hn(e){var t;return{name:e.name,message:e.message,stack:(t=e.stack)===null||t===void 0?void 0:t.split(`
2
+ `),...e}}function gn(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function pt(){let e=window,t=navigator;return x(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function yn(){let e=window,t=navigator;return x(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!pt()}function X(){let e=window,t=navigator;return x(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,(t.vendor||"").indexOf("Google")===0,"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function F(){let e=window,t=navigator;return x(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,t.vendor.indexOf("Apple")===0,"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function Ee(){let e=window,{HTMLElement:t,Document:n}=e;return x(["safari"in e,!("ongestureend"in e),!("TouchEvent"in e),!("orientation"in e),t&&!("autocapitalize"in t.prototype),n&&"pointerLockElement"in n.prototype])>=4}function Q(){let e=window;return gn(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function ee(){var e,t;let n=window;return x(["buildID"in navigator,"MozAppearance"in((t=(e=document.documentElement)===null||e===void 0?void 0:e.style)!==null&&t!==void 0?t:{}),"onmozfullscreenchange"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4}function bn(){let e=window,t=navigator,{CSS:n}=e;return x(["userActivation"in t,n.supports("color","light-dark(#000, #fff)"),n.supports("height","1lh"),"globalPrivacyControl"in t])>=3}function ht(){let{CSS:e}=window;return x([e.supports("selector(::details-content)"),e.supports("selector(::before::marker)"),e.supports("selector(::after::marker)"),!("locale"in CompositionEvent.prototype)])>=3}function _n(){let e=window;return x([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function wn(){let e=window,{URLPattern:t}=e;return x(["union"in Set.prototype,"Iterator"in e,t&&"hasRegExpGroups"in t.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}function kn(){let e=window,t=document,{CSS:n,Promise:o,AudioContext:r}=e;return x([o&&"try"in o,"caretPositionFromPoint"in t,r&&"onerror"in r.prototype,n.supports("ruby-align","space-around")])>=3}function Sn(){let e=window;return x(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function te(){let e=window,t=navigator,{CSS:n,HTMLButtonElement:o}=e;return x([!("getStorageUpdates"in t),o&&"popover"in o.prototype,"CSSCounterStyleRule"in e,n.supports("font-size-adjust: ex-height 0.5"),n.supports("text-transform: full-width")])>=4}function vn(){if(navigator.platform==="iPad")return!0;let e=screen,t=e.width/e.height;return x(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}function xn(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function Ln(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function he(){var e,t;let n=X(),o=ee(),r=window,i=navigator;return n?x([In(),"HTMLInputElement"in r&&"capture"in HTMLInputElement.prototype,"NetworkInformation"in r&&"ontypechange"in((t=(e=r.NetworkInformation)===null||e===void 0?void 0:e.prototype)!==null&&t!==void 0?t:{}),!("sinkId"in new Audio)])>=2:o?x(["onorientationchange"in r,"orientation"in r,/android/i.test(i.appVersion)])>=2:!1}function An(){let e=navigator,t=window,n=Audio.prototype,{visualViewport:o}=t;return x(["srLatency"in n,"srChannelCount"in n,"devicePosture"in e,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function In(){var e,t;try{return!!(!((t=(e=window.Intl)===null||e===void 0?void 0:e.supportedValuesOf)===null||t===void 0)&&t.call(e,"collation").includes("dict"))}catch{return!1}}var Pn="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function Cn(e){let t=En(e),n=Fn(t);return{score:t,comment:Pn.replace(/\$/g,`${n}`)}}function En(e){if(he())return .4;if(F())return Ee()&&!(te()&&Q())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function Fn(e){return mt(.99+.01*e,1e-4)}function pe(e,t){return new Promise(n=>setTimeout(n,e,t))}function Mn(){return new Promise(e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})}function Rn(e,t=1/0){let{requestIdleCallback:n}=window;return n?new Promise(o=>n.call(window,()=>o(),{timeout:t})):pe(Math.min(e,t))}function gt(e){return!!e&&typeof e.then=="function"}function Qe(e,t){try{let n=e();gt(n)?n.then(o=>t(!0,o),o=>t(!1,o)):t(!0,n)}catch(n){t(!1,n)}}async function et(e,t,n=16){let o=Array(e.length),r=Date.now();for(let i=0;i<e.length;++i){o[i]=t(e[i],i);let a=Date.now();a>=r+n&&(r=a,await Mn())}return o}function K(e){return e.then(void 0,()=>{}),e}function Tn(e){return typeof e!="function"}function Vn(e,t){let n=K(new Promise(o=>{let r=Date.now();Qe(e.bind(null,t),(...i)=>{let a=Date.now()-r;if(!i[0])return o(()=>({error:i[1],duration:a}));let d=i[1];if(Tn(d))return o(()=>({value:d,duration:a}));o(()=>new Promise(f=>{let u=Date.now();Qe(d,(...s)=>{let c=a+Date.now()-u;if(!s[0])return f({error:s[1],duration:c});f({value:s[1],duration:c})})}))})}));return function(){return n.then(r=>r())}}function Wn(e,t,n,o){let r=Object.keys(e).filter(a=>fn(n,a)),i=K(et(r,a=>Vn(e[a],t),o));return async function(){let d=await i,f=await et(d,c=>K(c()),o),u=await Promise.all(f),s={};for(let c=0;c<r.length;++c)s[r[c]]=u[c];return s}}async function yt(e,t,n=50){var o,r,i;let a=document;for(;!a.body;)await pe(n);let d=a.createElement("iframe");try{for(await new Promise((f,u)=>{let s=!1,c=()=>{s=!0,f()},y=b=>{s=!0,u(b)};d.onload=c,d.onerror=y;let{style:p}=d;p.setProperty("display","block","important"),p.position="absolute",p.top="0",p.left="0",p.visibility="hidden",t&&"srcdoc"in d?d.srcdoc=t:d.src="about:blank",a.body.appendChild(d);let h=()=>{var b,A;s||(((A=(b=d.contentWindow)===null||b===void 0?void 0:b.document)===null||A===void 0?void 0:A.readyState)==="complete"?c():setTimeout(h,10))};h()});!(!((r=(o=d.contentWindow)===null||o===void 0?void 0:o.document)===null||r===void 0)&&r.body);)await pe(n);return await e(d,d.contentWindow)}finally{(i=d.parentNode)===null||i===void 0||i.removeChild(d)}}function Nn(e){let[t,n]=mn(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let i=n[r].join(" ");r==="style"?On(o.style,i):o.setAttribute(r,i)}return o}function On(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,i,,a]=o;e.setProperty(r,i,a||"")}}}function Dn(){let e=window;for(;;){let t=e.parent;if(!t||t===e)return!1;try{if(t.location.origin!==e.location.origin)return!0}catch(n){if(n instanceof Error&&n.name==="SecurityError")return!0;throw n}e=t}}function Gn(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if($n())return-3;try{return e.canMakePayments()?1:0}catch(t){return Hn(t)}}var $n=Dn;function Hn(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function Zn(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function jn(){return Xn()?-4:Yn()}function Yn(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(zn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),i=r.createOscillator();i.type="triangle",i.frequency.value=1e4;let a=r.createDynamicsCompressor();a.threshold.value=-50,a.knee.value=40,a.ratio.value=12,a.attack.value=0,a.release.value=.25,i.connect(a),a.connect(r.destination),i.start(0);let[d,f]=Bn(r),u=K(d.then(s=>Jn(s.getChannelData(0).subarray(n)),s=>{if(s.name==="timeout"||s.name==="suspended")return-3;throw s}));return()=>(f(),u)}function zn(){return F()&&!Ee()&&!Sn()}function Xn(){return F()&&te()&&Q()||X()&&An()&&wn()}function Bn(e){let i=()=>{};return[new Promise((d,f)=>{let u=!1,s=0,c=0;e.oncomplete=h=>d(h.renderedBuffer);let y=()=>{setTimeout(()=>f(tt("timeout")),Math.min(500,c+5e3-Date.now()))},p=()=>{try{let h=e.startRendering();switch(gt(h)&&K(h),e.state){case"running":c=Date.now(),u&&y();break;case"suspended":document.hidden||s++,u&&s>=3?f(tt("suspended")):setTimeout(p,500);break}}catch(h){f(h)}};p(),i=()=>{u||(u=!0,c>0&&y())}}),i]}function Jn(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function tt(e){let t=new Error(e);return t.name=e,t}function Un(){if(!(he()||F()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function qn(){return Kn(io())}function Kn(e){let t=!1,n,o,[r,i]=Qn();return eo(r,i)?(t=to(i),e?n=o="skipped":[n,o]=no(r,i)):n=o="unsupported",{winding:t,geometry:n,text:o}}function Qn(){let e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function eo(e,t){return!!(t&&e.toDataURL)}function to(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function no(e,t){oo(e,t);let n=xe(e),o=xe(e);return n!==o?["unstable","unstable"]:(ro(e,t),[xe(e),n])}function oo(e,t){e.width=240,e.height=60,t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(100,1,62,20),t.fillStyle="#069",t.font='11pt "Times New Roman"';let n="Cwm fjordbank gly \u{1F603}";t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.2)",t.font="18pt Arial",t.fillText(n,4,45)}function ro(e,t){e.width=122,e.height=110,t.globalCompositeOperation="multiply";for(let[n,o,r]of[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]])t.fillStyle=n,t.beginPath(),t.arc(o,r,40,0,Math.PI*2,!0),t.closePath(),t.fill();t.fillStyle="#f9c",t.arc(60,60,60,0,Math.PI*2,!0),t.arc(60,60,20,0,Math.PI*2,!0),t.fill("evenodd")}function xe(e){return e.toDataURL()}function io(){let e=F()&&te()&&Q(),t=ee()&&bn();return e||t}function so(){return window.screen.colorDepth}function co(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function ao(){if(j("no-preference"))return 0;if(j("high")||j("more"))return 1;if(j("low")||j("less"))return-1;if(j("forced"))return 10}function j(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function uo(){let e=document;try{e.cookie="cookietest=1; SameSite=Strict;";let t=e.cookie.indexOf("cookietest=")!==-1;return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch{return!1}}function lo(){return navigator.cpuClass}function fo(){if(!window.Intl)return-1;let e=window.Intl.DateTimeFormat;if(!e)return-2;let t=e().resolvedOptions().locale;return!t&&t!==""?-3:t}function mo(){return T(E(navigator.deviceMemory),void 0)}function po(){let e=atob;return{abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',e("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",e("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",e("LnNwb25zb3JpdA=="),".ylamainos",e("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",e("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",e("LmhlYWRlci1ibG9ja2VkLWFk"),e("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",e("I2FkXzMwMFgyNTA="),e("I2Jhbm5lcmZsb2F0MjI="),e("I2NhbXBhaWduLWJhbm5lcg=="),e("I0FkLUNvbnRlbnQ=")],adGuardChinese:[e("LlppX2FkX2FfSA=="),e("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",e("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),e("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",e("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",e("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",e("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),e("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),e("LmFkZ29vZ2xl"),e("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[e("YW1wLWF1dG8tYWRz"),e("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",e("I2FkX2ludmlld19hcmVh")],adGuardRussian:[e("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),e("LnJlY2xhbWE="),'div[id^="smi2adblock"]',e("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[e("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),e("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",e("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),e("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),e("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",e("I3Jla2xhbWk="),e("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),e("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),e("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[e("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",e("LndpZGdldF9wb19hZHNfd2lkZ2V0"),e("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",e("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[e("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),e("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",e("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",e("I3Jla2xhbW5pLWJveA=="),e("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",e("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[e("I2FkdmVydGVudGll"),e("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",e("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",e("LnNwb25zb3JsaW5rZ3J1ZW4="),e("I3dlcmJ1bmdza3k="),e("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),e("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[e("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",e("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[e("LnJla2xhbW9zX3RhcnBhcw=="),e("LnJla2xhbW9zX251b3JvZG9z"),e("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),e("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),e("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[e("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],fanboyAnnoyances:["#ac-lre-player",".navigate-to-top","#subscribe_popup",".newsletter_holder","#back-top"],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag","#sovrn_container",'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:["#FollowUs","#meteored_share","#social_follow",".article-sharer",".community__social-desc"],frellwitSwedish:[e("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),e("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",e("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[e("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),e("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),e("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",e("LmFkX19tYWlu"),e("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[e("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[e("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),e("I2xpdmVyZUFkV3JhcHBlcg=="),e("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),e("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[e("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",e("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),e("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),e("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[e("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),e("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),e("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",e("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),e("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),e("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),e("ZGl2I3NrYXBpZWNfYWQ=")],ro:[e("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),e("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[e("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),e("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),e("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",e("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),e("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",e("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]}}async function ho({debug:e}={}){if(!go())return;let t=po(),n=Object.keys(t),o=[].concat(...n.map(a=>t[a])),r=await yo(o);e&&bo(t,r);let i=n.filter(a=>{let d=t[a];return x(d.map(u=>r[u]))>d.length*.6});return i.sort(),i}function go(){return F()||he()}async function yo(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),i={};nt(o);for(let a=0;a<e.length;++a){let d=Nn(e[a]);d.tagName==="DIALOG"&&d.show();let f=n.createElement("div");nt(f),f.appendChild(d),o.appendChild(f),r[a]=d}for(;!n.body;)await pe(50);n.body.appendChild(o);try{for(let a=0;a<e.length;++a)r[a].offsetParent||(i[e[a]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return i}function nt(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function bo(e,t){let n="DOM blockers debug:\n```";for(let o of Object.keys(e)){n+=`
3
3
  ${o}:`;for(let r of e[o])n+=`
4
4
  ${t[r]?"\u{1F6AB}":"\u27A1\uFE0F"} ${r}`}console.log(`${n}
5
- \`\`\``)}var uo="mmMwWLliI0fiflO&1",we={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function lo(){return mo((e,t,n)=>{let o={},r={};for(let a of Object.keys(we)){let[l={},f=uo]=we[a],u=e.createElement("span");u.textContent=f,u.style.whiteSpace="nowrap";for(let s of Object.keys(l)){let c=l[s];c!==void 0&&(u.style[s]=c)}o[a]=u,t.append(e.createElement("br"),u)}let i=$()&&fn();for(let a of Object.keys(we)){let l=o[a].getBoundingClientRect().width;r[a]=i?fo(l*n.devicePixelRatio):l}return r})}function fo(e){let t=fe()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function mo(e,t=4e3){return lt((n,o)=>{let r=o.document,i=r.body,a=i.style;a.width=`${t}px`,a.webkitTextSizeAdjust=a.textSizeAdjust="none",$()?i.style.zoom=`${1/o.devicePixelRatio}`:C()&&(i.style.zoom="reset");let l=r.createElement("div");return l.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),i.appendChild(l),e(r,i,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var po="mmMwWLliI0O&1",ho="48px",Z=["monospace","sans-serif","serif"],Ue=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function go(){return lt((e,{document:t})=>{let n=t.body;n.style.fontSize=ho;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},i={},a=m=>{let p=t.createElement("span"),{style:y}=p;return y.position="absolute",y.top="0",y.left="0",y.fontFamily=m,p.textContent=po,o.appendChild(p),p},l=(m,p)=>a(`'${m}',${p}`),f=()=>Z.map(a),u=()=>{let m={};for(let p of Ue)m[p]=Z.map(y=>l(p,y));return m},s=m=>Z.some((p,y)=>m[y].offsetWidth!==r[p]||m[y].offsetHeight!==i[p]),c=f(),h=u();n.appendChild(o);for(let m=0;m<Z.length;m++)r[Z[m]]=c[m].offsetWidth,i[Z[m]]=c[m].offsetHeight;return Ue.filter(m=>s(h[m]))})}function yo(){if(Ke("active"))return!0;if(Ke("none"))return!1}function Ke(e){return matchMedia(`(forced-colors: ${e})`).matches}function bo(){let e=wo();return e!==void 0&&U()&&at()?e>=8?8:4:e}function wo(){return F(Se(navigator.hardwareConcurrency),void 0)}function _o(){if(Qe("high"))return!0;if(Qe("standard"))return!1}function Qe(e){return matchMedia(`(dynamic-range: ${e})`).matches}function ko(){if(!(ct()||an()))try{return!!window.indexedDB}catch{return!0}}function vo(){if(qe("inverted"))return!0;if(qe("none"))return!1}function qe(e){return matchMedia(`(inverted-colors: ${e})`).matches}function So(){let e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(n!==void 0&&t.push([n]),Array.isArray(e.languages))$()&&ln()||t.push(e.languages);else if(typeof e.languages=="string"){let o=e.languages;o&&t.push(o.split(","))}return t}function xo(){try{return!!window.localStorage}catch{return!0}}var w=Math,x=()=>0;function Lo(){let e=w.acos||x,t=w.acosh||x,n=w.asin||x,o=w.asinh||x,r=w.atanh||x,i=w.atan||x,a=w.sin||x,l=w.sinh||x,f=w.cos||x,u=w.cosh||x,s=w.tan||x,c=w.tanh||x,h=w.exp||x,m=w.expm1||x,p=w.log1p||x,y=b=>w.pow(w.PI,b),L=b=>w.log(b+w.sqrt(b*b-1)),G=b=>w.log(b+w.sqrt(b*b+1)),te=b=>w.log((1+b)/(1-b))/2,O=b=>w.exp(b)-1/w.exp(b)/2,T=b=>(w.exp(b)+1/w.exp(b))/2,ne=b=>w.exp(b)-1,Y=b=>(w.exp(2*b)-1)/(w.exp(2*b)+1),z=b=>w.log(1+b);return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:L(1e154),asin:n(.12312423423423424),asinh:o(1),asinhPf:G(1),atanh:r(.5),atanhPf:te(.5),atan:i(.5),sin:a(-1e300),sinh:l(1),sinhPf:O(1),cos:f(10.000000000123),cosh:u(1),coshPf:T(1),tan:s(-1e300),tanh:c(1),tanhPf:Y(1),exp:h(1),expm1:m(1),expm1Pf:ne(1),log1p:p(10),log1pPf:z(10),powPI:y(-100)}}var Ao=100;function Po(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=Ao;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}function Io(){return!!window.openDatabase}function Co(){return navigator.oscpu}function Eo(){return navigator.pdfViewerEnabled}function Fo(){let{platform:e}=navigator;return e==="MacIntel"&&C()&&!xe()?pn()?"iPad":"iPhone":e}function Ro(){let e=navigator.plugins;if(!e)return;let t=[];for(let n=0;n<e.length;++n){let o=e[n];if(!o)continue;let r=[];for(let i=0;i<o.length;++i){let a=o[i];r.push({type:a.type,suffixes:a.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function Mo(){var e;let t=document.createElement("a"),n=(e=t.attributionSourceId)!==null&&e!==void 0?e:t.attributionsourceid;return n===void 0?void 0:String(n)}function Vo(){if(et("reduce"))return!0;if(et("no-preference"))return!1}function et(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function To(){if(tt("reduce"))return!0;if(tt("no-preference"))return!1}function tt(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var Wo=2500,No=10,le,_e;function Do(){if(_e!==void 0)return;let e=()=>{let t=ke();ve(t)?_e=setTimeout(e,Wo):(le=t,_e=void 0)};e()}function Go(){return Do(),async()=>{let e=ke();if(ve(e)){if(le)return[...le];hn()&&(await gn(),e=ke())}return ve(e)||(le=e),e}}function Oo(){let e=C()&&K()&&J(),t=U()&&at();if(e||t)return()=>Promise.resolve(void 0);let n=Go();return async()=>{let o=await n(),r=i=>i===null?null:st(i,No);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function ke(){let e=screen;return[F(I(e.availTop),null),F(I(e.width)-I(e.availWidth)-F(I(e.availLeft),0),null),F(I(e.height)-I(e.availHeight)-F(I(e.availTop),0),null),F(I(e.availLeft),null)]}function ve(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function Ho(){if(!(C()&&K()&&J()))return Zo()}function Zo(){let e=screen,t=o=>F(Se(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function jo(){try{return!!window.sessionStorage}catch{return!0}}function $o(){var e;let t=(e=window.Intl)===null||e===void 0?void 0:e.DateTimeFormat;if(t){let o=new t().resolvedOptions().timeZone;if(o)return o}let n=-Yo();return`UTC${n>=0?"+":""}${n}`}function Yo(){let e=new Date().getFullYear();return Math.max(I(new Date(e,0,1).getTimezoneOffset()),I(new Date(e,6,1).getTimezoneOffset()))}function zo(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=Se(e.maxTouchPoints):e.msMaxTouchPoints!==void 0&&(t=e.msMaxTouchPoints);try{document.createEvent("TouchEvent"),n=!0}catch{n=!1}let o="ontouchstart"in window;return{maxTouchPoints:t,touchEvent:n,touchStart:o}}function Xo(e){return/not/i.test(e)}async function Bo(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!Xo(r)).map(({brand:r})=>r),o={brands:t.length>1?t.filter(r=>r!=="Chromium"):t,mobile:e.mobile,platform:e.platform};if(e.getHighEntropyValues)try{let r=await e.getHighEntropyValues(["architecture","bitness","model","platformVersion"]);o.architecture=r.architecture,o.bitness=r.bitness,o.model=r.model,o.platformVersion=r.platformVersion}catch(r){if(r instanceof DOMException&&r.name==="NotAllowedError")o.highEntropyStatus="not_allowed";else throw r}return o}function Jo(){return navigator.vendor||""}function Uo(){let e=[];for(let t of["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"]){let n=window[t];n&&typeof n=="object"&&e.push(t)}return e.sort()}var dt=-1,ft=-2,Ko=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),Qo=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),qo=["FRAGMENT_SHADER","VERTEX_SHADER"],er=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],mt="WEBGL_debug_renderer_info",tr="WEBGL_polygon_mode";function nr({cache:e}){var t,n,o,r,i,a;let l=pt(e);if(!l)return dt;if(!gt(l))return ft;let f=ht()?null:l.getExtension(mt);return{version:((t=l.getParameter(l.VERSION))===null||t===void 0?void 0:t.toString())||"",vendor:((n=l.getParameter(l.VENDOR))===null||n===void 0?void 0:n.toString())||"",vendorUnmasked:f?(o=l.getParameter(f.UNMASKED_VENDOR_WEBGL))===null||o===void 0?void 0:o.toString():"",renderer:((r=l.getParameter(l.RENDERER))===null||r===void 0?void 0:r.toString())||"",rendererUnmasked:f?(i=l.getParameter(f.UNMASKED_RENDERER_WEBGL))===null||i===void 0?void 0:i.toString():"",shadingLanguageVersion:((a=l.getParameter(l.SHADING_LANGUAGE_VERSION))===null||a===void 0?void 0:a.toString())||""}}function or({cache:e}){let t=pt(e);if(!t)return dt;if(!gt(t))return ft;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],i=[],a=[],l=[],f=[];if(o)for(let s of Object.keys(o))i.push(`${s}=${o[s]}`);let u=nt(t);for(let s of u){let c=t[s];a.push(`${s}=${c}${Ko.has(c)?`=${t.getParameter(c)}`:""}`)}if(n)for(let s of n){if(s===mt&&ht()||s===tr&&sr())continue;let c=t.getExtension(s);if(!c){r.push(s);continue}for(let h of nt(c)){let m=c[h];l.push(`${h}=${m}${Qo.has(m)?`=${t.getParameter(m)}`:""}`)}}for(let s of qo)for(let c of er){let h=rr(t,s,c);f.push(`${s}.${c}=${h.join(",")}`)}return l.sort(),a.sort(),{contextAttributes:i,parameters:a,shaderPrecisions:f,extensions:n,extensionParameters:l,unsupportedExtensions:r}}function pt(e){if(e.webgl)return e.webgl.context;let t=document.createElement("canvas"),n;t.addEventListener("webglCreateContextError",()=>n=void 0);for(let o of["webgl","experimental-webgl"]){try{n=t.getContext(o)}catch{}if(n)break}return e.webgl={context:n},n}function rr(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function nt(e){return Object.keys(e.__proto__).filter(ir)}function ir(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function ht(){return U()}function sr(){return $()||C()}function gt(e){return typeof e.getParameter=="function"}var cr={userAgentData:Bo,fonts:go,domBlockers:io,fontPreferences:lo,audio:Tn,screenFrame:Oo,canvas:Zn,osCpu:Co,languages:So,colorDepth:Kn,deviceMemory:oo,screenResolution:Ho,hardwareConcurrency:bo,timezone:$o,sessionStorage:jo,localStorage:xo,indexedDB:ko,openDatabase:Io,cpuClass:to,platform:Fo,plugins:Ro,touchSupport:zo,vendor:Jo,vendorFlavors:Uo,cookiesEnabled:eo,colorGamut:Qn,invertedColors:vo,forcedColors:yo,monochrome:Po,contrast:qn,reducedMotion:Vo,reducedTransparency:To,hdr:_o,math:Lo,pdfViewerEnabled:Eo,architecture:Vn,applePay:Fn,privateClickMeasurement:Mo,audioBaseLatency:Hn,dateTimeLocale:no,webGlBasics:nr,webGlExtensions:or};function ar(e){return Pn(cr,e,[])}function V(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,h=0,m=0;m+=i+u,h+=m>>>16,m&=65535,h+=r+f,c+=h>>>16,h&=65535,c+=o+l,s+=c>>>16,c&=65535,s+=n+a,s&=65535,e[0]=s<<16|c,e[1]=h<<16|m}function P(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,h=0,m=0;m+=i*u,h+=m>>>16,m&=65535,h+=r*u,c+=h>>>16,h&=65535,h+=i*f,c+=h>>>16,h&=65535,c+=o*u,s+=c>>>16,c&=65535,c+=r*f,s+=c>>>16,c&=65535,c+=i*l,s+=c>>>16,c&=65535,s+=n*u+o*f+r*l+i*a,s&=65535,e[0]=s<<16|c,e[1]=h<<16|m}function j(e,t){let n=e[0];t%=64,t===32?(e[0]=e[1],e[1]=n):t<32?(e[0]=n<<t|e[1]>>>32-t,e[1]=e[1]<<t|n>>>32-t):(t-=32,e[0]=e[1]<<t|n>>>32-t,e[1]=n<<t|e[1]>>>32-t)}function A(e,t){t%=64,t!==0&&(t<32?(e[0]=e[1]>>>32-t,e[1]=e[1]<<t):(e[0]=e[1]<<t-32,e[1]=0))}function k(e,t){e[0]^=t[0],e[1]^=t[1]}var ur=[4283543511,3981806797],lr=[3301882366,444984403];function ot(e){let t=[0,e[0]>>>1];k(e,t),P(e,ur),t[1]=e[0]>>>1,k(e,t),P(e,lr),t[1]=e[0]>>>1,k(e,t)}var ae=[2277735313,289559509],ue=[1291169091,658871167],rt=[0,5],dr=[0,1390208809],fr=[0,944331445];function mr(e,t){let n=rn(e);t=t||0;let o=[0,n.length],r=o[1]%16,i=o[1]-r,a=[0,t],l=[0,t],f=[0,0],u=[0,0],s;for(s=0;s<i;s=s+16)f[0]=n[s+4]|n[s+5]<<8|n[s+6]<<16|n[s+7]<<24,f[1]=n[s]|n[s+1]<<8|n[s+2]<<16|n[s+3]<<24,u[0]=n[s+12]|n[s+13]<<8|n[s+14]<<16|n[s+15]<<24,u[1]=n[s+8]|n[s+9]<<8|n[s+10]<<16|n[s+11]<<24,P(f,ae),j(f,31),P(f,ue),k(a,f),j(a,27),V(a,l),P(a,rt),V(a,dr),P(u,ue),j(u,33),P(u,ae),k(l,u),j(l,31),V(l,a),P(l,rt),V(l,fr);f[0]=0,f[1]=0,u[0]=0,u[1]=0;let c=[0,0];switch(r){case 15:c[1]=n[s+14],A(c,48),k(u,c);case 14:c[1]=n[s+13],A(c,40),k(u,c);case 13:c[1]=n[s+12],A(c,32),k(u,c);case 12:c[1]=n[s+11],A(c,24),k(u,c);case 11:c[1]=n[s+10],A(c,16),k(u,c);case 10:c[1]=n[s+9],A(c,8),k(u,c);case 9:c[1]=n[s+8],k(u,c),P(u,ue),j(u,33),P(u,ae),k(l,u);case 8:c[1]=n[s+7],A(c,56),k(f,c);case 7:c[1]=n[s+6],A(c,48),k(f,c);case 6:c[1]=n[s+5],A(c,40),k(f,c);case 5:c[1]=n[s+4],A(c,32),k(f,c);case 4:c[1]=n[s+3],A(c,24),k(f,c);case 3:c[1]=n[s+2],A(c,16),k(f,c);case 2:c[1]=n[s+1],A(c,8),k(f,c);case 1:c[1]=n[s],k(f,c),P(f,ae),j(f,31),P(f,ue),k(a,f)}return k(a,o),k(l,o),V(a,l),V(l,a),ot(a),ot(l),V(a,l),V(l,a),`00000000${(a[0]>>>0).toString(16)}`.slice(-8)+`00000000${(a[1]>>>0).toString(16)}`.slice(-8)+`00000000${(l[0]>>>0).toString(16)}`.slice(-8)+`00000000${(l[1]>>>0).toString(16)}`.slice(-8)}function pr(e){let t="";for(let n of Object.keys(e).sort()){let o=e[n],r="error"in o?"error":JSON.stringify(o.value);t+=`${t?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return t}function yt(e){return JSON.stringify(e,(t,n)=>n instanceof Error?sn(n):n,2)}function bt(e){return mr(pr(e))}function hr(e){let t,n=_n(e);return{get visitorId(){return t===void 0&&(t=bt(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:it}}function gr(e=50){return xn(e,e*2)}function yr(e,t){let n=Date.now();return{async get(o){let r=Date.now(),i=await e(),a=hr(i);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
5
+ \`\`\``)}var _o="mmMwWLliI0fiflO&1",Le={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function wo(){return So((e,t,n)=>{let o={},r={};for(let a of Object.keys(Le)){let[d={},f=_o]=Le[a],u=e.createElement("span");u.textContent=f,u.style.whiteSpace="nowrap";for(let s of Object.keys(d)){let c=d[s];c!==void 0&&(u.style[s]=c)}o[a]=u,t.append(e.createElement("br"),u)}let i=X()&&kn();for(let a of Object.keys(Le)){let d=o[a].getBoundingClientRect().width;r[a]=i?ko(d*n.devicePixelRatio):d}return r})}function ko(e){let t=he()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function So(e,t=4e3){return yt((n,o)=>{let r=o.document,i=r.body,a=i.style;a.width=`${t}px`,a.webkitTextSizeAdjust=a.textSizeAdjust="none",X()?i.style.zoom=`${1/o.devicePixelRatio}`:F()&&(i.style.zoom="reset");let d=r.createElement("div");return d.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),i.appendChild(d),e(r,i,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var vo="mmMwWLliI0O&1",xo="48px",Y=["monospace","sans-serif","serif"],ot=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function Lo(){return yt((e,{document:t})=>{let n=t.body;n.style.fontSize=xo;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},i={},a=p=>{let h=t.createElement("span"),{style:b}=h;return b.position="absolute",b.top="0",b.left="0",b.fontFamily=p,h.textContent=vo,o.appendChild(h),h},d=(p,h)=>a(`'${p}',${h}`),f=()=>Y.map(a),u=()=>{let p={};for(let h of ot)p[h]=Y.map(b=>d(h,b));return p},s=p=>Y.some((h,b)=>p[b].offsetWidth!==r[h]||p[b].offsetHeight!==i[h]),c=f(),y=u();n.appendChild(o);for(let p=0;p<Y.length;p++)r[Y[p]]=c[p].offsetWidth,i[Y[p]]=c[p].offsetHeight;return ot.filter(p=>s(y[p]))})}function Ao(){if(rt("active"))return!0;if(rt("none"))return!1}function rt(e){return matchMedia(`(forced-colors: ${e})`).matches}function Io(){let e=Po();return e!==void 0&&ee()&&ht()?e>=8?8:4:e}function Po(){return T(Ce(navigator.hardwareConcurrency),void 0)}function Co(){if(it("high"))return!0;if(it("standard"))return!1}function it(e){return matchMedia(`(dynamic-range: ${e})`).matches}function Eo(){if(!(pt()||yn()))try{return!!window.indexedDB}catch{return!0}}function Fo(){if(st("inverted"))return!0;if(st("none"))return!1}function st(e){return matchMedia(`(inverted-colors: ${e})`).matches}function Mo(){let e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(n!==void 0&&t.push([n]),Array.isArray(e.languages))X()&&_n()||t.push(e.languages);else if(typeof e.languages=="string"){let o=e.languages;o&&t.push(o.split(","))}return t}function Ro(){try{return!!window.localStorage}catch{return!0}}var k=Math,L=()=>0;function To(){let e=k.acos||L,t=k.acosh||L,n=k.asin||L,o=k.asinh||L,r=k.atanh||L,i=k.atan||L,a=k.sin||L,d=k.sinh||L,f=k.cos||L,u=k.cosh||L,s=k.tan||L,c=k.tanh||L,y=k.exp||L,p=k.expm1||L,h=k.log1p||L,b=_=>k.pow(k.PI,_),A=_=>k.log(_+k.sqrt(_*_-1)),H=_=>k.log(_+k.sqrt(_*_+1)),ie=_=>k.log((1+_)/(1-_))/2,Z=_=>k.exp(_)-1/k.exp(_)/2,O=_=>(k.exp(_)+1/k.exp(_))/2,se=_=>k.exp(_)-1,M=_=>(k.exp(2*_)-1)/(k.exp(2*_)+1),J=_=>k.log(1+_);return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:A(1e154),asin:n(.12312423423423424),asinh:o(1),asinhPf:H(1),atanh:r(.5),atanhPf:ie(.5),atan:i(.5),sin:a(-1e300),sinh:d(1),sinhPf:Z(1),cos:f(10.000000000123),cosh:u(1),coshPf:O(1),tan:s(-1e300),tanh:c(1),tanhPf:M(1),exp:y(1),expm1:p(1),expm1Pf:se(1),log1p:h(10),log1pPf:J(10),powPI:b(-100)}}var Vo=100;function Wo(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=Vo;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}function No(){return!!window.openDatabase}function Oo(){return navigator.oscpu}function Do(){return navigator.pdfViewerEnabled}function Go(){let{platform:e}=navigator;return e==="MacIntel"&&F()&&!Ee()?vn()?"iPad":"iPhone":e}function $o(){let e=navigator.plugins;if(!e)return;let t=[];for(let n=0;n<e.length;++n){let o=e[n];if(!o)continue;let r=[];for(let i=0;i<o.length;++i){let a=o[i];r.push({type:a.type,suffixes:a.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function Ho(){var e;let t=document.createElement("a"),n=(e=t.attributionSourceId)!==null&&e!==void 0?e:t.attributionsourceid;return n===void 0?void 0:String(n)}function Zo(){if(ct("reduce"))return!0;if(ct("no-preference"))return!1}function ct(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function jo(){if(at("reduce"))return!0;if(at("no-preference"))return!1}function at(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var Yo=2500,zo=10,me,Ae;function Xo(){if(Ae!==void 0)return;let e=()=>{let t=Ie();Pe(t)?Ae=setTimeout(e,Yo):(me=t,Ae=void 0)};e()}function Bo(){return Xo(),async()=>{let e=Ie();if(Pe(e)){if(me)return[...me];xn()&&(await Ln(),e=Ie())}return Pe(e)||(me=e),e}}function Jo(){let e=F()&&te()&&Q(),t=ee()&&ht();if(e||t)return()=>Promise.resolve(void 0);let n=Bo();return async()=>{let o=await n(),r=i=>i===null?null:mt(i,zo);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function Ie(){let e=screen;return[T(E(e.availTop),null),T(E(e.width)-E(e.availWidth)-T(E(e.availLeft),0),null),T(E(e.height)-E(e.availHeight)-T(E(e.availTop),0),null),T(E(e.availLeft),null)]}function Pe(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function Uo(){if(!(F()&&te()&&Q()))return qo()}function qo(){let e=screen,t=o=>T(Ce(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function Ko(){try{return!!window.sessionStorage}catch{return!0}}function Qo(){var e;let t=(e=window.Intl)===null||e===void 0?void 0:e.DateTimeFormat;if(t){let o=new t().resolvedOptions().timeZone;if(o)return o}let n=-er();return`UTC${n>=0?"+":""}${n}`}function er(){let e=new Date().getFullYear();return Math.max(E(new Date(e,0,1).getTimezoneOffset()),E(new Date(e,6,1).getTimezoneOffset()))}function tr(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=Ce(e.maxTouchPoints):e.msMaxTouchPoints!==void 0&&(t=e.msMaxTouchPoints);try{document.createEvent("TouchEvent"),n=!0}catch{n=!1}let o="ontouchstart"in window;return{maxTouchPoints:t,touchEvent:n,touchStart:o}}function nr(e){return/not/i.test(e)}async function or(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!nr(r)).map(({brand:r})=>r),o={brands:t.length>1?t.filter(r=>r!=="Chromium"):t,mobile:e.mobile,platform:e.platform};if(e.getHighEntropyValues)try{let r=await e.getHighEntropyValues(["architecture","bitness","model","platformVersion"]);o.architecture=r.architecture,o.bitness=r.bitness,o.model=r.model,o.platformVersion=r.platformVersion}catch(r){if(r instanceof DOMException&&r.name==="NotAllowedError")o.highEntropyStatus="not_allowed";else throw r}return o}function rr(){return navigator.vendor||""}function ir(){let e=[];for(let t of["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"]){let n=window[t];n&&typeof n=="object"&&e.push(t)}return e.sort()}var bt=-1,_t=-2,sr=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),cr=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),ar=["FRAGMENT_SHADER","VERTEX_SHADER"],ur=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],wt="WEBGL_debug_renderer_info",lr="WEBGL_polygon_mode";function dr({cache:e}){var t,n,o,r,i,a;let d=kt(e);if(!d)return bt;if(!vt(d))return _t;let f=St()?null:d.getExtension(wt);return{version:((t=d.getParameter(d.VERSION))===null||t===void 0?void 0:t.toString())||"",vendor:((n=d.getParameter(d.VENDOR))===null||n===void 0?void 0:n.toString())||"",vendorUnmasked:f?(o=d.getParameter(f.UNMASKED_VENDOR_WEBGL))===null||o===void 0?void 0:o.toString():"",renderer:((r=d.getParameter(d.RENDERER))===null||r===void 0?void 0:r.toString())||"",rendererUnmasked:f?(i=d.getParameter(f.UNMASKED_RENDERER_WEBGL))===null||i===void 0?void 0:i.toString():"",shadingLanguageVersion:((a=d.getParameter(d.SHADING_LANGUAGE_VERSION))===null||a===void 0?void 0:a.toString())||""}}function fr({cache:e}){let t=kt(e);if(!t)return bt;if(!vt(t))return _t;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],i=[],a=[],d=[],f=[];if(o)for(let s of Object.keys(o))i.push(`${s}=${o[s]}`);let u=ut(t);for(let s of u){let c=t[s];a.push(`${s}=${c}${sr.has(c)?`=${t.getParameter(c)}`:""}`)}if(n)for(let s of n){if(s===wt&&St()||s===lr&&hr())continue;let c=t.getExtension(s);if(!c){r.push(s);continue}for(let y of ut(c)){let p=c[y];d.push(`${y}=${p}${cr.has(p)?`=${t.getParameter(p)}`:""}`)}}for(let s of ar)for(let c of ur){let y=mr(t,s,c);f.push(`${s}.${c}=${y.join(",")}`)}return d.sort(),a.sort(),{contextAttributes:i,parameters:a,shaderPrecisions:f,extensions:n,extensionParameters:d,unsupportedExtensions:r}}function kt(e){if(e.webgl)return e.webgl.context;let t=document.createElement("canvas"),n;t.addEventListener("webglCreateContextError",()=>n=void 0);for(let o of["webgl","experimental-webgl"]){try{n=t.getContext(o)}catch{}if(n)break}return e.webgl={context:n},n}function mr(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function ut(e){return Object.keys(e.__proto__).filter(pr)}function pr(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function St(){return ee()}function hr(){return X()||F()}function vt(e){return typeof e.getParameter=="function"}var gr={userAgentData:or,fonts:Lo,domBlockers:ho,fontPreferences:wo,audio:jn,screenFrame:Jo,canvas:qn,osCpu:Oo,languages:Mo,colorDepth:so,deviceMemory:mo,screenResolution:Uo,hardwareConcurrency:Io,timezone:Qo,sessionStorage:Ko,localStorage:Ro,indexedDB:Eo,openDatabase:No,cpuClass:lo,platform:Go,plugins:$o,touchSupport:tr,vendor:rr,vendorFlavors:ir,cookiesEnabled:uo,colorGamut:co,invertedColors:Fo,forcedColors:Ao,monochrome:Wo,contrast:ao,reducedMotion:Zo,reducedTransparency:jo,hdr:Co,math:To,pdfViewerEnabled:Do,architecture:Zn,applePay:Gn,privateClickMeasurement:Ho,audioBaseLatency:Un,dateTimeLocale:fo,webGlBasics:dr,webGlExtensions:fr};function yr(e){return Wn(gr,e,[])}function N(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,d=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,y=0,p=0;p+=i+u,y+=p>>>16,p&=65535,y+=r+f,c+=y>>>16,y&=65535,c+=o+d,s+=c>>>16,c&=65535,s+=n+a,s&=65535,e[0]=s<<16|c,e[1]=y<<16|p}function C(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,d=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,y=0,p=0;p+=i*u,y+=p>>>16,p&=65535,y+=r*u,c+=y>>>16,y&=65535,y+=i*f,c+=y>>>16,y&=65535,c+=o*u,s+=c>>>16,c&=65535,c+=r*f,s+=c>>>16,c&=65535,c+=i*d,s+=c>>>16,c&=65535,s+=n*u+o*f+r*d+i*a,s&=65535,e[0]=s<<16|c,e[1]=y<<16|p}function z(e,t){let n=e[0];t%=64,t===32?(e[0]=e[1],e[1]=n):t<32?(e[0]=n<<t|e[1]>>>32-t,e[1]=e[1]<<t|n>>>32-t):(t-=32,e[0]=e[1]<<t|n>>>32-t,e[1]=n<<t|e[1]>>>32-t)}function P(e,t){t%=64,t!==0&&(t<32?(e[0]=e[1]>>>32-t,e[1]=e[1]<<t):(e[0]=e[1]<<t-32,e[1]=0))}function S(e,t){e[0]^=t[0],e[1]^=t[1]}var br=[4283543511,3981806797],_r=[3301882366,444984403];function lt(e){let t=[0,e[0]>>>1];S(e,t),C(e,br),t[1]=e[0]>>>1,S(e,t),C(e,_r),t[1]=e[0]>>>1,S(e,t)}var de=[2277735313,289559509],fe=[1291169091,658871167],dt=[0,5],wr=[0,1390208809],kr=[0,944331445];function Sr(e,t){let n=pn(e);t=t||0;let o=[0,n.length],r=o[1]%16,i=o[1]-r,a=[0,t],d=[0,t],f=[0,0],u=[0,0],s;for(s=0;s<i;s=s+16)f[0]=n[s+4]|n[s+5]<<8|n[s+6]<<16|n[s+7]<<24,f[1]=n[s]|n[s+1]<<8|n[s+2]<<16|n[s+3]<<24,u[0]=n[s+12]|n[s+13]<<8|n[s+14]<<16|n[s+15]<<24,u[1]=n[s+8]|n[s+9]<<8|n[s+10]<<16|n[s+11]<<24,C(f,de),z(f,31),C(f,fe),S(a,f),z(a,27),N(a,d),C(a,dt),N(a,wr),C(u,fe),z(u,33),C(u,de),S(d,u),z(d,31),N(d,a),C(d,dt),N(d,kr);f[0]=0,f[1]=0,u[0]=0,u[1]=0;let c=[0,0];switch(r){case 15:c[1]=n[s+14],P(c,48),S(u,c);case 14:c[1]=n[s+13],P(c,40),S(u,c);case 13:c[1]=n[s+12],P(c,32),S(u,c);case 12:c[1]=n[s+11],P(c,24),S(u,c);case 11:c[1]=n[s+10],P(c,16),S(u,c);case 10:c[1]=n[s+9],P(c,8),S(u,c);case 9:c[1]=n[s+8],S(u,c),C(u,fe),z(u,33),C(u,de),S(d,u);case 8:c[1]=n[s+7],P(c,56),S(f,c);case 7:c[1]=n[s+6],P(c,48),S(f,c);case 6:c[1]=n[s+5],P(c,40),S(f,c);case 5:c[1]=n[s+4],P(c,32),S(f,c);case 4:c[1]=n[s+3],P(c,24),S(f,c);case 3:c[1]=n[s+2],P(c,16),S(f,c);case 2:c[1]=n[s+1],P(c,8),S(f,c);case 1:c[1]=n[s],S(f,c),C(f,de),z(f,31),C(f,fe),S(a,f)}return S(a,o),S(d,o),N(a,d),N(d,a),lt(a),lt(d),N(a,d),N(d,a),`00000000${(a[0]>>>0).toString(16)}`.slice(-8)+`00000000${(a[1]>>>0).toString(16)}`.slice(-8)+`00000000${(d[0]>>>0).toString(16)}`.slice(-8)+`00000000${(d[1]>>>0).toString(16)}`.slice(-8)}function vr(e){let t="";for(let n of Object.keys(e).sort()){let o=e[n],r="error"in o?"error":JSON.stringify(o.value);t+=`${t?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return t}function xt(e){return JSON.stringify(e,(t,n)=>n instanceof Error?hn(n):n,2)}function Lt(e){return Sr(vr(e))}function xr(e){let t,n=Cn(e);return{get visitorId(){return t===void 0&&(t=Lt(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:ft}}function Lr(e=50){return Rn(e,e*2)}function Ar(e,t){let n=Date.now();return{async get(o){let r=Date.now(),i=await e(),a=xr(i);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
6
6
 
7
7
  \`\`\`
8
8
  version: ${a.version}
9
9
  userAgent: ${navigator.userAgent}
10
10
  timeBetweenLoadAndGet: ${r-n}
11
11
  visitorId: ${a.visitorId}
12
- components: ${yt(i)}
13
- \`\`\``),a}}}function br(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${it}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function wr(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&br(),await gr(t);let r=ar({cache:{},debug:n});return yr(r,n)}var wt={load:wr,hashComponents:bt,componentsToDebugString:yt};var _r=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],kr=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],Le=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],Ae=["lp","narrative"],_t=[..._r,...kr,...Le,...Ae],vr=new Set(_t);function Pe(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();vr.has(i)&&r!==""&&!(i in t)&&(t[i]=r)}return t}var Sr=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,xr=["email"],Lr=["phone","phonenumber","phone_number","tel","telefone"];function Q(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Sr.test(t)&&t.length<=254?t:null}function q(e,t){if(typeof e!="string")return null;let n=e.trim().replace(/\s*(ext\.?|x|#)\s*\d+$/i,""),o=n.replace(/\D/g,"");n.startsWith("00")&&(o=o.slice(2));let r=n.startsWith("+")||n.startsWith("00");if(!r&&t){let i=String(t).replace(/\D/g,""),a=["39","378","379"].includes(i);i&&!o.startsWith(i)&&(o=i+(a?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}function kt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();!t.email&&xr.includes(i)&&(t.email=Q(r)||void 0),!t.phone&&Lr.includes(i)&&(t.phone=q(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var Ce=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],Ar=/\/widget\/(form|survey|booking)\//,At=["buy.stripe.com","checkout.stripe.com"],Pt=e=>new Set([...At,...e||[]].map(t=>String(t).toLowerCase())),R=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},Pr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",me="data-f10x-field";function vt(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(Pr);for(let[r,i]of Object.entries(t)){let a=e.querySelector(`[name="${CSS.escape(r)}"]`);if(a)a.tagName==="INPUT"&&(a.type==="hidden"||a.value===""||a.hasAttribute(me))&&(a.value=i);else if(o){let l=document.createElement("input");l.type="hidden",l.name=r,l.value=i,l.setAttribute(me,""),e.appendChild(l)}}}var St=new WeakMap;function Ir(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=St.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,St.set(t,n),t.setAttribute(me,""),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))))}}function Ie(e,t,n){let o;try{o=new URL(e,n)}catch{return null}if(o.protocol!=="http:"&&o.protocol!=="https:")return null;let r=o.href;for(let[i,a]of Object.entries(t))Ce.includes(i)?o.searchParams.set(i,a):o.searchParams.has(i)||o.searchParams.set(i,a);return At.includes(o.hostname)&&t.ph_distinct_id&&!o.searchParams.has("client_reference_id")&&o.searchParams.set("client_reference_id",t.ph_distinct_id),o.href===r?null:o.href}var xt=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function Ee({values:e,checkoutHosts:t,addFields:n,onError:o,onCheckout:r}){let i=Pt(t),a=new WeakSet,l=!1,f=0,u=m=>{for(let p of document.querySelectorAll("a[href]")){if(!i.has(xt(p.getAttribute("href"))))continue;let y=Ie(p.getAttribute("href"),m,location.href);y&&p.setAttribute("href",y)}},s=m=>{for(let p of document.querySelectorAll("iframe[src]")){let y=p.getAttribute("src");if(!Ar.test(y))continue;let L=Ie(y,m,location.href);L&&p.setAttribute("src",L)}},c=(m={})=>{m.iframes&&(l=!0);let p=e();for(let y of document.forms)vt(y,p,n);Ir(p),u(p),l&&s(p)},h=()=>{f||(f=setTimeout(R(()=>{f=0,c()},o),50))};return new MutationObserver(h).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",R(m=>vt(m.target,e(),n),o),!0),document.addEventListener("click",R(m=>{let p=m.target instanceof Element?m.target.closest("a[href]"):null,y=p?xt(p.getAttribute("href")):"";if(!p||!i.has(y))return;let L=Ie(p.getAttribute("href"),e(),location.href);L&&p.setAttribute("href",L),r&&!a.has(p)&&r(y)&&a.add(p)},o),!0),R(c,o)(),{refresh:c}}var D="_f10x",Cr=120*1e3,Er=200;function It({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Ct(e,t){let n;try{n=new URL(e).searchParams.get(D)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),i=n.lastIndexOf(".");if(o<1||r!==o+2||i<=r+1)return null;let a=n.slice(0,o),l=n.slice(o+1,r),f=n.slice(r+1,i),u=n.slice(i+1);if(!/^[0-9a-z]{1,12}$/.test(a)||l!=="i"&&l!=="a"||f.length>Er||/\s/.test(f))return null;let s=t-parseInt(a,36);return Math.abs(s)<Cr?{distinctID:f,sessionID:u||null,identified:l==="i"}:null}var Fr=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/;function Et(e){let t=Array.isArray(e)?e:typeof e=="string"?e.split(/[\s,]+/):[],n=[];for(let o of t){let r=String(o).trim();if(!r)continue;let i=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");Fr.test(i)?n.push(i):console.warn(`[@funnel10x/tracking] linkedDomains: "${r}" is not a host or a registrable domain, and it is ignored (a domain covers its subdomains: write marca.pt, not *.marca.pt).`)}return n}function Ft({hosts:e,checkoutHosts:t,value:n,onError:o}){let r=Pt(t),i=(u,s)=>s===u||s.endsWith(`.${u}`),a=u=>{if(!u||u===location.hostname||r.has(u))return!1;let s=location.hostname.toLowerCase();return e.some(c=>i(c,u))&&!e.some(c=>i(c,u)&&i(c,s))},l=u=>{try{let s=new URL(u,location.href);return(s.protocol==="http:"||s.protocol==="https:")&&a(s.hostname.toLowerCase())?s:null}catch{return null}},f=R(u=>{if(u.type==="auxclick"&&u.button!==1)return;let s=u.target instanceof Element?u.target.closest("a[href]"):null,c=s&&l(s.getAttribute("href")),h=c&&n();h&&(c.searchParams.set(D,h),s.setAttribute("href",c.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,f,!0);document.addEventListener("contextmenu",R(u=>{let s=u.target instanceof Element?u.target.closest("a[href]"):null;if(!s)return;let c;try{c=new URL(s.getAttribute("href"),location.href)}catch{return}c.searchParams.has(D)&&(c.searchParams.delete(D),s.setAttribute("href",c.href))},o),!0),document.addEventListener("submit",R(u=>{let s=u.target;if(!(s instanceof HTMLFormElement))return;let c=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,h=l((c||s).getAttribute(c?"formaction":"action")||""),m=h&&n();if(!m)return;let p=(c&&c.getAttribute("formmethod")||s.getAttribute("method")||"get").toLowerCase();if(p==="get"){let y=s.querySelector(`input[name="${D}"]`);y||(y=document.createElement("input"),y.type="hidden",y.name=D,y.setAttribute(me,""),s.appendChild(y)),y.value=m}else p==="post"&&(h.searchParams.set(D,m),(c||s).setAttribute(c?"formaction":"action",h.href))},o),!0)}var Rr=/e-?mail/i,Mr=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Rt=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),Mt=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Vt=e=>e.type==="email"||Rr.test(Mt(e)),Tt=e=>e.type==="tel"||e.type!=="email"&&Mr.test(Mt(e));function Vr(e){let t=e.closest(".iti")||e.closest('.form-builder--item, [class*="phone"]')||e.parentElement,n=t&&t.querySelector('.iti__selected-dial-code, [class*="dial-code"], [class*="dialCode"]'),o=n&&n.textContent;if(o&&/\+?\d{1,4}/.test(o))return o.match(/\d{1,4}/)[0];let r=t&&t.querySelector(".iti__selected-flag, .iti__selected-country"),i=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return i?i[1]:null}function Tr(e){if(!(e instanceof HTMLInputElement)||Rt.has(e.type))return{};if(Vt(e)){let t=Q(e.value);return t?{email:t}:{}}if(Tt(e)){let t=q(e.value,Vr(e));return t?{phone:t}:{}}return{}}function Lt(e){let t={};for(let n of e){let o=Tr(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function Wr(e){let t=e.parentElement;for(let n=0;t&&t!==document.body&&t!==document.documentElement&&n<12;n++,t=t.parentElement)if([...t.querySelectorAll("input")].some(r=>!Rt.has(r.type)&&(Vt(r)||Tt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Nr=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity());function Wt(e,t){document.addEventListener("submit",R(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=Lt(n.target.querySelectorAll("input"));(o.email||o.phone)&&e(o,"form")},t),!0),document.addEventListener("click",R(n=>{let o=n.target instanceof Element?n.target.closest("button[type=submit], input[type=submit]"):null;if(!o||o.closest("form")||o.getAttribute("type")!=="submit")return;let r=Wr(o);if(!r||Nr(r))return;let i=Lt(r.querySelectorAll("input"));(i.email||i.phone)&&e(i,"form")},t),!0)}var Te="2.4.0",Fe="f10x_consent",Dr=typeof N=="object"?N:[],Gr="1",Or=/^\d+\.\d+\.\d+$/,We="f10x_contact_id",Hr="contact_id",Zr=/^[A-Za-z0-9_-]{6,128}$/,Nt=1e3,Dt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",jr="[@funnel10x/tracking] another PostHog init reached this page after the snippet (a PostHog tag or snippet): it is ignored, and every event carries tracking_conflict. Remove it: this snippet is PostHog.",$r=["snippet","page"],Yr=e=>`[@funnel10x/tracking] ${e===void 0?"this site does not declare who sends checkout":`checkout is ${JSON.stringify(e)}, which is neither 'snippet' nor 'page'`}: the snippet does not send checkout. Set checkout: 'snippet' (the checkout links are <a>) or checkout: 'page' (the page calls f10xTracking.capture('checkout')) in the init.`,Gt={Purchase:"purchase",purchase_completed:"purchase",order_completed:"purchase",InitiateCheckout:"checkout",initiate_checkout:"checkout",checkout_started:"checkout",begin_checkout:"checkout",CompleteRegistration:"registration_completed",registration:"registration_completed",sign_up:"registration_completed",webinar_registration:"registration_completed",appointment_booked:"appointment_scheduled",booking:"appointment_scheduled",Schedule:"appointment_scheduled",call_booked:"appointment_scheduled",Lead:"contact_captured"},zr=["purchase","registration_completed","appointment_scheduled"];function Xr(e,t,n){let o=[],r=t&&typeof t=="object"?t:{},i=Object.prototype.hasOwnProperty.call(Gt,e)?Gt[e]:null;if(i){let a=i==="contact_captured"?", which the page sends through f10xTracking.contact({ email, phone })":zr.includes(i)&&i!=="purchase"?", which only the server sends":"";o.push(["synonym",`"${e}" is not in the funnel event contract and the warehouse ignores it: the contract name is "${i}"${a}.`])}if(e==="purchase"){o.push(["server","purchase belongs to the server (the admin sends it from Stripe): this one from the page still counts until the server sends it in this project, and from that day it counts twice, so remove it then."]);let a=[];typeof r.session_id=="string"&&r.session_id.startsWith("cs_")||a.push("session_id (the cs_\u2026 of the Stripe checkout session)"),typeof r.currency=="string"&&r.currency||a.push("currency");let l=typeof r.amount_total=="string"&&r.amount_total.trim()?Number(r.amount_total):r.amount_total;typeof l=="number"&&Number.isFinite(l)||a.push("amount_total");for(let f of a)o.push([`missing:${f}`,`purchase without ${f}: it is sent, and the column stays empty in the warehouse.`])}return(e==="registration_completed"||e==="appointment_scheduled")&&o.push(["server",`${e} is sent only by the server, from the system that records it (the CRM): the warehouse ignores one sent from a page, even when an app gives a callback.`]),e==="contact_captured"&&o.push(["contact","contact_captured by hand: call f10xTracking.contact({ email, phone }) instead, which normalizes, sends each value once per page and waits for the consent."]),e==="checkout"&&n==="snippet"&&o.push(["twice","checkout from the page on a site that declares checkout: 'snippet': the snippet already sends it on the click of a checkout link, so this one counts it twice."]),o}var Ne=e=>e&&e.message||String(e),Br=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${Ne(t)}): PostHog still measures without it, and every event carries tracking_degraded.`,Jr=()=>{try{if(typeof performance!="undefined"&&typeof performance.now=="function")return Date.now()-performance.now()}catch{}return Date.now()};function Ur(e,t){let n=t.persistence_name||t.cookie_name;return n?`ph_${n}`:`ph_${String(e||"").trim().replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")}_posthog`}function Kr(e){let t=o=>!!(o&&typeof o=="object"&&o.distinct_id),n=o=>{try{return o?JSON.parse(o):null}catch{return null}};try{for(let o of document.cookie.split(";")){let r=o.indexOf("=");if(r>0&&o.slice(0,r).trim()===e&&t(n(decodeURIComponent(o.slice(r+1).trim()))))return!0}}catch{}return t(n(pe("local",e)))||t(n(pe("session",e)))}var Qr={defaults:"2026-08-30",person_profiles:"identified_only",strict_script_versioning:!0},De=e=>{try{return e==="session"?window.sessionStorage:window.localStorage}catch{return null}},pe=(e,t)=>{var n,o;try{return(o=(n=De(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},Re=(e,t,n)=>{var o;try{(o=De(e))==null||o.setItem(t,n)}catch{}};function Ot(e){let t={};try{let n=new URL(e).searchParams;for(let o of Ce){let r=n.get(o);r&&Zr.test(r)&&(t[o]=r)}}catch{}return t}var Me=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Ht(){for(let n of["local","session"]){let o=De(n);if(o)try{for(let r of Object.keys(o))(r.startsWith("ph_")||r===We)&&o.removeItem(r)}catch{}}let e=location.hostname.split("."),t=e.map((n,o)=>e.slice(o).join(".")).filter(n=>n.includes("."));for(let n of document.cookie.split(";")){let o=n.split("=")[0].trim();if(o.startsWith("ph_")){document.cookie=`${o}=; Max-Age=0; path=/`;for(let r of t)document.cookie=`${o}=; Max-Age=0; path=/; domain=.${r}`}}}function qr(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Zt=e=>e==null||e==="posthog";function ei(e){let t=[],n=o=>{for(let r of Dr)o[r]=(...i)=>{o.push([r,...i])}};return n(t),t._i=[],t.__SV=1,t.__f10x=!0,t.people=[],t.toString=o=>`posthog${o?"":" (stub)"}`,t.people.toString=()=>`${t.toString(1)}.people (stub)`,t.init=(o,r,i)=>{Zt(i)?e():t[i]||(t[i]=[],n(t[i])),t._i.push([o,r,i])},t}function ti(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=Gr;return t&&(Or.test(t)?o=t:console.warn(`[@funnel10x/tracking] sdkVersion "${t}" is not an exact version (1.2.3): the 1.x channel is loaded.`)),`${n}/static/${o}/array.js`}function gi(e={}){if(window.__f10xTracking)return ee(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=Ve("preview"),ee(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let d=Me({...Pe(o),...Ot(o)}),g=!1,_=v=>{g||console.warn(`[@funnel10x/tracking] the dom extra failed (${Ne(v)}): the form in this frame may miss the fields from its URL.`),g=!0};try{Ee({values:()=>d,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:_})}catch(v){_(v)}return t=Ve("frame",()=>d),ee(t)}if(qr())return console.warn(Dt),t=Ve("conflict"),ee(t);let i=Pe(o),a=Ot(o)[Hr]||null,l=[],f="idle",u=null,s=!1,c=null,h=null,m=null,p=!1,y=null,L=!1,G=!1,te=ti(e.apiHost,e.sdkVersion),O=[],T=(d,g)=>{O.includes(d)||(O.push(d),console.warn(Br(d,g)))},ne=new Set,Y=(d,g)=>{ne.has(d)||(ne.add(d),console.warn(`[@funnel10x/tracking] ${g}`))},z=$r.includes(e.checkout)?e.checkout:null;z||console.warn(Yr(e.checkout));let b=(d,g,_)=>{try{return g()}catch(v){return T(d,v),_}},Ge=()=>{p||console.warn(jr),p=!0},M=ei(Ge),jt=window.posthog;window.posthog=M;let Oe=()=>{let d={...i};return s&&(d.ph_anon_id=u.get_property("$device_id"),d.ph_distinct_id=u.get_distinct_id(),d.ph_session_id=u.get_session_id(),y&&(d.contact_id=y)),Me(d)},$t=d=>s?(u.capture("checkout",{checkout_host:d},{send_instantly:!0}),!0):!1,He=b("dom",()=>Ee({values:Oe,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:d=>T("dom",d),onCheckout:z==="snippet"?$t:void 0}),null),oe=d=>{He&&b("dom",()=>He.refresh(d))},Ze=new Set,he=[],re=(d,g)=>{if(!s){n&&ce()==="denied"||he.push([d,g]);return}let _=Object.fromEntries(Object.entries(d).filter(([v,E])=>E&&!Ze.has(`${v}:${E}`)));if(Object.keys(_).length){for(let[v,E]of Object.entries(_))Ze.add(`${v}:${E}`);u.capture("contact_captured",{..._,contact_source:g})}},Yt=b("contact",()=>kt(o),{});b("contact",()=>Wt((d,g)=>re(d,g),d=>T("contact",d)));let ge=b("linker",()=>Et(e.linkedDomains),[]),W=ge.length?b("linker",()=>Ct(o,Jr()),null):null,je=!1,ie=null,se=null,zt=()=>s?It({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;ge.length&&b("linker",()=>Ft({hosts:ge,checkoutHosts:e.checkoutHosts,value:zt,onError:d=>T("linker",d)}));let Xt=d=>{!W||je||(je=!0,b("linker",()=>{let g=d.bootstrap&&typeof d.bootstrap=="object"?d.bootstrap:{};if(g.distinctID||d.identity_distinct_id||Kr(Ur(e.key,d))){se=W.distinctID;return}ie={...g,distinctID:W.distinctID,isIdentifiedID:W.identified,...W.sessionID&&!g.sessionID?{sessionID:W.sessionID}:{}}}))},Bt=Me({tracking_version:Te,page_version:n?e.pageVersion||1:void 0,page_revision:n&&/^[a-f0-9]{64}$/.test(e.pageRevision||"")?e.pageRevision:void 0,ab_test:n&&e.test||void 0,ab_eligibility:n&&["none","randomized","direct","cross_exposure"].includes(e.abEligibility)?e.abEligibility:void 0,ab_assigned_version:n&&Number.isSafeInteger(e.abAssignedVersion)&&e.abAssignedVersion>0?e.abAssignedVersion:void 0}),Jt=d=>(!d||d.event==="$snapshot"||(d.properties={...d.properties,...Bt,...c?{fingerprint:c}:{},fingerprint_ms:h,...p?{tracking_conflict:!0}:{},...O.length?{tracking_degraded:[...O]}:{},...se?{linked_distinct_id:se}:{}}),d),ce=()=>{let d=pe("local",Fe);return d==="granted"||d==="denied"?d:null},X=!n||e.consent===!1||ce()==="granted",ye=n?"direct":"tag",Ut=()=>{if(m)return m;let d=Date.now(),g=(async()=>{let v=await(await wt.load({monitoring:!1})).get();c=(v==null?void 0:v.visitorId)||null,h=Date.now()-d})().catch(_=>{h===null&&(h=Date.now()-d),T("fingerprint",_)});return m=Promise.race([g,new Promise(_=>setTimeout(_,Nt))]).then(()=>{h===null&&(h=Nt)}),m},Kt=()=>{if(L)return;L=!0;let d=document.createElement("link");d.rel="preload",d.as="script",d.crossOrigin="anonymous",d.href=te,document.head.appendChild(d)},$e=()=>{let d=e.posthog||{};return Xt(d),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...Qr,custom_campaign_params:[...Le,"utm_id","utm_placement",...Ae],...d,...ie?{bootstrap:ie}:{},before_send:Jt,loaded:qt}},Qt=()=>{let d=window.posthog;if(d===M){if(M._i.unshift([e.key,$e()]),f="injected",G)return;G=!0;let g=document.createElement("script");g.async=!0,g.crossOrigin="anonymous",g.src=te,document.head.appendChild(g);return}if(G&&d&&!d.__loaded&&typeof d.init=="function"){f="injected",d.init(e.key,$e()),u&&typeof u._execute_array=="function"&&u._execute_array(M);return}console.warn(Dt),ye="conflict",f="idle"},Ye=()=>{f!=="idle"||ye==="conflict"||(f="waiting",Promise.resolve().then(async()=>{if(!X){f="idle";return}if(Kt(),await b("fingerprint",Ut,null),!X){f="idle";return}Qt()}).catch(d=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${Ne(d)}): nothing is tracked by this snippet on this page.`),!G&&(f="idle",window.posthog===M&&(window.posthog=jt))}))};function qt(d){u=d,f="loaded";let g=d.init;d.init=function(_,v,E){return Zt(E)&&Ge(),g.apply(this,arguments)},d.has_opted_out_capturing()&&d.opt_in_capturing({captureEventName:!1}),y=a||pe("session",We),a&&(Re("session",We,a),d.get_distinct_id()!==a&&d.identify(a)),s=!0,oe({iframes:!0}),b("contact",()=>{re(Yt,"url");for(let[_,v]of he.splice(0))re(_,v)});for(let _ of l.splice(0))_(!0)}return X?Ye():(ce()==="denied"&&Ht(),oe({iframes:!0})),t={version:Te,get mode(){return ye},consent:()=>n&&e.consent?ce():null,grant(){Re("local",Fe,"granted"),X=!0,u?s||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),s=!0,u.capture("$pageview"),oe({iframes:!0})):Ye()},deny(){var d;if(Re("local",Fe,"denied"),X=!1,he=[],W=null,ie=null,se=null,!u){M._i.length=0,f==="injected"&&(f="idle");return}u.opt_out_capturing(),(d=u.stopSessionRecording)==null||d.call(u),u.set_config({disable_persistence:!0}),Ht(),s=!1,y=null,oe()},onReady(d){s?d(!0):l.push(d)},fields:Oe,capture(d,g){try{for(let[_,v]of Xr(d,g,z))Y(`${d}:${_}`,v)}catch{}s&&u.capture(d,g,d==="checkout"?{send_instantly:!0}:void 0)},contact(d){b("contact",()=>{let g=d&&typeof d=="object"?d:{},_={};if(g.email!=null&&g.email!==""){let v=Q(g.email);v?_.email=v:Y(`contact:email:${g.email}`,`contact(): ${JSON.stringify(g.email)} is not an email, and it is not sent.`)}if(g.phone!=null&&g.phone!==""){let E=typeof g.phone=="string"&&/^\s*(\+|00)/.test(g.phone)?q(g.phone):null;E?_.phone=E:Y(`contact:phone:${g.phone}`,`contact(): ${JSON.stringify(g.phone)} is not a phone in international format (+351\u2026), and it is not sent.`)}(_.email||_.phone)&&re(_,"api")})},get posthog(){return u||(window.posthog===M?M:null)}},ee(t)}function ee(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function Ve(e,t=()=>({})){return{version:Te,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},contact(){},posthog:null}}export{_t as ALLOWED_PARAMS,Fe as CONSENT_KEY,Te as VERSION,gi as init};
12
+ components: ${xt(i)}
13
+ \`\`\``),a}}}function Ir(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${ft}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function Pr(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&Ir(),await Lr(t);let r=yr({cache:{},debug:n});return Ar(r,n)}var At={load:Pr,hashComponents:Lt,componentsToDebugString:xt};var Cr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],Er=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],Fe=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],Me=["lp","narrative"],It=[...Cr,...Er,...Fe,...Me],Fr=new Set(It);function Re(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();Fr.has(i)&&r!==""&&!(i in t)&&(t[i]=r)}return t}var Mr=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,Rr=["email"],Tr=["phone","phonenumber","phone_number","tel","telefone"];function B(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Mr.test(t)&&t.length<=254?t:null}function ne(e,t){if(typeof e!="string")return null;let n=e.trim().replace(/\s*(ext\.?|x|#)\s*\d+$/i,""),o=n.replace(/\D/g,"");n.startsWith("00")&&(o=o.slice(2));let r=n.startsWith("+")||n.startsWith("00");if(!r&&t){let i=String(t).replace(/\D/g,""),a=["39","378","379"].includes(i);i&&!o.startsWith(i)&&(o=i+(a?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}var Vr=/^[a-z][a-z0-9_]{0,31}$/;function ge(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Vr.test(t)?t:null}function Pt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();!t.email&&Rr.includes(i)&&(t.email=B(r)||void 0),!t.phone&&Tr.includes(i)&&(t.phone=ne(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var Ve=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],Wr=/\/widget\/(form|survey|booking)\//,Tt=["buy.stripe.com","checkout.stripe.com"],Vt=e=>new Set([...Tt,...e||[]].map(t=>String(t).toLowerCase())),V=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},Nr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",ye="data-f10x-field";function Ct(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(Nr);for(let[r,i]of Object.entries(t)){let a=e.querySelector(`[name="${CSS.escape(r)}"]`);if(a)a.tagName==="INPUT"&&(a.type==="hidden"||a.value===""||a.hasAttribute(ye))&&(a.value=i);else if(o){let d=document.createElement("input");d.type="hidden",d.name=r,d.value=i,d.setAttribute(ye,""),e.appendChild(d)}}}var Et=new WeakMap;function Or(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=Et.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,Et.set(t,n),t.setAttribute(ye,""),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))))}}function Te(e,t,n){let o;try{o=new URL(e,n)}catch{return null}if(o.protocol!=="http:"&&o.protocol!=="https:")return null;let r=o.href;for(let[i,a]of Object.entries(t))Ve.includes(i)?o.searchParams.set(i,a):o.searchParams.has(i)||o.searchParams.set(i,a);return Tt.includes(o.hostname)&&t.ph_distinct_id&&!o.searchParams.has("client_reference_id")&&o.searchParams.set("client_reference_id",t.ph_distinct_id),o.href===r?null:o.href}var Ft=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function We({values:e,checkoutHosts:t,addFields:n,onError:o,onCheckout:r}){let i=Vt(t),a=new WeakSet,d=!1,f=0,u=p=>{for(let h of document.querySelectorAll("a[href]")){if(!i.has(Ft(h.getAttribute("href"))))continue;let b=Te(h.getAttribute("href"),p,location.href);b&&h.setAttribute("href",b)}},s=p=>{for(let h of document.querySelectorAll("iframe[src]")){let b=h.getAttribute("src");if(!Wr.test(b))continue;let A=Te(b,p,location.href);A&&h.setAttribute("src",A)}},c=(p={})=>{p.iframes&&(d=!0);let h=e();for(let b of document.forms)Ct(b,h,n);Or(h),u(h),d&&s(h)},y=()=>{f||(f=setTimeout(V(()=>{f=0,c()},o),50))};return new MutationObserver(y).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",V(p=>Ct(p.target,e(),n),o),!0),document.addEventListener("click",V(p=>{let h=p.target instanceof Element?p.target.closest("a[href]"):null,b=h?Ft(h.getAttribute("href")):"";if(!h||!i.has(b))return;let A=Te(h.getAttribute("href"),e(),location.href);A&&h.setAttribute("href",A),r&&!a.has(h)&&r(b)&&a.add(h)},o),!0),V(c,o)(),{refresh:c}}var $="_f10x",Dr=120*1e3,Gr=200;function Wt({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Nt(e,t){let n;try{n=new URL(e).searchParams.get($)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),i=n.lastIndexOf(".");if(o<1||r!==o+2||i<=r+1)return null;let a=n.slice(0,o),d=n.slice(o+1,r),f=n.slice(r+1,i),u=n.slice(i+1);if(!/^[0-9a-z]{1,12}$/.test(a)||d!=="i"&&d!=="a"||f.length>Gr||/\s/.test(f))return null;let s=t-parseInt(a,36);return Math.abs(s)<Dr?{distinctID:f,sessionID:u||null,identified:d==="i"}:null}var $r=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/;function Ot(e){let t=Array.isArray(e)?e:typeof e=="string"?e.split(/[\s,]+/):[],n=[];for(let o of t){let r=String(o).trim();if(!r)continue;let i=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");$r.test(i)?n.push(i):console.warn(`[@funnel10x/tracking] linkedDomains: "${r}" is not a host or a registrable domain, and it is ignored (a domain covers its subdomains: write marca.pt, not *.marca.pt).`)}return n}function Dt({hosts:e,checkoutHosts:t,value:n,onError:o}){let r=Vt(t),i=(u,s)=>s===u||s.endsWith(`.${u}`),a=u=>{if(!u||u===location.hostname||r.has(u))return!1;let s=location.hostname.toLowerCase();return e.some(c=>i(c,u))&&!e.some(c=>i(c,u)&&i(c,s))},d=u=>{try{let s=new URL(u,location.href);return(s.protocol==="http:"||s.protocol==="https:")&&a(s.hostname.toLowerCase())?s:null}catch{return null}},f=V(u=>{if(u.type==="auxclick"&&u.button!==1)return;let s=u.target instanceof Element?u.target.closest("a[href]"):null,c=s&&d(s.getAttribute("href")),y=c&&n();y&&(c.searchParams.set($,y),s.setAttribute("href",c.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,f,!0);document.addEventListener("contextmenu",V(u=>{let s=u.target instanceof Element?u.target.closest("a[href]"):null;if(!s)return;let c;try{c=new URL(s.getAttribute("href"),location.href)}catch{return}c.searchParams.has($)&&(c.searchParams.delete($),s.setAttribute("href",c.href))},o),!0),document.addEventListener("submit",V(u=>{let s=u.target;if(!(s instanceof HTMLFormElement))return;let c=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,y=d((c||s).getAttribute(c?"formaction":"action")||""),p=y&&n();if(!p)return;let h=(c&&c.getAttribute("formmethod")||s.getAttribute("method")||"get").toLowerCase();if(h==="get"){let b=s.querySelector(`input[name="${$}"]`);b||(b=document.createElement("input"),b.type="hidden",b.name=$,b.setAttribute(ye,""),s.appendChild(b)),b.value=p}else h==="post"&&(y.searchParams.set($,p),(c||s).setAttribute(c?"formaction":"action",y.href))},o),!0)}var Hr=/e-?mail/i,Zr=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Gt=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),$t=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Ht=e=>e.type==="email"||Hr.test($t(e)),Zt=e=>e.type==="tel"||e.type!=="email"&&Zr.test($t(e));function jr(e){let t=e.closest(".iti")||e.closest('.form-builder--item, [class*="phone"]')||e.parentElement,n=t&&t.querySelector('.iti__selected-dial-code, [class*="dial-code"], [class*="dialCode"]'),o=n&&n.textContent;if(o&&/\+?\d{1,4}/.test(o))return o.match(/\d{1,4}/)[0];let r=t&&t.querySelector(".iti__selected-flag, .iti__selected-country"),i=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return i?i[1]:null}function Yr(e){if(!(e instanceof HTMLInputElement)||Gt.has(e.type))return{};if(Ht(e)){let t=B(e.value);return t?{email:t}:{}}if(Zt(e)){let t=ne(e.value,jr(e));return t?{phone:t}:{}}return{}}function Mt(e){let t={};for(let n of e){let o=Yr(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function zr(e){let t=e.parentElement;for(let n=0;t&&t!==document.body&&t!==document.documentElement&&n<12;n++,t=t.parentElement)if([...t.querySelectorAll("input")].some(r=>!Gt.has(r.type)&&(Ht(r)||Zt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Xr=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity()),Br="acquisition_type";function Rt(e){let t=e.closest("[data-acquisition-type]"),n=e.querySelector(`[name="${Br}"]`);return{attribute:t?t.getAttribute("data-acquisition-type"):null,field:n&&typeof n.value=="string"?n.value:null}}function jt(e,t){document.addEventListener("submit",V(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=Mt(n.target.querySelectorAll("input"));(o.email||o.phone)&&e(o,"form",Rt(n.target))},t),!0),document.addEventListener("click",V(n=>{let o=n.target instanceof Element?n.target.closest("button[type=submit], input[type=submit]"):null;if(!o||o.closest("form")||o.getAttribute("type")!=="submit")return;let r=zr(o);if(!r||Xr(r))return;let i=Mt(r.querySelectorAll("input"));(i.email||i.phone)&&e(i,"form",Rt(r))},t),!0)}var Ge="2.6.0",Ne="f10x_consent",Ze="f10x_login",Jr=10,Ur=typeof G=="object"?G:[],qr="1",Kr=/^\d+\.\d+\.\d+$/,$e="f10x_contact_id",Qr="contact_id",ei=/^[A-Za-z0-9_-]{6,128}$/,Yt=1e3,zt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",ti="[@funnel10x/tracking] another PostHog init reached this page after the snippet (a PostHog tag or snippet): it is ignored, and every event carries tracking_conflict. Remove it: this snippet is PostHog.",ni=["snippet","page"],oi=e=>`[@funnel10x/tracking] ${e===void 0?"this site does not declare who sends checkout":`checkout is ${JSON.stringify(e)}, which is neither 'snippet' nor 'page'`}: the snippet does not send checkout. Set checkout: 'snippet' (the checkout links are <a>) or checkout: 'page' (the page calls f10xTracking.capture('checkout')) in the init.`,Xt={Purchase:"purchase",purchase_completed:"purchase",order_completed:"purchase",InitiateCheckout:"checkout",initiate_checkout:"checkout",checkout_started:"checkout",begin_checkout:"checkout",CompleteRegistration:"registration_completed",registration:"registration_completed",sign_up:"registration_completed",webinar_registration:"registration_completed",appointment_booked:"appointment_scheduled",booking:"appointment_scheduled",Schedule:"appointment_scheduled",call_booked:"appointment_scheduled",Lead:"contact_captured"},ri=["purchase","registration_completed","appointment_scheduled"];function ii(e,t,n){let o=[],r=t&&typeof t=="object"?t:{},i=Object.prototype.hasOwnProperty.call(Xt,e)?Xt[e]:null;if(i){let a=i==="contact_captured"?", which the page sends through f10xTracking.contact({ email, phone })":ri.includes(i)&&i!=="purchase"?", which only the server sends":"";o.push(["synonym",`"${e}" is not in the funnel event contract and the warehouse ignores it: the contract name is "${i}"${a}.`])}if(e==="purchase"){o.push(["server","purchase belongs to the server (the admin sends it from Stripe): this one from the page still counts until the server sends it in this project, and from that day it counts twice, so remove it then."]);let a=[];typeof r.session_id=="string"&&r.session_id.startsWith("cs_")||a.push("session_id (the cs_\u2026 of the Stripe checkout session)"),typeof r.currency=="string"&&r.currency||a.push("currency");let d=typeof r.amount_total=="string"&&r.amount_total.trim()?Number(r.amount_total):r.amount_total;typeof d=="number"&&Number.isFinite(d)||a.push("amount_total");for(let f of a)o.push([`missing:${f}`,`purchase without ${f}: it is sent, and the column stays empty in the warehouse.`])}return(e==="registration_completed"||e==="appointment_scheduled")&&o.push(["server",`${e} is sent only by the server, from the system that records it (the CRM): the warehouse ignores one sent from a page, even when an app gives a callback.`]),e==="contact_captured"&&o.push(["contact","contact_captured by hand: call f10xTracking.contact({ email, phone }) instead, which normalizes, sends each value once per page and waits for the consent."]),e==="checkout"&&n==="snippet"&&o.push(["twice","checkout from the page on a site that declares checkout: 'snippet': the snippet already sends it on the click of a checkout link, so this one counts it twice."]),o}var He=e=>e&&e.message||String(e),si=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${He(t)}): PostHog still measures without it, and every event carries tracking_degraded.`,ci=()=>{try{if(typeof performance!="undefined"&&typeof performance.now=="function")return Date.now()-performance.now()}catch{}return Date.now()};function ai(e,t){let n=t.persistence_name||t.cookie_name;return n?`ph_${n}`:`ph_${String(e||"").trim().replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")}_posthog`}function ui(e){let t=o=>!!(o&&typeof o=="object"&&o.distinct_id),n=o=>{try{return o?JSON.parse(o):null}catch{return null}};try{for(let o of document.cookie.split(";")){let r=o.indexOf("=");if(r>0&&o.slice(0,r).trim()===e&&t(n(decodeURIComponent(o.slice(r+1).trim()))))return!0}}catch{}return t(n(re("local",e)))||t(n(re("session",e)))}var li={defaults:"2026-08-30",person_profiles:"identified_only",strict_script_versioning:!0},je=e=>{try{return e==="session"?window.sessionStorage:window.localStorage}catch{return null}},re=(e,t)=>{var n,o;try{return(o=(n=je(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},be=(e,t,n)=>{var o;try{(o=je(e))==null||o.setItem(t,n)}catch{}};function Bt(e){let t={};try{let n=new URL(e).searchParams;for(let o of Ve){let r=n.get(o);r&&ei.test(r)&&(t[o]=r)}}catch{}return t}function di(e,t){let n=`${e}:${t}`,o=3735928559,r=1103547991;for(let i=0;i<n.length;i++){let a=n.charCodeAt(i);o=Math.imul(o^a,2654435761),r=Math.imul(r^a,1597334677)}return o=Math.imul(o^o>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(o^o>>>13,3266489909),(r>>>0).toString(16).padStart(8,"0")+(o>>>0).toString(16).padStart(8,"0")}function fi(){try{let e=new Uint8Array(12);return window.crypto.getRandomValues(e),Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}catch{return`${Math.random().toString(36).slice(2)}${Math.random().toString(36).slice(2)}`}}function mi(){try{let e=JSON.parse(re("local",Ze)||"null");return e&&typeof e.salt=="string"&&e.salt&&typeof e.id=="string"&&Array.isArray(e.emails)?e:null}catch{return null}}function pi(e){try{if(typeof e._isIdentified=="function")return!!e._isIdentified()}catch{}return e.get_property("$user_state")==="identified"}var Oe=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Jt(){for(let n of["local","session"]){let o=je(n);if(o)try{for(let r of Object.keys(o))(r.startsWith("ph_")||r===$e||r===Ze)&&o.removeItem(r)}catch{}}let e=location.hostname.split("."),t=e.map((n,o)=>e.slice(o).join(".")).filter(n=>n.includes("."));for(let n of document.cookie.split(";")){let o=n.split("=")[0].trim();if(o.startsWith("ph_")){document.cookie=`${o}=; Max-Age=0; path=/`;for(let r of t)document.cookie=`${o}=; Max-Age=0; path=/; domain=.${r}`}}}function hi(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Ut=e=>e==null||e==="posthog";function gi(e){let t=[],n=o=>{for(let r of Ur)o[r]=(...i)=>{o.push([r,...i])}};return n(t),t._i=[],t.__SV=1,t.__f10x=!0,t.people=[],t.toString=o=>`posthog${o?"":" (stub)"}`,t.people.toString=()=>`${t.toString(1)}.people (stub)`,t.init=(o,r,i)=>{Ut(i)?e():t[i]||(t[i]=[],n(t[i])),t._i.push([o,r,i])},t}function yi(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=qr;return t&&(Kr.test(t)?o=t:console.warn(`[@funnel10x/tracking] sdkVersion "${t}" is not an exact version (1.2.3): the 1.x channel is loaded.`)),`${n}/static/${o}/array.js`}function Mi(e={}){if(window.__f10xTracking)return oe(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=De("preview"),oe(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let l=Oe({...Re(o),...Bt(o)}),m=!1,g=w=>{m||console.warn(`[@funnel10x/tracking] the dom extra failed (${He(w)}): the form in this frame may miss the fields from its URL.`),m=!0};try{We({values:()=>l,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:g})}catch(w){g(w)}return t=De("frame",()=>l),oe(t)}if(hi())return console.warn(zt),t=De("conflict"),oe(t);let i=Re(o),a=Bt(o)[Qr]||null,d=[],f="idle",u=null,s=!1,c=null,y=null,p=null,h=!1,b=null,A=!1,H=!1,ie=yi(e.apiHost,e.sdkVersion),Z=[],O=(l,m)=>{Z.includes(l)||(Z.push(l),console.warn(si(l,m)))},se=new Set,M=(l,m)=>{se.has(l)||(se.add(l),console.warn(`[@funnel10x/tracking] ${m}`))},J=ni.includes(e.checkout)?e.checkout:null;J||console.warn(oi(e.checkout));let _=(l,m,g)=>{try{return m()}catch(w){return O(l,w),g}},Ye=()=>{h||console.warn(ti),h=!0},W=gi(Ye),qt=window.posthog;window.posthog=W;let ze=()=>{let l={...i};return s&&(l.ph_anon_id=u.get_property("$device_id"),l.ph_distinct_id=u.get_distinct_id(),l.ph_session_id=u.get_session_id(),b&&(l.contact_id=b)),Oe(l)},Kt=l=>s?(u.capture("checkout",{checkout_host:l},{send_instantly:!0}),!0):!1,Xe=_("dom",()=>We({values:ze,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:l=>O("dom",l),onCheckout:J==="snippet"?Kt:void 0}),null),ce=l=>{Xe&&_("dom",()=>Xe.refresh(l))},_e=new Set,we=[],ae=(l,m,g=null)=>{if(!s){n&&U()==="denied"||we.push([l,m,g]);return}let w=(I,R)=>g?`${I}:${R}:${g}`:`${I}:${R}`,v=Object.fromEntries(Object.entries(l).filter(([I,R])=>R&&!_e.has(w(I,R))));if(Object.keys(v).length){for(let[I,R]of Object.entries(v))_e.add(`${I}:${R}`),g&&_e.add(w(I,R));u.capture("contact_captured",{...v,contact_source:m,...g?{acquisition_type:g}:{}})}},Be=new Set,ke=[],Je=l=>{if(!s){n&&U()==="denied"||ke.push(l);return}if(Be.has(l))return;if(Be.add(l),pi(u)){M("login:identified","login(): PostHog already has this browser as identified (an identify ran here before), so the login is not sent: the admin links this browser through that identify.");return}let m=u.get_distinct_id(),g=mi(),w=g?g.salt:fi(),v=di(w,l),I=g&&g.id===m?g.emails.filter(R=>typeof R=="string"):[];I.includes(v)||(u.capture("contact_captured",{email:l,contact_source:"login"}),be("local",Ze,JSON.stringify({salt:w,id:m,emails:[...I,v].slice(-Jr)})))},Qt=l=>{let m=l&&l.attribute!=null?String(l.attribute):null,g=l&&l.field!=null&&String(l.field).trim()!==""?String(l.field):null,w=m!=null?m:g;if(w===null)return null;let v=ge(w);return v?m!==null&&g!==null&&ge(g)!==v&&M(`acquisition_type:${m}:${g}`,`data-acquisition-type is ${JSON.stringify(m)} and the acquisition_type field is ${JSON.stringify(g)}: contact_captured goes with the attribute.`):M(`acquisition_type:${w}`,`${m!==null?"data-acquisition-type":"the acquisition_type field"} is ${JSON.stringify(w)}, which is not an acquisition type key (client, people, supplier, partner, asset): contact_captured goes without it.`),v},en=_("contact",()=>Pt(o),{});_("contact",()=>jt((l,m,g)=>ae(l,m,Qt(g)),l=>O("contact",l)));let Se=_("linker",()=>Ot(e.linkedDomains),[]),D=Se.length?_("linker",()=>Nt(o,ci()),null):null,Ue=!1,ue=null,le=null,tn=()=>s?Wt({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;Se.length&&_("linker",()=>Dt({hosts:Se,checkoutHosts:e.checkoutHosts,value:tn,onError:l=>O("linker",l)}));let nn=l=>{!D||Ue||(Ue=!0,_("linker",()=>{let m=l.bootstrap&&typeof l.bootstrap=="object"?l.bootstrap:{};if(m.distinctID||l.identity_distinct_id||ui(ai(e.key,l))){le=D.distinctID;return}ue={...m,distinctID:D.distinctID,isIdentifiedID:D.identified,...D.sessionID&&!m.sessionID?{sessionID:D.sessionID}:{}}}))},on=Oe({tracking_version:Ge,page_version:n?e.pageVersion||1:void 0,page_revision:n&&/^[a-f0-9]{64}$/.test(e.pageRevision||"")?e.pageRevision:void 0,ab_test:n&&e.test||void 0,ab_eligibility:n&&["none","randomized","direct","cross_exposure"].includes(e.abEligibility)?e.abEligibility:void 0,ab_assigned_version:n&&Number.isSafeInteger(e.abAssignedVersion)&&e.abAssignedVersion>0?e.abAssignedVersion:void 0}),rn=l=>(!l||l.event==="$snapshot"||(l.properties={...l.properties,...on,...c?{fingerprint:c}:{},fingerprint_ms:y,...h?{tracking_conflict:!0}:{},...Z.length?{tracking_degraded:[...Z]}:{},...le?{linked_distinct_id:le}:{}}),l),U=()=>{let l=re("local",Ne);return l==="granted"||l==="denied"?l:null},q=!n||e.consent===!1||U()==="granted",ve=n?"direct":"tag",sn=()=>{if(p)return p;let l=Date.now(),m=(async()=>{let w=await(await At.load({monitoring:!1})).get();c=(w==null?void 0:w.visitorId)||null,y=Date.now()-l})().catch(g=>{y===null&&(y=Date.now()-l),O("fingerprint",g)});return p=Promise.race([m,new Promise(g=>setTimeout(g,Yt))]).then(()=>{y===null&&(y=Yt)}),p},cn=()=>{if(A)return;A=!0;let l=document.createElement("link");l.rel="preload",l.as="script",l.crossOrigin="anonymous",l.href=ie,document.head.appendChild(l)},qe=()=>{let l=e.posthog||{};return nn(l),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...li,custom_campaign_params:[...Fe,"utm_id","utm_placement",...Me],...l,...ue?{bootstrap:ue}:{},before_send:rn,loaded:un}},an=()=>{let l=window.posthog;if(l===W){if(W._i.unshift([e.key,qe()]),f="injected",H)return;H=!0;let m=document.createElement("script");m.async=!0,m.crossOrigin="anonymous",m.src=ie,document.head.appendChild(m);return}if(H&&l&&!l.__loaded&&typeof l.init=="function"){f="injected",l.init(e.key,qe()),u&&typeof u._execute_array=="function"&&u._execute_array(W);return}console.warn(zt),ve="conflict",f="idle"},Ke=()=>{f!=="idle"||ve==="conflict"||(f="waiting",Promise.resolve().then(async()=>{if(!q){f="idle";return}if(cn(),await _("fingerprint",sn,null),!q){f="idle";return}an()}).catch(l=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${He(l)}): nothing is tracked by this snippet on this page.`),!H&&(f="idle",window.posthog===W&&(window.posthog=qt))}))};function un(l){u=l,f="loaded";let m=l.init;l.init=function(g,w,v){return Ut(v)&&Ye(),m.apply(this,arguments)},l.has_opted_out_capturing()&&l.opt_in_capturing({captureEventName:!1}),b=a||re("session",$e),a&&(be("session",$e,a),l.get_distinct_id()!==a&&l.identify(a)),s=!0,ce({iframes:!0}),_("contact",()=>{ae(en,"url");for(let[g,w,v]of we.splice(0))ae(g,w,v);for(let g of ke.splice(0))Je(g)});for(let g of d.splice(0))g(!0)}return q?Ke():(U()==="denied"&&Jt(),ce({iframes:!0})),t={version:Ge,get mode(){return ve},consent:()=>n&&e.consent?U():null,grant(){be("local",Ne,"granted"),q=!0,u?s||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),s=!0,u.capture("$pageview"),ce({iframes:!0})):Ke()},deny(){var l;if(be("local",Ne,"denied"),q=!1,we=[],ke=[],D=null,ue=null,le=null,!u){W._i.length=0,f==="injected"&&(f="idle");return}u.opt_out_capturing(),(l=u.stopSessionRecording)==null||l.call(u),u.set_config({disable_persistence:!0}),Jt(),s=!1,b=null,ce()},onReady(l){s?l(!0):d.push(l)},fields:ze,capture(l,m){try{for(let[g,w]of ii(l,m,J))M(`${l}:${g}`,w)}catch{}s&&u.capture(l,m,l==="checkout"?{send_instantly:!0}:void 0)},contact(l){_("contact",()=>{let m=l&&typeof l=="object"?l:{},g={};if(m.email!=null&&m.email!==""){let v=B(m.email);v?g.email=v:M(`contact:email:${m.email}`,`contact(): ${JSON.stringify(m.email)} is not an email, and it is not sent.`)}if(m.phone!=null&&m.phone!==""){let I=typeof m.phone=="string"&&/^\s*(\+|00)/.test(m.phone)?ne(m.phone):null;I?g.phone=I:M(`contact:phone:${m.phone}`,`contact(): ${JSON.stringify(m.phone)} is not a phone in international format (+351\u2026), and it is not sent.`)}let w=null;m.acquisitionType!=null&&m.acquisitionType!==""&&(w=ge(m.acquisitionType),w||M(`contact:acquisition_type:${m.acquisitionType}`,`contact(): acquisitionType ${JSON.stringify(m.acquisitionType)} is not an acquisition type key (client, people, supplier, partner, asset): contact_captured goes without it.`)),(g.email||g.phone)&&ae(g,"api",w)})},login(l){_("contact",()=>{var w;let m=l&&typeof l=="object"?l:{},g=m.email!=null&&m.email!==""?B(m.email):null;if(!g){M(`login:email:${m.email}`,`login(): ${JSON.stringify((w=m.email)!=null?w:null)} is not an email, and nothing is sent.`);return}Je(g)})},get posthog(){return u||(window.posthog===W?W:null)}},oe(t)}function oe(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function De(e,t=()=>({})){return{version:Ge,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},contact(){},login(){},posthog:null}}export{It as ALLOWED_PARAMS,Ne as CONSENT_KEY,Ze as LOGIN_KEY,Ge as VERSION,Mi as init};
package/dist/tag.js CHANGED
@@ -1,13 +1,13 @@
1
- (()=>{var T=["addExceptionStep","alias","calculateEventProperties","canRenderSurvey","canRenderSurveyAsync","cancelPendingSurvey","capture","captureException","captureLog","captureTraceFeedback","captureTraceMetric","clearIdentity","clear_opt_in_out_capturing","createPersonProfile","debug","displaySurvey","getActiveMatchingSurveys","getAllFeatureFlags","getEarlyAccessFeatures","getExtension","getFeatureFlag","getFeatureFlagPayload","getFeatureFlagResult","getGroups","getPageViewId","getSessionProperty","getSurveys","get_distinct_id","get_explicit_consent_status","get_property","get_session_id","get_session_replay_url","group","has_opted_in_capturing","has_opted_out_capturing","identify","init","isFeatureEnabled","is_capturing","loadToolbar","on","onActiveMatchingSurveysChanged","onFeatureFlags","onSessionId","onSurveysLoaded","opt_in_capturing","opt_out_capturing","register","register_for_session","register_once","reloadFeatureFlags","renderSurvey","reset","resetGroupPropertiesForFlags","resetGroups","resetPersonPropertiesForFlags","sessionRecordingStarted","setGroupPropertiesForFlags","setIdentity","setInternalOrTestUser","setPersonProperties","setPersonPropertiesForFlags","set_config","shutdown","startExceptionAutocapture","startSessionRecording","stopExceptionAutocapture","stopSessionRecording","unregister","unregister_for_session","unsetPersonProperties","updateEarlyAccessFeatureEnrollment","updateFlags"];var st="5.3.0";function nn(e,t){for(let n=0,o=e.length;n<o;++n)if(e[n]===t)return!0;return!1}function on(e,t){return!nn(e,t)}function xe(e){return parseInt(e)}function I(e){return parseFloat(e)}function F(e,t){return typeof e=="number"&&isNaN(e)?t:e}function S(e){return e.reduce((t,n)=>t+(n?1:0),0)}function ct(e,t=1){if(Math.abs(t)>=1)return Math.round(e/t)*t;{let n=1/t;return Math.round(e*n)/n}}function rn(e){var t,n;let o=`Unexpected syntax '${e}'`,r=/^\s*([a-z-]*)(.*)$/i.exec(e),i=r[1]||void 0,a={},l=/([.:#][\w-]+|\[.+?\])/gi,f=(u,s)=>{a[u]=a[u]||[],a[u].push(s)};for(;;){let u=l.exec(r[2]);if(!u)break;let s=u[0];switch(s[0]){case".":f("class",s.slice(1));break;case"#":f("id",s.slice(1));break;case"[":{let c=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(s);if(c)f(c[1],(n=(t=c[4])!==null&&t!==void 0?t:c[5])!==null&&n!==void 0?n:"");else throw new Error(o);break}default:throw new Error(o)}}return[i,a]}function sn(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);if(o>127)return new TextEncoder().encode(e);t[n]=o}return t}function cn(e){var t;return{name:e.name,message:e.message,stack:(t=e.stack)===null||t===void 0?void 0:t.split(`
2
- `),...e}}function an(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function at(){let e=window,t=navigator;return S(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function un(){let e=window,t=navigator;return S(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!at()}function $(){let e=window,t=navigator;return S(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,(t.vendor||"").indexOf("Google")===0,"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function C(){let e=window,t=navigator;return S(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,t.vendor.indexOf("Apple")===0,"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function Le(){let e=window,{HTMLElement:t,Document:n}=e;return S(["safari"in e,!("ongestureend"in e),!("TouchEvent"in e),!("orientation"in e),t&&!("autocapitalize"in t.prototype),n&&"pointerLockElement"in n.prototype])>=4}function U(){let e=window;return an(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function K(){var e,t;let n=window;return S(["buildID"in navigator,"MozAppearance"in((t=(e=document.documentElement)===null||e===void 0?void 0:e.style)!==null&&t!==void 0?t:{}),"onmozfullscreenchange"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4}function ln(){let e=window,t=navigator,{CSS:n}=e;return S(["userActivation"in t,n.supports("color","light-dark(#000, #fff)"),n.supports("height","1lh"),"globalPrivacyControl"in t])>=3}function ut(){let{CSS:e}=window;return S([e.supports("selector(::details-content)"),e.supports("selector(::before::marker)"),e.supports("selector(::after::marker)"),!("locale"in CompositionEvent.prototype)])>=3}function dn(){let e=window;return S([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function fn(){let e=window,{URLPattern:t}=e;return S(["union"in Set.prototype,"Iterator"in e,t&&"hasRegExpGroups"in t.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}function mn(){let e=window,t=document,{CSS:n,Promise:o,AudioContext:r}=e;return S([o&&"try"in o,"caretPositionFromPoint"in t,r&&"onerror"in r.prototype,n.supports("ruby-align","space-around")])>=3}function pn(){let e=window;return S(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function Q(){let e=window,t=navigator,{CSS:n,HTMLButtonElement:o}=e;return S([!("getStorageUpdates"in t),o&&"popover"in o.prototype,"CSSCounterStyleRule"in e,n.supports("font-size-adjust: ex-height 0.5"),n.supports("text-transform: full-width")])>=4}function hn(){if(navigator.platform==="iPad")return!0;let e=screen,t=e.width/e.height;return S(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}function gn(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function yn(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function me(){var e,t;let n=$(),o=K(),r=window,i=navigator;return n?S([wn(),"HTMLInputElement"in r&&"capture"in HTMLInputElement.prototype,"NetworkInformation"in r&&"ontypechange"in((t=(e=r.NetworkInformation)===null||e===void 0?void 0:e.prototype)!==null&&t!==void 0?t:{}),!("sinkId"in new Audio)])>=2:o?S(["onorientationchange"in r,"orientation"in r,/android/i.test(i.appVersion)])>=2:!1}function bn(){let e=navigator,t=window,n=Audio.prototype,{visualViewport:o}=t;return S(["srLatency"in n,"srChannelCount"in n,"devicePosture"in e,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function wn(){var e,t;try{return!!(!((t=(e=window.Intl)===null||e===void 0?void 0:e.supportedValuesOf)===null||t===void 0)&&t.call(e,"collation").includes("dict"))}catch{return!1}}var _n="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function kn(e){let t=vn(e),n=Sn(t);return{score:t,comment:_n.replace(/\$/g,`${n}`)}}function vn(e){if(me())return .4;if(C())return Le()&&!(Q()&&U())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function Sn(e){return ct(.99+.01*e,1e-4)}function fe(e,t){return new Promise(n=>setTimeout(n,e,t))}function xn(){return new Promise(e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})}function Ln(e,t=1/0){let{requestIdleCallback:n}=window;return n?new Promise(o=>n.call(window,()=>o(),{timeout:t})):fe(Math.min(e,t))}function lt(e){return!!e&&typeof e.then=="function"}function Xe(e,t){try{let n=e();lt(n)?n.then(o=>t(!0,o),o=>t(!1,o)):t(!0,n)}catch(n){t(!1,n)}}async function Be(e,t,n=16){let o=Array(e.length),r=Date.now();for(let i=0;i<e.length;++i){o[i]=t(e[i],i);let a=Date.now();a>=r+n&&(r=a,await xn())}return o}function J(e){return e.then(void 0,()=>{}),e}function An(e){return typeof e!="function"}function Pn(e,t){let n=J(new Promise(o=>{let r=Date.now();Xe(e.bind(null,t),(...i)=>{let a=Date.now()-r;if(!i[0])return o(()=>({error:i[1],duration:a}));let l=i[1];if(An(l))return o(()=>({value:l,duration:a}));o(()=>new Promise(f=>{let u=Date.now();Xe(l,(...s)=>{let c=a+Date.now()-u;if(!s[0])return f({error:s[1],duration:c});f({value:s[1],duration:c})})}))})}));return function(){return n.then(r=>r())}}function In(e,t,n,o){let r=Object.keys(e).filter(a=>on(n,a)),i=J(Be(r,a=>Pn(e[a],t),o));return async function(){let l=await i,f=await Be(l,c=>J(c()),o),u=await Promise.all(f),s={};for(let c=0;c<r.length;++c)s[r[c]]=u[c];return s}}async function dt(e,t,n=50){var o,r,i;let a=document;for(;!a.body;)await fe(n);let l=a.createElement("iframe");try{for(await new Promise((f,u)=>{let s=!1,c=()=>{s=!0,f()},h=y=>{s=!0,u(y)};l.onload=c,l.onerror=h;let{style:m}=l;m.setProperty("display","block","important"),m.position="absolute",m.top="0",m.left="0",m.visibility="hidden",t&&"srcdoc"in l?l.srcdoc=t:l.src="about:blank",a.body.appendChild(l);let p=()=>{var y,L;s||(((L=(y=l.contentWindow)===null||y===void 0?void 0:y.document)===null||L===void 0?void 0:L.readyState)==="complete"?c():setTimeout(p,10))};p()});!(!((r=(o=l.contentWindow)===null||o===void 0?void 0:o.document)===null||r===void 0)&&r.body);)await fe(n);return await e(l,l.contentWindow)}finally{(i=l.parentNode)===null||i===void 0||i.removeChild(l)}}function Cn(e){let[t,n]=rn(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let i=n[r].join(" ");r==="style"?En(o.style,i):o.setAttribute(r,i)}return o}function En(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,i,,a]=o;e.setProperty(r,i,a||"")}}}function Fn(){let e=window;for(;;){let t=e.parent;if(!t||t===e)return!1;try{if(t.location.origin!==e.location.origin)return!0}catch(n){if(n instanceof Error&&n.name==="SecurityError")return!0;throw n}e=t}}function Rn(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if(Mn())return-3;try{return e.canMakePayments()?1:0}catch(t){return Tn(t)}}var Mn=Fn;function Tn(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function Vn(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function Wn(){return Gn()?-4:Nn()}function Nn(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(Dn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),i=r.createOscillator();i.type="triangle",i.frequency.value=1e4;let a=r.createDynamicsCompressor();a.threshold.value=-50,a.knee.value=40,a.ratio.value=12,a.attack.value=0,a.release.value=.25,i.connect(a),a.connect(r.destination),i.start(0);let[l,f]=On(r),u=J(l.then(s=>Hn(s.getChannelData(0).subarray(n)),s=>{if(s.name==="timeout"||s.name==="suspended")return-3;throw s}));return()=>(f(),u)}function Dn(){return C()&&!Le()&&!pn()}function Gn(){return C()&&Q()&&U()||$()&&bn()&&fn()}function On(e){let i=()=>{};return[new Promise((l,f)=>{let u=!1,s=0,c=0;e.oncomplete=p=>l(p.renderedBuffer);let h=()=>{setTimeout(()=>f(Je("timeout")),Math.min(500,c+5e3-Date.now()))},m=()=>{try{let p=e.startRendering();switch(lt(p)&&J(p),e.state){case"running":c=Date.now(),u&&h();break;case"suspended":document.hidden||s++,u&&s>=3?f(Je("suspended")):setTimeout(m,500);break}}catch(p){f(p)}};m(),i=()=>{u||(u=!0,c>0&&h())}}),i]}function Hn(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function Je(e){let t=new Error(e);return t.name=e,t}function Zn(){if(!(me()||C()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function jn(){return $n(Kn())}function $n(e){let t=!1,n,o,[r,i]=Yn();return zn(r,i)?(t=Xn(i),e?n=o="skipped":[n,o]=Bn(r,i)):n=o="unsupported",{winding:t,geometry:n,text:o}}function Yn(){let e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function zn(e,t){return!!(t&&e.toDataURL)}function Xn(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function Bn(e,t){Jn(e,t);let n=we(e),o=we(e);return n!==o?["unstable","unstable"]:(Un(e,t),[we(e),n])}function Jn(e,t){e.width=240,e.height=60,t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(100,1,62,20),t.fillStyle="#069",t.font='11pt "Times New Roman"';let n="Cwm fjordbank gly \u{1F603}";t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.2)",t.font="18pt Arial",t.fillText(n,4,45)}function Un(e,t){e.width=122,e.height=110,t.globalCompositeOperation="multiply";for(let[n,o,r]of[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]])t.fillStyle=n,t.beginPath(),t.arc(o,r,40,0,Math.PI*2,!0),t.closePath(),t.fill();t.fillStyle="#f9c",t.arc(60,60,60,0,Math.PI*2,!0),t.arc(60,60,20,0,Math.PI*2,!0),t.fill("evenodd")}function we(e){return e.toDataURL()}function Kn(){let e=C()&&Q()&&U(),t=K()&&ln();return e||t}function Qn(){return window.screen.colorDepth}function qn(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function eo(){if(H("no-preference"))return 0;if(H("high")||H("more"))return 1;if(H("low")||H("less"))return-1;if(H("forced"))return 10}function H(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function to(){let e=document;try{e.cookie="cookietest=1; SameSite=Strict;";let t=e.cookie.indexOf("cookietest=")!==-1;return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch{return!1}}function no(){return navigator.cpuClass}function oo(){if(!window.Intl)return-1;let e=window.Intl.DateTimeFormat;if(!e)return-2;let t=e().resolvedOptions().locale;return!t&&t!==""?-3:t}function ro(){return F(I(navigator.deviceMemory),void 0)}function io(){let e=atob;return{abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',e("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",e("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",e("LnNwb25zb3JpdA=="),".ylamainos",e("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",e("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",e("LmhlYWRlci1ibG9ja2VkLWFk"),e("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",e("I2FkXzMwMFgyNTA="),e("I2Jhbm5lcmZsb2F0MjI="),e("I2NhbXBhaWduLWJhbm5lcg=="),e("I0FkLUNvbnRlbnQ=")],adGuardChinese:[e("LlppX2FkX2FfSA=="),e("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",e("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),e("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",e("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",e("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",e("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),e("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),e("LmFkZ29vZ2xl"),e("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[e("YW1wLWF1dG8tYWRz"),e("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",e("I2FkX2ludmlld19hcmVh")],adGuardRussian:[e("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),e("LnJlY2xhbWE="),'div[id^="smi2adblock"]',e("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[e("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),e("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",e("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),e("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),e("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",e("I3Jla2xhbWk="),e("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),e("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),e("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[e("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",e("LndpZGdldF9wb19hZHNfd2lkZ2V0"),e("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",e("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[e("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),e("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",e("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",e("I3Jla2xhbW5pLWJveA=="),e("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",e("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[e("I2FkdmVydGVudGll"),e("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",e("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",e("LnNwb25zb3JsaW5rZ3J1ZW4="),e("I3dlcmJ1bmdza3k="),e("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),e("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[e("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",e("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[e("LnJla2xhbW9zX3RhcnBhcw=="),e("LnJla2xhbW9zX251b3JvZG9z"),e("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),e("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),e("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[e("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],fanboyAnnoyances:["#ac-lre-player",".navigate-to-top","#subscribe_popup",".newsletter_holder","#back-top"],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag","#sovrn_container",'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:["#FollowUs","#meteored_share","#social_follow",".article-sharer",".community__social-desc"],frellwitSwedish:[e("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),e("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",e("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[e("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),e("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),e("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",e("LmFkX19tYWlu"),e("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[e("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[e("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),e("I2xpdmVyZUFkV3JhcHBlcg=="),e("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),e("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[e("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",e("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),e("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),e("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[e("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),e("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),e("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",e("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),e("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),e("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),e("ZGl2I3NrYXBpZWNfYWQ=")],ro:[e("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),e("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[e("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),e("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),e("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",e("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),e("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",e("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]}}async function so({debug:e}={}){if(!co())return;let t=io(),n=Object.keys(t),o=[].concat(...n.map(a=>t[a])),r=await ao(o);e&&uo(t,r);let i=n.filter(a=>{let l=t[a];return S(l.map(u=>r[u]))>l.length*.6});return i.sort(),i}function co(){return C()||me()}async function ao(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),i={};Ue(o);for(let a=0;a<e.length;++a){let l=Cn(e[a]);l.tagName==="DIALOG"&&l.show();let f=n.createElement("div");Ue(f),f.appendChild(l),o.appendChild(f),r[a]=l}for(;!n.body;)await fe(50);n.body.appendChild(o);try{for(let a=0;a<e.length;++a)r[a].offsetParent||(i[e[a]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return i}function Ue(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function uo(e,t){let n="DOM blockers debug:\n```";for(let o of Object.keys(e)){n+=`
1
+ (()=>{var N=["addExceptionStep","alias","calculateEventProperties","canRenderSurvey","canRenderSurveyAsync","cancelPendingSurvey","capture","captureException","captureLog","captureTraceFeedback","captureTraceMetric","clearIdentity","clear_opt_in_out_capturing","createPersonProfile","debug","displaySurvey","getActiveMatchingSurveys","getAllFeatureFlags","getEarlyAccessFeatures","getExtension","getFeatureFlag","getFeatureFlagPayload","getFeatureFlagResult","getGroups","getPageViewId","getSessionProperty","getSurveys","get_distinct_id","get_explicit_consent_status","get_property","get_session_id","get_session_replay_url","group","has_opted_in_capturing","has_opted_out_capturing","identify","init","isFeatureEnabled","is_capturing","loadToolbar","on","onActiveMatchingSurveysChanged","onFeatureFlags","onSessionId","onSurveysLoaded","opt_in_capturing","opt_out_capturing","register","register_for_session","register_once","reloadFeatureFlags","renderSurvey","reset","resetGroupPropertiesForFlags","resetGroups","resetPersonPropertiesForFlags","sessionRecordingStarted","setGroupPropertiesForFlags","setIdentity","setInternalOrTestUser","setPersonProperties","setPersonPropertiesForFlags","set_config","shutdown","startExceptionAutocapture","startSessionRecording","stopExceptionAutocapture","stopSessionRecording","unregister","unregister_for_session","unsetPersonProperties","updateEarlyAccessFeatureEnrollment","updateFlags"];var mt="5.3.0";function mn(e,t){for(let n=0,o=e.length;n<o;++n)if(e[n]===t)return!0;return!1}function pn(e,t){return!mn(e,t)}function Ee(e){return parseInt(e)}function E(e){return parseFloat(e)}function R(e,t){return typeof e=="number"&&isNaN(e)?t:e}function x(e){return e.reduce((t,n)=>t+(n?1:0),0)}function pt(e,t=1){if(Math.abs(t)>=1)return Math.round(e/t)*t;{let n=1/t;return Math.round(e*n)/n}}function hn(e){var t,n;let o=`Unexpected syntax '${e}'`,r=/^\s*([a-z-]*)(.*)$/i.exec(e),i=r[1]||void 0,a={},d=/([.:#][\w-]+|\[.+?\])/gi,f=(u,s)=>{a[u]=a[u]||[],a[u].push(s)};for(;;){let u=d.exec(r[2]);if(!u)break;let s=u[0];switch(s[0]){case".":f("class",s.slice(1));break;case"#":f("id",s.slice(1));break;case"[":{let c=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(s);if(c)f(c[1],(n=(t=c[4])!==null&&t!==void 0?t:c[5])!==null&&n!==void 0?n:"");else throw new Error(o);break}default:throw new Error(o)}}return[i,a]}function gn(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);if(o>127)return new TextEncoder().encode(e);t[n]=o}return t}function yn(e){var t;return{name:e.name,message:e.message,stack:(t=e.stack)===null||t===void 0?void 0:t.split(`
2
+ `),...e}}function bn(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function ht(){let e=window,t=navigator;return x(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function wn(){let e=window,t=navigator;return x(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!ht()}function X(){let e=window,t=navigator;return x(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,(t.vendor||"").indexOf("Google")===0,"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function F(){let e=window,t=navigator;return x(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,t.vendor.indexOf("Apple")===0,"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function Fe(){let e=window,{HTMLElement:t,Document:n}=e;return x(["safari"in e,!("ongestureend"in e),!("TouchEvent"in e),!("orientation"in e),t&&!("autocapitalize"in t.prototype),n&&"pointerLockElement"in n.prototype])>=4}function ee(){let e=window;return bn(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function te(){var e,t;let n=window;return x(["buildID"in navigator,"MozAppearance"in((t=(e=document.documentElement)===null||e===void 0?void 0:e.style)!==null&&t!==void 0?t:{}),"onmozfullscreenchange"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4}function _n(){let e=window,t=navigator,{CSS:n}=e;return x(["userActivation"in t,n.supports("color","light-dark(#000, #fff)"),n.supports("height","1lh"),"globalPrivacyControl"in t])>=3}function gt(){let{CSS:e}=window;return x([e.supports("selector(::details-content)"),e.supports("selector(::before::marker)"),e.supports("selector(::after::marker)"),!("locale"in CompositionEvent.prototype)])>=3}function kn(){let e=window;return x([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function Sn(){let e=window,{URLPattern:t}=e;return x(["union"in Set.prototype,"Iterator"in e,t&&"hasRegExpGroups"in t.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}function vn(){let e=window,t=document,{CSS:n,Promise:o,AudioContext:r}=e;return x([o&&"try"in o,"caretPositionFromPoint"in t,r&&"onerror"in r.prototype,n.supports("ruby-align","space-around")])>=3}function xn(){let e=window;return x(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function ne(){let e=window,t=navigator,{CSS:n,HTMLButtonElement:o}=e;return x([!("getStorageUpdates"in t),o&&"popover"in o.prototype,"CSSCounterStyleRule"in e,n.supports("font-size-adjust: ex-height 0.5"),n.supports("text-transform: full-width")])>=4}function Ln(){if(navigator.platform==="iPad")return!0;let e=screen,t=e.width/e.height;return x(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}function An(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function In(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function ge(){var e,t;let n=X(),o=te(),r=window,i=navigator;return n?x([Cn(),"HTMLInputElement"in r&&"capture"in HTMLInputElement.prototype,"NetworkInformation"in r&&"ontypechange"in((t=(e=r.NetworkInformation)===null||e===void 0?void 0:e.prototype)!==null&&t!==void 0?t:{}),!("sinkId"in new Audio)])>=2:o?x(["onorientationchange"in r,"orientation"in r,/android/i.test(i.appVersion)])>=2:!1}function Pn(){let e=navigator,t=window,n=Audio.prototype,{visualViewport:o}=t;return x(["srLatency"in n,"srChannelCount"in n,"devicePosture"in e,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function Cn(){var e,t;try{return!!(!((t=(e=window.Intl)===null||e===void 0?void 0:e.supportedValuesOf)===null||t===void 0)&&t.call(e,"collation").includes("dict"))}catch{return!1}}var En="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function Fn(e){let t=Mn(e),n=Tn(t);return{score:t,comment:En.replace(/\$/g,`${n}`)}}function Mn(e){if(ge())return .4;if(F())return Fe()&&!(ne()&&ee())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function Tn(e){return pt(.99+.01*e,1e-4)}function he(e,t){return new Promise(n=>setTimeout(n,e,t))}function Rn(){return new Promise(e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})}function Vn(e,t=1/0){let{requestIdleCallback:n}=window;return n?new Promise(o=>n.call(window,()=>o(),{timeout:t})):he(Math.min(e,t))}function yt(e){return!!e&&typeof e.then=="function"}function et(e,t){try{let n=e();yt(n)?n.then(o=>t(!0,o),o=>t(!1,o)):t(!0,n)}catch(n){t(!1,n)}}async function tt(e,t,n=16){let o=Array(e.length),r=Date.now();for(let i=0;i<e.length;++i){o[i]=t(e[i],i);let a=Date.now();a>=r+n&&(r=a,await Rn())}return o}function Q(e){return e.then(void 0,()=>{}),e}function Wn(e){return typeof e!="function"}function Nn(e,t){let n=Q(new Promise(o=>{let r=Date.now();et(e.bind(null,t),(...i)=>{let a=Date.now()-r;if(!i[0])return o(()=>({error:i[1],duration:a}));let d=i[1];if(Wn(d))return o(()=>({value:d,duration:a}));o(()=>new Promise(f=>{let u=Date.now();et(d,(...s)=>{let c=a+Date.now()-u;if(!s[0])return f({error:s[1],duration:c});f({value:s[1],duration:c})})}))})}));return function(){return n.then(r=>r())}}function On(e,t,n,o){let r=Object.keys(e).filter(a=>pn(n,a)),i=Q(tt(r,a=>Nn(e[a],t),o));return async function(){let d=await i,f=await tt(d,c=>Q(c()),o),u=await Promise.all(f),s={};for(let c=0;c<r.length;++c)s[r[c]]=u[c];return s}}async function bt(e,t,n=50){var o,r,i;let a=document;for(;!a.body;)await he(n);let d=a.createElement("iframe");try{for(await new Promise((f,u)=>{let s=!1,c=()=>{s=!0,f()},y=b=>{s=!0,u(b)};d.onload=c,d.onerror=y;let{style:p}=d;p.setProperty("display","block","important"),p.position="absolute",p.top="0",p.left="0",p.visibility="hidden",t&&"srcdoc"in d?d.srcdoc=t:d.src="about:blank",a.body.appendChild(d);let h=()=>{var b,A;s||(((A=(b=d.contentWindow)===null||b===void 0?void 0:b.document)===null||A===void 0?void 0:A.readyState)==="complete"?c():setTimeout(h,10))};h()});!(!((r=(o=d.contentWindow)===null||o===void 0?void 0:o.document)===null||r===void 0)&&r.body);)await he(n);return await e(d,d.contentWindow)}finally{(i=d.parentNode)===null||i===void 0||i.removeChild(d)}}function Dn(e){let[t,n]=hn(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let i=n[r].join(" ");r==="style"?Gn(o.style,i):o.setAttribute(r,i)}return o}function Gn(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,i,,a]=o;e.setProperty(r,i,a||"")}}}function $n(){let e=window;for(;;){let t=e.parent;if(!t||t===e)return!1;try{if(t.location.origin!==e.location.origin)return!0}catch(n){if(n instanceof Error&&n.name==="SecurityError")return!0;throw n}e=t}}function Hn(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if(Zn())return-3;try{return e.canMakePayments()?1:0}catch(t){return jn(t)}}var Zn=$n;function jn(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function Yn(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function zn(){return Jn()?-4:Xn()}function Xn(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(Bn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),i=r.createOscillator();i.type="triangle",i.frequency.value=1e4;let a=r.createDynamicsCompressor();a.threshold.value=-50,a.knee.value=40,a.ratio.value=12,a.attack.value=0,a.release.value=.25,i.connect(a),a.connect(r.destination),i.start(0);let[d,f]=Un(r),u=Q(d.then(s=>qn(s.getChannelData(0).subarray(n)),s=>{if(s.name==="timeout"||s.name==="suspended")return-3;throw s}));return()=>(f(),u)}function Bn(){return F()&&!Fe()&&!xn()}function Jn(){return F()&&ne()&&ee()||X()&&Pn()&&Sn()}function Un(e){let i=()=>{};return[new Promise((d,f)=>{let u=!1,s=0,c=0;e.oncomplete=h=>d(h.renderedBuffer);let y=()=>{setTimeout(()=>f(nt("timeout")),Math.min(500,c+5e3-Date.now()))},p=()=>{try{let h=e.startRendering();switch(yt(h)&&Q(h),e.state){case"running":c=Date.now(),u&&y();break;case"suspended":document.hidden||s++,u&&s>=3?f(nt("suspended")):setTimeout(p,500);break}}catch(h){f(h)}};p(),i=()=>{u||(u=!0,c>0&&y())}}),i]}function qn(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function nt(e){let t=new Error(e);return t.name=e,t}function Kn(){if(!(ge()||F()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function Qn(){return eo(co())}function eo(e){let t=!1,n,o,[r,i]=to();return no(r,i)?(t=oo(i),e?n=o="skipped":[n,o]=ro(r,i)):n=o="unsupported",{winding:t,geometry:n,text:o}}function to(){let e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function no(e,t){return!!(t&&e.toDataURL)}function oo(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function ro(e,t){io(e,t);let n=Le(e),o=Le(e);return n!==o?["unstable","unstable"]:(so(e,t),[Le(e),n])}function io(e,t){e.width=240,e.height=60,t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(100,1,62,20),t.fillStyle="#069",t.font='11pt "Times New Roman"';let n="Cwm fjordbank gly \u{1F603}";t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.2)",t.font="18pt Arial",t.fillText(n,4,45)}function so(e,t){e.width=122,e.height=110,t.globalCompositeOperation="multiply";for(let[n,o,r]of[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]])t.fillStyle=n,t.beginPath(),t.arc(o,r,40,0,Math.PI*2,!0),t.closePath(),t.fill();t.fillStyle="#f9c",t.arc(60,60,60,0,Math.PI*2,!0),t.arc(60,60,20,0,Math.PI*2,!0),t.fill("evenodd")}function Le(e){return e.toDataURL()}function co(){let e=F()&&ne()&&ee(),t=te()&&_n();return e||t}function ao(){return window.screen.colorDepth}function uo(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function lo(){if(j("no-preference"))return 0;if(j("high")||j("more"))return 1;if(j("low")||j("less"))return-1;if(j("forced"))return 10}function j(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function fo(){let e=document;try{e.cookie="cookietest=1; SameSite=Strict;";let t=e.cookie.indexOf("cookietest=")!==-1;return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch{return!1}}function mo(){return navigator.cpuClass}function po(){if(!window.Intl)return-1;let e=window.Intl.DateTimeFormat;if(!e)return-2;let t=e().resolvedOptions().locale;return!t&&t!==""?-3:t}function ho(){return R(E(navigator.deviceMemory),void 0)}function go(){let e=atob;return{abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',e("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",e("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",e("LnNwb25zb3JpdA=="),".ylamainos",e("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",e("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",e("LmhlYWRlci1ibG9ja2VkLWFk"),e("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",e("I2FkXzMwMFgyNTA="),e("I2Jhbm5lcmZsb2F0MjI="),e("I2NhbXBhaWduLWJhbm5lcg=="),e("I0FkLUNvbnRlbnQ=")],adGuardChinese:[e("LlppX2FkX2FfSA=="),e("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",e("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),e("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",e("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",e("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",e("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),e("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),e("LmFkZ29vZ2xl"),e("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[e("YW1wLWF1dG8tYWRz"),e("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",e("I2FkX2ludmlld19hcmVh")],adGuardRussian:[e("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),e("LnJlY2xhbWE="),'div[id^="smi2adblock"]',e("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[e("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),e("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",e("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),e("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),e("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",e("I3Jla2xhbWk="),e("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),e("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),e("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[e("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",e("LndpZGdldF9wb19hZHNfd2lkZ2V0"),e("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",e("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[e("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),e("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",e("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",e("I3Jla2xhbW5pLWJveA=="),e("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",e("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[e("I2FkdmVydGVudGll"),e("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",e("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",e("LnNwb25zb3JsaW5rZ3J1ZW4="),e("I3dlcmJ1bmdza3k="),e("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),e("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[e("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",e("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[e("LnJla2xhbW9zX3RhcnBhcw=="),e("LnJla2xhbW9zX251b3JvZG9z"),e("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),e("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),e("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[e("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],fanboyAnnoyances:["#ac-lre-player",".navigate-to-top","#subscribe_popup",".newsletter_holder","#back-top"],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag","#sovrn_container",'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:["#FollowUs","#meteored_share","#social_follow",".article-sharer",".community__social-desc"],frellwitSwedish:[e("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),e("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",e("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[e("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),e("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),e("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",e("LmFkX19tYWlu"),e("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[e("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[e("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),e("I2xpdmVyZUFkV3JhcHBlcg=="),e("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),e("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[e("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",e("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),e("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),e("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[e("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),e("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),e("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",e("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),e("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),e("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),e("ZGl2I3NrYXBpZWNfYWQ=")],ro:[e("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),e("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[e("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),e("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),e("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",e("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),e("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",e("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]}}async function yo({debug:e}={}){if(!bo())return;let t=go(),n=Object.keys(t),o=[].concat(...n.map(a=>t[a])),r=await wo(o);e&&_o(t,r);let i=n.filter(a=>{let d=t[a];return x(d.map(u=>r[u]))>d.length*.6});return i.sort(),i}function bo(){return F()||ge()}async function wo(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),i={};ot(o);for(let a=0;a<e.length;++a){let d=Dn(e[a]);d.tagName==="DIALOG"&&d.show();let f=n.createElement("div");ot(f),f.appendChild(d),o.appendChild(f),r[a]=d}for(;!n.body;)await he(50);n.body.appendChild(o);try{for(let a=0;a<e.length;++a)r[a].offsetParent||(i[e[a]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return i}function ot(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function _o(e,t){let n="DOM blockers debug:\n```";for(let o of Object.keys(e)){n+=`
3
3
  ${o}:`;for(let r of e[o])n+=`
4
4
  ${t[r]?"\u{1F6AB}":"\u27A1\uFE0F"} ${r}`}console.log(`${n}
5
- \`\`\``)}var lo="mmMwWLliI0fiflO&1",_e={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function fo(){return po((e,t,n)=>{let o={},r={};for(let a of Object.keys(_e)){let[l={},f=lo]=_e[a],u=e.createElement("span");u.textContent=f,u.style.whiteSpace="nowrap";for(let s of Object.keys(l)){let c=l[s];c!==void 0&&(u.style[s]=c)}o[a]=u,t.append(e.createElement("br"),u)}let i=$()&&mn();for(let a of Object.keys(_e)){let l=o[a].getBoundingClientRect().width;r[a]=i?mo(l*n.devicePixelRatio):l}return r})}function mo(e){let t=me()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function po(e,t=4e3){return dt((n,o)=>{let r=o.document,i=r.body,a=i.style;a.width=`${t}px`,a.webkitTextSizeAdjust=a.textSizeAdjust="none",$()?i.style.zoom=`${1/o.devicePixelRatio}`:C()&&(i.style.zoom="reset");let l=r.createElement("div");return l.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),i.appendChild(l),e(r,i,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var ho="mmMwWLliI0O&1",go="48px",Z=["monospace","sans-serif","serif"],Ke=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function yo(){return dt((e,{document:t})=>{let n=t.body;n.style.fontSize=go;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},i={},a=m=>{let p=t.createElement("span"),{style:y}=p;return y.position="absolute",y.top="0",y.left="0",y.fontFamily=m,p.textContent=ho,o.appendChild(p),p},l=(m,p)=>a(`'${m}',${p}`),f=()=>Z.map(a),u=()=>{let m={};for(let p of Ke)m[p]=Z.map(y=>l(p,y));return m},s=m=>Z.some((p,y)=>m[y].offsetWidth!==r[p]||m[y].offsetHeight!==i[p]),c=f(),h=u();n.appendChild(o);for(let m=0;m<Z.length;m++)r[Z[m]]=c[m].offsetWidth,i[Z[m]]=c[m].offsetHeight;return Ke.filter(m=>s(h[m]))})}function bo(){if(Qe("active"))return!0;if(Qe("none"))return!1}function Qe(e){return matchMedia(`(forced-colors: ${e})`).matches}function wo(){let e=_o();return e!==void 0&&K()&&ut()?e>=8?8:4:e}function _o(){return F(xe(navigator.hardwareConcurrency),void 0)}function ko(){if(qe("high"))return!0;if(qe("standard"))return!1}function qe(e){return matchMedia(`(dynamic-range: ${e})`).matches}function vo(){if(!(at()||un()))try{return!!window.indexedDB}catch{return!0}}function So(){if(et("inverted"))return!0;if(et("none"))return!1}function et(e){return matchMedia(`(inverted-colors: ${e})`).matches}function xo(){let e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(n!==void 0&&t.push([n]),Array.isArray(e.languages))$()&&dn()||t.push(e.languages);else if(typeof e.languages=="string"){let o=e.languages;o&&t.push(o.split(","))}return t}function Lo(){try{return!!window.localStorage}catch{return!0}}var w=Math,x=()=>0;function Ao(){let e=w.acos||x,t=w.acosh||x,n=w.asin||x,o=w.asinh||x,r=w.atanh||x,i=w.atan||x,a=w.sin||x,l=w.sinh||x,f=w.cos||x,u=w.cosh||x,s=w.tan||x,c=w.tanh||x,h=w.exp||x,m=w.expm1||x,p=w.log1p||x,y=b=>w.pow(w.PI,b),L=b=>w.log(b+w.sqrt(b*b-1)),G=b=>w.log(b+w.sqrt(b*b+1)),ne=b=>w.log((1+b)/(1-b))/2,O=b=>w.exp(b)-1/w.exp(b)/2,W=b=>(w.exp(b)+1/w.exp(b))/2,oe=b=>w.exp(b)-1,z=b=>(w.exp(2*b)-1)/(w.exp(2*b)+1),X=b=>w.log(1+b);return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:L(1e154),asin:n(.12312423423423424),asinh:o(1),asinhPf:G(1),atanh:r(.5),atanhPf:ne(.5),atan:i(.5),sin:a(-1e300),sinh:l(1),sinhPf:O(1),cos:f(10.000000000123),cosh:u(1),coshPf:W(1),tan:s(-1e300),tanh:c(1),tanhPf:z(1),exp:h(1),expm1:m(1),expm1Pf:oe(1),log1p:p(10),log1pPf:X(10),powPI:y(-100)}}var Po=100;function Io(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=Po;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}function Co(){return!!window.openDatabase}function Eo(){return navigator.oscpu}function Fo(){return navigator.pdfViewerEnabled}function Ro(){let{platform:e}=navigator;return e==="MacIntel"&&C()&&!Le()?hn()?"iPad":"iPhone":e}function Mo(){let e=navigator.plugins;if(!e)return;let t=[];for(let n=0;n<e.length;++n){let o=e[n];if(!o)continue;let r=[];for(let i=0;i<o.length;++i){let a=o[i];r.push({type:a.type,suffixes:a.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function To(){var e;let t=document.createElement("a"),n=(e=t.attributionSourceId)!==null&&e!==void 0?e:t.attributionsourceid;return n===void 0?void 0:String(n)}function Vo(){if(tt("reduce"))return!0;if(tt("no-preference"))return!1}function tt(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function Wo(){if(nt("reduce"))return!0;if(nt("no-preference"))return!1}function nt(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var No=2500,Do=10,de,ke;function Go(){if(ke!==void 0)return;let e=()=>{let t=ve();Se(t)?ke=setTimeout(e,No):(de=t,ke=void 0)};e()}function Oo(){return Go(),async()=>{let e=ve();if(Se(e)){if(de)return[...de];gn()&&(await yn(),e=ve())}return Se(e)||(de=e),e}}function Ho(){let e=C()&&Q()&&U(),t=K()&&ut();if(e||t)return()=>Promise.resolve(void 0);let n=Oo();return async()=>{let o=await n(),r=i=>i===null?null:ct(i,Do);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function ve(){let e=screen;return[F(I(e.availTop),null),F(I(e.width)-I(e.availWidth)-F(I(e.availLeft),0),null),F(I(e.height)-I(e.availHeight)-F(I(e.availTop),0),null),F(I(e.availLeft),null)]}function Se(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function Zo(){if(!(C()&&Q()&&U()))return jo()}function jo(){let e=screen,t=o=>F(xe(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function $o(){try{return!!window.sessionStorage}catch{return!0}}function Yo(){var e;let t=(e=window.Intl)===null||e===void 0?void 0:e.DateTimeFormat;if(t){let o=new t().resolvedOptions().timeZone;if(o)return o}let n=-zo();return`UTC${n>=0?"+":""}${n}`}function zo(){let e=new Date().getFullYear();return Math.max(I(new Date(e,0,1).getTimezoneOffset()),I(new Date(e,6,1).getTimezoneOffset()))}function Xo(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=xe(e.maxTouchPoints):e.msMaxTouchPoints!==void 0&&(t=e.msMaxTouchPoints);try{document.createEvent("TouchEvent"),n=!0}catch{n=!1}let o="ontouchstart"in window;return{maxTouchPoints:t,touchEvent:n,touchStart:o}}function Bo(e){return/not/i.test(e)}async function Jo(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!Bo(r)).map(({brand:r})=>r),o={brands:t.length>1?t.filter(r=>r!=="Chromium"):t,mobile:e.mobile,platform:e.platform};if(e.getHighEntropyValues)try{let r=await e.getHighEntropyValues(["architecture","bitness","model","platformVersion"]);o.architecture=r.architecture,o.bitness=r.bitness,o.model=r.model,o.platformVersion=r.platformVersion}catch(r){if(r instanceof DOMException&&r.name==="NotAllowedError")o.highEntropyStatus="not_allowed";else throw r}return o}function Uo(){return navigator.vendor||""}function Ko(){let e=[];for(let t of["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"]){let n=window[t];n&&typeof n=="object"&&e.push(t)}return e.sort()}var ft=-1,mt=-2,Qo=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),qo=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),er=["FRAGMENT_SHADER","VERTEX_SHADER"],tr=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],pt="WEBGL_debug_renderer_info",nr="WEBGL_polygon_mode";function or({cache:e}){var t,n,o,r,i,a;let l=ht(e);if(!l)return ft;if(!yt(l))return mt;let f=gt()?null:l.getExtension(pt);return{version:((t=l.getParameter(l.VERSION))===null||t===void 0?void 0:t.toString())||"",vendor:((n=l.getParameter(l.VENDOR))===null||n===void 0?void 0:n.toString())||"",vendorUnmasked:f?(o=l.getParameter(f.UNMASKED_VENDOR_WEBGL))===null||o===void 0?void 0:o.toString():"",renderer:((r=l.getParameter(l.RENDERER))===null||r===void 0?void 0:r.toString())||"",rendererUnmasked:f?(i=l.getParameter(f.UNMASKED_RENDERER_WEBGL))===null||i===void 0?void 0:i.toString():"",shadingLanguageVersion:((a=l.getParameter(l.SHADING_LANGUAGE_VERSION))===null||a===void 0?void 0:a.toString())||""}}function rr({cache:e}){let t=ht(e);if(!t)return ft;if(!yt(t))return mt;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],i=[],a=[],l=[],f=[];if(o)for(let s of Object.keys(o))i.push(`${s}=${o[s]}`);let u=ot(t);for(let s of u){let c=t[s];a.push(`${s}=${c}${Qo.has(c)?`=${t.getParameter(c)}`:""}`)}if(n)for(let s of n){if(s===pt&&gt()||s===nr&&cr())continue;let c=t.getExtension(s);if(!c){r.push(s);continue}for(let h of ot(c)){let m=c[h];l.push(`${h}=${m}${qo.has(m)?`=${t.getParameter(m)}`:""}`)}}for(let s of er)for(let c of tr){let h=ir(t,s,c);f.push(`${s}.${c}=${h.join(",")}`)}return l.sort(),a.sort(),{contextAttributes:i,parameters:a,shaderPrecisions:f,extensions:n,extensionParameters:l,unsupportedExtensions:r}}function ht(e){if(e.webgl)return e.webgl.context;let t=document.createElement("canvas"),n;t.addEventListener("webglCreateContextError",()=>n=void 0);for(let o of["webgl","experimental-webgl"]){try{n=t.getContext(o)}catch{}if(n)break}return e.webgl={context:n},n}function ir(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function ot(e){return Object.keys(e.__proto__).filter(sr)}function sr(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function gt(){return K()}function cr(){return $()||C()}function yt(e){return typeof e.getParameter=="function"}var ar={userAgentData:Jo,fonts:yo,domBlockers:so,fontPreferences:fo,audio:Wn,screenFrame:Ho,canvas:jn,osCpu:Eo,languages:xo,colorDepth:Qn,deviceMemory:ro,screenResolution:Zo,hardwareConcurrency:wo,timezone:Yo,sessionStorage:$o,localStorage:Lo,indexedDB:vo,openDatabase:Co,cpuClass:no,platform:Ro,plugins:Mo,touchSupport:Xo,vendor:Uo,vendorFlavors:Ko,cookiesEnabled:to,colorGamut:qn,invertedColors:So,forcedColors:bo,monochrome:Io,contrast:eo,reducedMotion:Vo,reducedTransparency:Wo,hdr:ko,math:Ao,pdfViewerEnabled:Fo,architecture:Vn,applePay:Rn,privateClickMeasurement:To,audioBaseLatency:Zn,dateTimeLocale:oo,webGlBasics:or,webGlExtensions:rr};function ur(e){return In(ar,e,[])}function V(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,h=0,m=0;m+=i+u,h+=m>>>16,m&=65535,h+=r+f,c+=h>>>16,h&=65535,c+=o+l,s+=c>>>16,c&=65535,s+=n+a,s&=65535,e[0]=s<<16|c,e[1]=h<<16|m}function P(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,h=0,m=0;m+=i*u,h+=m>>>16,m&=65535,h+=r*u,c+=h>>>16,h&=65535,h+=i*f,c+=h>>>16,h&=65535,c+=o*u,s+=c>>>16,c&=65535,c+=r*f,s+=c>>>16,c&=65535,c+=i*l,s+=c>>>16,c&=65535,s+=n*u+o*f+r*l+i*a,s&=65535,e[0]=s<<16|c,e[1]=h<<16|m}function j(e,t){let n=e[0];t%=64,t===32?(e[0]=e[1],e[1]=n):t<32?(e[0]=n<<t|e[1]>>>32-t,e[1]=e[1]<<t|n>>>32-t):(t-=32,e[0]=e[1]<<t|n>>>32-t,e[1]=n<<t|e[1]>>>32-t)}function A(e,t){t%=64,t!==0&&(t<32?(e[0]=e[1]>>>32-t,e[1]=e[1]<<t):(e[0]=e[1]<<t-32,e[1]=0))}function k(e,t){e[0]^=t[0],e[1]^=t[1]}var lr=[4283543511,3981806797],dr=[3301882366,444984403];function rt(e){let t=[0,e[0]>>>1];k(e,t),P(e,lr),t[1]=e[0]>>>1,k(e,t),P(e,dr),t[1]=e[0]>>>1,k(e,t)}var ue=[2277735313,289559509],le=[1291169091,658871167],it=[0,5],fr=[0,1390208809],mr=[0,944331445];function pr(e,t){let n=sn(e);t=t||0;let o=[0,n.length],r=o[1]%16,i=o[1]-r,a=[0,t],l=[0,t],f=[0,0],u=[0,0],s;for(s=0;s<i;s=s+16)f[0]=n[s+4]|n[s+5]<<8|n[s+6]<<16|n[s+7]<<24,f[1]=n[s]|n[s+1]<<8|n[s+2]<<16|n[s+3]<<24,u[0]=n[s+12]|n[s+13]<<8|n[s+14]<<16|n[s+15]<<24,u[1]=n[s+8]|n[s+9]<<8|n[s+10]<<16|n[s+11]<<24,P(f,ue),j(f,31),P(f,le),k(a,f),j(a,27),V(a,l),P(a,it),V(a,fr),P(u,le),j(u,33),P(u,ue),k(l,u),j(l,31),V(l,a),P(l,it),V(l,mr);f[0]=0,f[1]=0,u[0]=0,u[1]=0;let c=[0,0];switch(r){case 15:c[1]=n[s+14],A(c,48),k(u,c);case 14:c[1]=n[s+13],A(c,40),k(u,c);case 13:c[1]=n[s+12],A(c,32),k(u,c);case 12:c[1]=n[s+11],A(c,24),k(u,c);case 11:c[1]=n[s+10],A(c,16),k(u,c);case 10:c[1]=n[s+9],A(c,8),k(u,c);case 9:c[1]=n[s+8],k(u,c),P(u,le),j(u,33),P(u,ue),k(l,u);case 8:c[1]=n[s+7],A(c,56),k(f,c);case 7:c[1]=n[s+6],A(c,48),k(f,c);case 6:c[1]=n[s+5],A(c,40),k(f,c);case 5:c[1]=n[s+4],A(c,32),k(f,c);case 4:c[1]=n[s+3],A(c,24),k(f,c);case 3:c[1]=n[s+2],A(c,16),k(f,c);case 2:c[1]=n[s+1],A(c,8),k(f,c);case 1:c[1]=n[s],k(f,c),P(f,ue),j(f,31),P(f,le),k(a,f)}return k(a,o),k(l,o),V(a,l),V(l,a),rt(a),rt(l),V(a,l),V(l,a),`00000000${(a[0]>>>0).toString(16)}`.slice(-8)+`00000000${(a[1]>>>0).toString(16)}`.slice(-8)+`00000000${(l[0]>>>0).toString(16)}`.slice(-8)+`00000000${(l[1]>>>0).toString(16)}`.slice(-8)}function hr(e){let t="";for(let n of Object.keys(e).sort()){let o=e[n],r="error"in o?"error":JSON.stringify(o.value);t+=`${t?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return t}function bt(e){return JSON.stringify(e,(t,n)=>n instanceof Error?cn(n):n,2)}function wt(e){return pr(hr(e))}function gr(e){let t,n=kn(e);return{get visitorId(){return t===void 0&&(t=wt(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:st}}function yr(e=50){return Ln(e,e*2)}function br(e,t){let n=Date.now();return{async get(o){let r=Date.now(),i=await e(),a=gr(i);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
5
+ \`\`\``)}var ko="mmMwWLliI0fiflO&1",Ae={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function So(){return xo((e,t,n)=>{let o={},r={};for(let a of Object.keys(Ae)){let[d={},f=ko]=Ae[a],u=e.createElement("span");u.textContent=f,u.style.whiteSpace="nowrap";for(let s of Object.keys(d)){let c=d[s];c!==void 0&&(u.style[s]=c)}o[a]=u,t.append(e.createElement("br"),u)}let i=X()&&vn();for(let a of Object.keys(Ae)){let d=o[a].getBoundingClientRect().width;r[a]=i?vo(d*n.devicePixelRatio):d}return r})}function vo(e){let t=ge()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function xo(e,t=4e3){return bt((n,o)=>{let r=o.document,i=r.body,a=i.style;a.width=`${t}px`,a.webkitTextSizeAdjust=a.textSizeAdjust="none",X()?i.style.zoom=`${1/o.devicePixelRatio}`:F()&&(i.style.zoom="reset");let d=r.createElement("div");return d.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),i.appendChild(d),e(r,i,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var Lo="mmMwWLliI0O&1",Ao="48px",Y=["monospace","sans-serif","serif"],rt=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function Io(){return bt((e,{document:t})=>{let n=t.body;n.style.fontSize=Ao;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},i={},a=p=>{let h=t.createElement("span"),{style:b}=h;return b.position="absolute",b.top="0",b.left="0",b.fontFamily=p,h.textContent=Lo,o.appendChild(h),h},d=(p,h)=>a(`'${p}',${h}`),f=()=>Y.map(a),u=()=>{let p={};for(let h of rt)p[h]=Y.map(b=>d(h,b));return p},s=p=>Y.some((h,b)=>p[b].offsetWidth!==r[h]||p[b].offsetHeight!==i[h]),c=f(),y=u();n.appendChild(o);for(let p=0;p<Y.length;p++)r[Y[p]]=c[p].offsetWidth,i[Y[p]]=c[p].offsetHeight;return rt.filter(p=>s(y[p]))})}function Po(){if(it("active"))return!0;if(it("none"))return!1}function it(e){return matchMedia(`(forced-colors: ${e})`).matches}function Co(){let e=Eo();return e!==void 0&&te()&&gt()?e>=8?8:4:e}function Eo(){return R(Ee(navigator.hardwareConcurrency),void 0)}function Fo(){if(st("high"))return!0;if(st("standard"))return!1}function st(e){return matchMedia(`(dynamic-range: ${e})`).matches}function Mo(){if(!(ht()||wn()))try{return!!window.indexedDB}catch{return!0}}function To(){if(ct("inverted"))return!0;if(ct("none"))return!1}function ct(e){return matchMedia(`(inverted-colors: ${e})`).matches}function Ro(){let e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(n!==void 0&&t.push([n]),Array.isArray(e.languages))X()&&kn()||t.push(e.languages);else if(typeof e.languages=="string"){let o=e.languages;o&&t.push(o.split(","))}return t}function Vo(){try{return!!window.localStorage}catch{return!0}}var k=Math,L=()=>0;function Wo(){let e=k.acos||L,t=k.acosh||L,n=k.asin||L,o=k.asinh||L,r=k.atanh||L,i=k.atan||L,a=k.sin||L,d=k.sinh||L,f=k.cos||L,u=k.cosh||L,s=k.tan||L,c=k.tanh||L,y=k.exp||L,p=k.expm1||L,h=k.log1p||L,b=w=>k.pow(k.PI,w),A=w=>k.log(w+k.sqrt(w*w-1)),H=w=>k.log(w+k.sqrt(w*w+1)),se=w=>k.log((1+w)/(1-w))/2,Z=w=>k.exp(w)-1/k.exp(w)/2,D=w=>(k.exp(w)+1/k.exp(w))/2,ce=w=>k.exp(w)-1,M=w=>(k.exp(2*w)-1)/(k.exp(2*w)+1),U=w=>k.log(1+w);return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:A(1e154),asin:n(.12312423423423424),asinh:o(1),asinhPf:H(1),atanh:r(.5),atanhPf:se(.5),atan:i(.5),sin:a(-1e300),sinh:d(1),sinhPf:Z(1),cos:f(10.000000000123),cosh:u(1),coshPf:D(1),tan:s(-1e300),tanh:c(1),tanhPf:M(1),exp:y(1),expm1:p(1),expm1Pf:ce(1),log1p:h(10),log1pPf:U(10),powPI:b(-100)}}var No=100;function Oo(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=No;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}function Do(){return!!window.openDatabase}function Go(){return navigator.oscpu}function $o(){return navigator.pdfViewerEnabled}function Ho(){let{platform:e}=navigator;return e==="MacIntel"&&F()&&!Fe()?Ln()?"iPad":"iPhone":e}function Zo(){let e=navigator.plugins;if(!e)return;let t=[];for(let n=0;n<e.length;++n){let o=e[n];if(!o)continue;let r=[];for(let i=0;i<o.length;++i){let a=o[i];r.push({type:a.type,suffixes:a.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function jo(){var e;let t=document.createElement("a"),n=(e=t.attributionSourceId)!==null&&e!==void 0?e:t.attributionsourceid;return n===void 0?void 0:String(n)}function Yo(){if(at("reduce"))return!0;if(at("no-preference"))return!1}function at(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function zo(){if(ut("reduce"))return!0;if(ut("no-preference"))return!1}function ut(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var Xo=2500,Bo=10,pe,Ie;function Jo(){if(Ie!==void 0)return;let e=()=>{let t=Pe();Ce(t)?Ie=setTimeout(e,Xo):(pe=t,Ie=void 0)};e()}function Uo(){return Jo(),async()=>{let e=Pe();if(Ce(e)){if(pe)return[...pe];An()&&(await In(),e=Pe())}return Ce(e)||(pe=e),e}}function qo(){let e=F()&&ne()&&ee(),t=te()&&gt();if(e||t)return()=>Promise.resolve(void 0);let n=Uo();return async()=>{let o=await n(),r=i=>i===null?null:pt(i,Bo);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function Pe(){let e=screen;return[R(E(e.availTop),null),R(E(e.width)-E(e.availWidth)-R(E(e.availLeft),0),null),R(E(e.height)-E(e.availHeight)-R(E(e.availTop),0),null),R(E(e.availLeft),null)]}function Ce(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function Ko(){if(!(F()&&ne()&&ee()))return Qo()}function Qo(){let e=screen,t=o=>R(Ee(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function er(){try{return!!window.sessionStorage}catch{return!0}}function tr(){var e;let t=(e=window.Intl)===null||e===void 0?void 0:e.DateTimeFormat;if(t){let o=new t().resolvedOptions().timeZone;if(o)return o}let n=-nr();return`UTC${n>=0?"+":""}${n}`}function nr(){let e=new Date().getFullYear();return Math.max(E(new Date(e,0,1).getTimezoneOffset()),E(new Date(e,6,1).getTimezoneOffset()))}function or(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=Ee(e.maxTouchPoints):e.msMaxTouchPoints!==void 0&&(t=e.msMaxTouchPoints);try{document.createEvent("TouchEvent"),n=!0}catch{n=!1}let o="ontouchstart"in window;return{maxTouchPoints:t,touchEvent:n,touchStart:o}}function rr(e){return/not/i.test(e)}async function ir(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!rr(r)).map(({brand:r})=>r),o={brands:t.length>1?t.filter(r=>r!=="Chromium"):t,mobile:e.mobile,platform:e.platform};if(e.getHighEntropyValues)try{let r=await e.getHighEntropyValues(["architecture","bitness","model","platformVersion"]);o.architecture=r.architecture,o.bitness=r.bitness,o.model=r.model,o.platformVersion=r.platformVersion}catch(r){if(r instanceof DOMException&&r.name==="NotAllowedError")o.highEntropyStatus="not_allowed";else throw r}return o}function sr(){return navigator.vendor||""}function cr(){let e=[];for(let t of["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"]){let n=window[t];n&&typeof n=="object"&&e.push(t)}return e.sort()}var wt=-1,_t=-2,ar=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),ur=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),lr=["FRAGMENT_SHADER","VERTEX_SHADER"],dr=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],kt="WEBGL_debug_renderer_info",fr="WEBGL_polygon_mode";function mr({cache:e}){var t,n,o,r,i,a;let d=St(e);if(!d)return wt;if(!xt(d))return _t;let f=vt()?null:d.getExtension(kt);return{version:((t=d.getParameter(d.VERSION))===null||t===void 0?void 0:t.toString())||"",vendor:((n=d.getParameter(d.VENDOR))===null||n===void 0?void 0:n.toString())||"",vendorUnmasked:f?(o=d.getParameter(f.UNMASKED_VENDOR_WEBGL))===null||o===void 0?void 0:o.toString():"",renderer:((r=d.getParameter(d.RENDERER))===null||r===void 0?void 0:r.toString())||"",rendererUnmasked:f?(i=d.getParameter(f.UNMASKED_RENDERER_WEBGL))===null||i===void 0?void 0:i.toString():"",shadingLanguageVersion:((a=d.getParameter(d.SHADING_LANGUAGE_VERSION))===null||a===void 0?void 0:a.toString())||""}}function pr({cache:e}){let t=St(e);if(!t)return wt;if(!xt(t))return _t;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],i=[],a=[],d=[],f=[];if(o)for(let s of Object.keys(o))i.push(`${s}=${o[s]}`);let u=lt(t);for(let s of u){let c=t[s];a.push(`${s}=${c}${ar.has(c)?`=${t.getParameter(c)}`:""}`)}if(n)for(let s of n){if(s===kt&&vt()||s===fr&&yr())continue;let c=t.getExtension(s);if(!c){r.push(s);continue}for(let y of lt(c)){let p=c[y];d.push(`${y}=${p}${ur.has(p)?`=${t.getParameter(p)}`:""}`)}}for(let s of lr)for(let c of dr){let y=hr(t,s,c);f.push(`${s}.${c}=${y.join(",")}`)}return d.sort(),a.sort(),{contextAttributes:i,parameters:a,shaderPrecisions:f,extensions:n,extensionParameters:d,unsupportedExtensions:r}}function St(e){if(e.webgl)return e.webgl.context;let t=document.createElement("canvas"),n;t.addEventListener("webglCreateContextError",()=>n=void 0);for(let o of["webgl","experimental-webgl"]){try{n=t.getContext(o)}catch{}if(n)break}return e.webgl={context:n},n}function hr(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function lt(e){return Object.keys(e.__proto__).filter(gr)}function gr(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function vt(){return te()}function yr(){return X()||F()}function xt(e){return typeof e.getParameter=="function"}var br={userAgentData:ir,fonts:Io,domBlockers:yo,fontPreferences:So,audio:zn,screenFrame:qo,canvas:Qn,osCpu:Go,languages:Ro,colorDepth:ao,deviceMemory:ho,screenResolution:Ko,hardwareConcurrency:Co,timezone:tr,sessionStorage:er,localStorage:Vo,indexedDB:Mo,openDatabase:Do,cpuClass:mo,platform:Ho,plugins:Zo,touchSupport:or,vendor:sr,vendorFlavors:cr,cookiesEnabled:fo,colorGamut:uo,invertedColors:To,forcedColors:Po,monochrome:Oo,contrast:lo,reducedMotion:Yo,reducedTransparency:zo,hdr:Fo,math:Wo,pdfViewerEnabled:$o,architecture:Yn,applePay:Hn,privateClickMeasurement:jo,audioBaseLatency:Kn,dateTimeLocale:po,webGlBasics:mr,webGlExtensions:pr};function wr(e){return On(br,e,[])}function O(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,d=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,y=0,p=0;p+=i+u,y+=p>>>16,p&=65535,y+=r+f,c+=y>>>16,y&=65535,c+=o+d,s+=c>>>16,c&=65535,s+=n+a,s&=65535,e[0]=s<<16|c,e[1]=y<<16|p}function C(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,d=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,y=0,p=0;p+=i*u,y+=p>>>16,p&=65535,y+=r*u,c+=y>>>16,y&=65535,y+=i*f,c+=y>>>16,y&=65535,c+=o*u,s+=c>>>16,c&=65535,c+=r*f,s+=c>>>16,c&=65535,c+=i*d,s+=c>>>16,c&=65535,s+=n*u+o*f+r*d+i*a,s&=65535,e[0]=s<<16|c,e[1]=y<<16|p}function z(e,t){let n=e[0];t%=64,t===32?(e[0]=e[1],e[1]=n):t<32?(e[0]=n<<t|e[1]>>>32-t,e[1]=e[1]<<t|n>>>32-t):(t-=32,e[0]=e[1]<<t|n>>>32-t,e[1]=n<<t|e[1]>>>32-t)}function P(e,t){t%=64,t!==0&&(t<32?(e[0]=e[1]>>>32-t,e[1]=e[1]<<t):(e[0]=e[1]<<t-32,e[1]=0))}function S(e,t){e[0]^=t[0],e[1]^=t[1]}var _r=[4283543511,3981806797],kr=[3301882366,444984403];function dt(e){let t=[0,e[0]>>>1];S(e,t),C(e,_r),t[1]=e[0]>>>1,S(e,t),C(e,kr),t[1]=e[0]>>>1,S(e,t)}var fe=[2277735313,289559509],me=[1291169091,658871167],ft=[0,5],Sr=[0,1390208809],vr=[0,944331445];function xr(e,t){let n=gn(e);t=t||0;let o=[0,n.length],r=o[1]%16,i=o[1]-r,a=[0,t],d=[0,t],f=[0,0],u=[0,0],s;for(s=0;s<i;s=s+16)f[0]=n[s+4]|n[s+5]<<8|n[s+6]<<16|n[s+7]<<24,f[1]=n[s]|n[s+1]<<8|n[s+2]<<16|n[s+3]<<24,u[0]=n[s+12]|n[s+13]<<8|n[s+14]<<16|n[s+15]<<24,u[1]=n[s+8]|n[s+9]<<8|n[s+10]<<16|n[s+11]<<24,C(f,fe),z(f,31),C(f,me),S(a,f),z(a,27),O(a,d),C(a,ft),O(a,Sr),C(u,me),z(u,33),C(u,fe),S(d,u),z(d,31),O(d,a),C(d,ft),O(d,vr);f[0]=0,f[1]=0,u[0]=0,u[1]=0;let c=[0,0];switch(r){case 15:c[1]=n[s+14],P(c,48),S(u,c);case 14:c[1]=n[s+13],P(c,40),S(u,c);case 13:c[1]=n[s+12],P(c,32),S(u,c);case 12:c[1]=n[s+11],P(c,24),S(u,c);case 11:c[1]=n[s+10],P(c,16),S(u,c);case 10:c[1]=n[s+9],P(c,8),S(u,c);case 9:c[1]=n[s+8],S(u,c),C(u,me),z(u,33),C(u,fe),S(d,u);case 8:c[1]=n[s+7],P(c,56),S(f,c);case 7:c[1]=n[s+6],P(c,48),S(f,c);case 6:c[1]=n[s+5],P(c,40),S(f,c);case 5:c[1]=n[s+4],P(c,32),S(f,c);case 4:c[1]=n[s+3],P(c,24),S(f,c);case 3:c[1]=n[s+2],P(c,16),S(f,c);case 2:c[1]=n[s+1],P(c,8),S(f,c);case 1:c[1]=n[s],S(f,c),C(f,fe),z(f,31),C(f,me),S(a,f)}return S(a,o),S(d,o),O(a,d),O(d,a),dt(a),dt(d),O(a,d),O(d,a),`00000000${(a[0]>>>0).toString(16)}`.slice(-8)+`00000000${(a[1]>>>0).toString(16)}`.slice(-8)+`00000000${(d[0]>>>0).toString(16)}`.slice(-8)+`00000000${(d[1]>>>0).toString(16)}`.slice(-8)}function Lr(e){let t="";for(let n of Object.keys(e).sort()){let o=e[n],r="error"in o?"error":JSON.stringify(o.value);t+=`${t?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return t}function Lt(e){return JSON.stringify(e,(t,n)=>n instanceof Error?yn(n):n,2)}function At(e){return xr(Lr(e))}function Ar(e){let t,n=Fn(e);return{get visitorId(){return t===void 0&&(t=At(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:mt}}function Ir(e=50){return Vn(e,e*2)}function Pr(e,t){let n=Date.now();return{async get(o){let r=Date.now(),i=await e(),a=Ar(i);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
6
6
 
7
7
  \`\`\`
8
8
  version: ${a.version}
9
9
  userAgent: ${navigator.userAgent}
10
10
  timeBetweenLoadAndGet: ${r-n}
11
11
  visitorId: ${a.visitorId}
12
- components: ${bt(i)}
13
- \`\`\``),a}}}function wr(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${st}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function _r(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&wr(),await yr(t);let r=ur({cache:{},debug:n});return br(r,n)}var _t={load:_r,hashComponents:wt,componentsToDebugString:bt};var kr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],vr=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],Ae=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],Pe=["lp","narrative"],Sr=[...kr,...vr,...Ae,...Pe],xr=new Set(Sr);function Ie(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();xr.has(i)&&r!==""&&!(i in t)&&(t[i]=r)}return t}var Lr=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,Ar=["email"],Pr=["phone","phonenumber","phone_number","tel","telefone"];function q(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Lr.test(t)&&t.length<=254?t:null}function ee(e,t){if(typeof e!="string")return null;let n=e.trim().replace(/\s*(ext\.?|x|#)\s*\d+$/i,""),o=n.replace(/\D/g,"");n.startsWith("00")&&(o=o.slice(2));let r=n.startsWith("+")||n.startsWith("00");if(!r&&t){let i=String(t).replace(/\D/g,""),a=["39","378","379"].includes(i);i&&!o.startsWith(i)&&(o=i+(a?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}function kt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();!t.email&&Ar.includes(i)&&(t.email=q(r)||void 0),!t.phone&&Pr.includes(i)&&(t.phone=ee(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var Ee=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],Ir=/\/widget\/(form|survey|booking)\//,At=["buy.stripe.com","checkout.stripe.com"],Pt=e=>new Set([...At,...e||[]].map(t=>String(t).toLowerCase())),R=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},Cr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",pe="data-f10x-field";function vt(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(Cr);for(let[r,i]of Object.entries(t)){let a=e.querySelector(`[name="${CSS.escape(r)}"]`);if(a)a.tagName==="INPUT"&&(a.type==="hidden"||a.value===""||a.hasAttribute(pe))&&(a.value=i);else if(o){let l=document.createElement("input");l.type="hidden",l.name=r,l.value=i,l.setAttribute(pe,""),e.appendChild(l)}}}var St=new WeakMap;function Er(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=St.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,St.set(t,n),t.setAttribute(pe,""),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))))}}function Ce(e,t,n){let o;try{o=new URL(e,n)}catch{return null}if(o.protocol!=="http:"&&o.protocol!=="https:")return null;let r=o.href;for(let[i,a]of Object.entries(t))Ee.includes(i)?o.searchParams.set(i,a):o.searchParams.has(i)||o.searchParams.set(i,a);return At.includes(o.hostname)&&t.ph_distinct_id&&!o.searchParams.has("client_reference_id")&&o.searchParams.set("client_reference_id",t.ph_distinct_id),o.href===r?null:o.href}var xt=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function Fe({values:e,checkoutHosts:t,addFields:n,onError:o,onCheckout:r}){let i=Pt(t),a=new WeakSet,l=!1,f=0,u=m=>{for(let p of document.querySelectorAll("a[href]")){if(!i.has(xt(p.getAttribute("href"))))continue;let y=Ce(p.getAttribute("href"),m,location.href);y&&p.setAttribute("href",y)}},s=m=>{for(let p of document.querySelectorAll("iframe[src]")){let y=p.getAttribute("src");if(!Ir.test(y))continue;let L=Ce(y,m,location.href);L&&p.setAttribute("src",L)}},c=(m={})=>{m.iframes&&(l=!0);let p=e();for(let y of document.forms)vt(y,p,n);Er(p),u(p),l&&s(p)},h=()=>{f||(f=setTimeout(R(()=>{f=0,c()},o),50))};return new MutationObserver(h).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",R(m=>vt(m.target,e(),n),o),!0),document.addEventListener("click",R(m=>{let p=m.target instanceof Element?m.target.closest("a[href]"):null,y=p?xt(p.getAttribute("href")):"";if(!p||!i.has(y))return;let L=Ce(p.getAttribute("href"),e(),location.href);L&&p.setAttribute("href",L),r&&!a.has(p)&&r(y)&&a.add(p)},o),!0),R(c,o)(),{refresh:c}}var D="_f10x",Fr=120*1e3,Rr=200;function It({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Ct(e,t){let n;try{n=new URL(e).searchParams.get(D)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),i=n.lastIndexOf(".");if(o<1||r!==o+2||i<=r+1)return null;let a=n.slice(0,o),l=n.slice(o+1,r),f=n.slice(r+1,i),u=n.slice(i+1);if(!/^[0-9a-z]{1,12}$/.test(a)||l!=="i"&&l!=="a"||f.length>Rr||/\s/.test(f))return null;let s=t-parseInt(a,36);return Math.abs(s)<Fr?{distinctID:f,sessionID:u||null,identified:l==="i"}:null}var Mr=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/;function Et(e){let t=Array.isArray(e)?e:typeof e=="string"?e.split(/[\s,]+/):[],n=[];for(let o of t){let r=String(o).trim();if(!r)continue;let i=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");Mr.test(i)?n.push(i):console.warn(`[@funnel10x/tracking] linkedDomains: "${r}" is not a host or a registrable domain, and it is ignored (a domain covers its subdomains: write marca.pt, not *.marca.pt).`)}return n}function Ft({hosts:e,checkoutHosts:t,value:n,onError:o}){let r=Pt(t),i=(u,s)=>s===u||s.endsWith(`.${u}`),a=u=>{if(!u||u===location.hostname||r.has(u))return!1;let s=location.hostname.toLowerCase();return e.some(c=>i(c,u))&&!e.some(c=>i(c,u)&&i(c,s))},l=u=>{try{let s=new URL(u,location.href);return(s.protocol==="http:"||s.protocol==="https:")&&a(s.hostname.toLowerCase())?s:null}catch{return null}},f=R(u=>{if(u.type==="auxclick"&&u.button!==1)return;let s=u.target instanceof Element?u.target.closest("a[href]"):null,c=s&&l(s.getAttribute("href")),h=c&&n();h&&(c.searchParams.set(D,h),s.setAttribute("href",c.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,f,!0);document.addEventListener("contextmenu",R(u=>{let s=u.target instanceof Element?u.target.closest("a[href]"):null;if(!s)return;let c;try{c=new URL(s.getAttribute("href"),location.href)}catch{return}c.searchParams.has(D)&&(c.searchParams.delete(D),s.setAttribute("href",c.href))},o),!0),document.addEventListener("submit",R(u=>{let s=u.target;if(!(s instanceof HTMLFormElement))return;let c=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,h=l((c||s).getAttribute(c?"formaction":"action")||""),m=h&&n();if(!m)return;let p=(c&&c.getAttribute("formmethod")||s.getAttribute("method")||"get").toLowerCase();if(p==="get"){let y=s.querySelector(`input[name="${D}"]`);y||(y=document.createElement("input"),y.type="hidden",y.name=D,y.setAttribute(pe,""),s.appendChild(y)),y.value=m}else p==="post"&&(h.searchParams.set(D,m),(c||s).setAttribute(c?"formaction":"action",h.href))},o),!0)}var Tr=/e-?mail/i,Vr=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Rt=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),Mt=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Tt=e=>e.type==="email"||Tr.test(Mt(e)),Vt=e=>e.type==="tel"||e.type!=="email"&&Vr.test(Mt(e));function Wr(e){let t=e.closest(".iti")||e.closest('.form-builder--item, [class*="phone"]')||e.parentElement,n=t&&t.querySelector('.iti__selected-dial-code, [class*="dial-code"], [class*="dialCode"]'),o=n&&n.textContent;if(o&&/\+?\d{1,4}/.test(o))return o.match(/\d{1,4}/)[0];let r=t&&t.querySelector(".iti__selected-flag, .iti__selected-country"),i=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return i?i[1]:null}function Nr(e){if(!(e instanceof HTMLInputElement)||Rt.has(e.type))return{};if(Tt(e)){let t=q(e.value);return t?{email:t}:{}}if(Vt(e)){let t=ee(e.value,Wr(e));return t?{phone:t}:{}}return{}}function Lt(e){let t={};for(let n of e){let o=Nr(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function Dr(e){let t=e.parentElement;for(let n=0;t&&t!==document.body&&t!==document.documentElement&&n<12;n++,t=t.parentElement)if([...t.querySelectorAll("input")].some(r=>!Rt.has(r.type)&&(Tt(r)||Vt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Gr=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity());function Wt(e,t){document.addEventListener("submit",R(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=Lt(n.target.querySelectorAll("input"));(o.email||o.phone)&&e(o,"form")},t),!0),document.addEventListener("click",R(n=>{let o=n.target instanceof Element?n.target.closest("button[type=submit], input[type=submit]"):null;if(!o||o.closest("form")||o.getAttribute("type")!=="submit")return;let r=Dr(o);if(!r||Gr(r))return;let i=Lt(r.querySelectorAll("input"));(i.email||i.phone)&&e(i,"form")},t),!0)}var We="2.4.0",Re="f10x_consent",Or=typeof T=="object"?T:[],Hr="1",Zr=/^\d+\.\d+\.\d+$/,Ne="f10x_contact_id",jr="contact_id",$r=/^[A-Za-z0-9_-]{6,128}$/,Nt=1e3,Dt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",Yr="[@funnel10x/tracking] another PostHog init reached this page after the snippet (a PostHog tag or snippet): it is ignored, and every event carries tracking_conflict. Remove it: this snippet is PostHog.",zr=["snippet","page"],Xr=e=>`[@funnel10x/tracking] ${e===void 0?"this site does not declare who sends checkout":`checkout is ${JSON.stringify(e)}, which is neither 'snippet' nor 'page'`}: the snippet does not send checkout. Set checkout: 'snippet' (the checkout links are <a>) or checkout: 'page' (the page calls f10xTracking.capture('checkout')) in the init.`,Gt={Purchase:"purchase",purchase_completed:"purchase",order_completed:"purchase",InitiateCheckout:"checkout",initiate_checkout:"checkout",checkout_started:"checkout",begin_checkout:"checkout",CompleteRegistration:"registration_completed",registration:"registration_completed",sign_up:"registration_completed",webinar_registration:"registration_completed",appointment_booked:"appointment_scheduled",booking:"appointment_scheduled",Schedule:"appointment_scheduled",call_booked:"appointment_scheduled",Lead:"contact_captured"},Br=["purchase","registration_completed","appointment_scheduled"];function Jr(e,t,n){let o=[],r=t&&typeof t=="object"?t:{},i=Object.prototype.hasOwnProperty.call(Gt,e)?Gt[e]:null;if(i){let a=i==="contact_captured"?", which the page sends through f10xTracking.contact({ email, phone })":Br.includes(i)&&i!=="purchase"?", which only the server sends":"";o.push(["synonym",`"${e}" is not in the funnel event contract and the warehouse ignores it: the contract name is "${i}"${a}.`])}if(e==="purchase"){o.push(["server","purchase belongs to the server (the admin sends it from Stripe): this one from the page still counts until the server sends it in this project, and from that day it counts twice, so remove it then."]);let a=[];typeof r.session_id=="string"&&r.session_id.startsWith("cs_")||a.push("session_id (the cs_\u2026 of the Stripe checkout session)"),typeof r.currency=="string"&&r.currency||a.push("currency");let l=typeof r.amount_total=="string"&&r.amount_total.trim()?Number(r.amount_total):r.amount_total;typeof l=="number"&&Number.isFinite(l)||a.push("amount_total");for(let f of a)o.push([`missing:${f}`,`purchase without ${f}: it is sent, and the column stays empty in the warehouse.`])}return(e==="registration_completed"||e==="appointment_scheduled")&&o.push(["server",`${e} is sent only by the server, from the system that records it (the CRM): the warehouse ignores one sent from a page, even when an app gives a callback.`]),e==="contact_captured"&&o.push(["contact","contact_captured by hand: call f10xTracking.contact({ email, phone }) instead, which normalizes, sends each value once per page and waits for the consent."]),e==="checkout"&&n==="snippet"&&o.push(["twice","checkout from the page on a site that declares checkout: 'snippet': the snippet already sends it on the click of a checkout link, so this one counts it twice."]),o}var De=e=>e&&e.message||String(e),Ur=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${De(t)}): PostHog still measures without it, and every event carries tracking_degraded.`,Kr=()=>{try{if(typeof performance!="undefined"&&typeof performance.now=="function")return Date.now()-performance.now()}catch{}return Date.now()};function Qr(e,t){let n=t.persistence_name||t.cookie_name;return n?`ph_${n}`:`ph_${String(e||"").trim().replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")}_posthog`}function qr(e){let t=o=>!!(o&&typeof o=="object"&&o.distinct_id),n=o=>{try{return o?JSON.parse(o):null}catch{return null}};try{for(let o of document.cookie.split(";")){let r=o.indexOf("=");if(r>0&&o.slice(0,r).trim()===e&&t(n(decodeURIComponent(o.slice(r+1).trim()))))return!0}}catch{}return t(n(he("local",e)))||t(n(he("session",e)))}var ei={defaults:"2026-08-30",person_profiles:"identified_only",strict_script_versioning:!0},Ge=e=>{try{return e==="session"?window.sessionStorage:window.localStorage}catch{return null}},he=(e,t)=>{var n,o;try{return(o=(n=Ge(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},Me=(e,t,n)=>{var o;try{(o=Ge(e))==null||o.setItem(t,n)}catch{}};function Ot(e){let t={};try{let n=new URL(e).searchParams;for(let o of Ee){let r=n.get(o);r&&$r.test(r)&&(t[o]=r)}}catch{}return t}var Te=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Ht(){for(let n of["local","session"]){let o=Ge(n);if(o)try{for(let r of Object.keys(o))(r.startsWith("ph_")||r===Ne)&&o.removeItem(r)}catch{}}let e=location.hostname.split("."),t=e.map((n,o)=>e.slice(o).join(".")).filter(n=>n.includes("."));for(let n of document.cookie.split(";")){let o=n.split("=")[0].trim();if(o.startsWith("ph_")){document.cookie=`${o}=; Max-Age=0; path=/`;for(let r of t)document.cookie=`${o}=; Max-Age=0; path=/; domain=.${r}`}}}function ti(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Zt=e=>e==null||e==="posthog";function ni(e){let t=[],n=o=>{for(let r of Or)o[r]=(...i)=>{o.push([r,...i])}};return n(t),t._i=[],t.__SV=1,t.__f10x=!0,t.people=[],t.toString=o=>`posthog${o?"":" (stub)"}`,t.people.toString=()=>`${t.toString(1)}.people (stub)`,t.init=(o,r,i)=>{Zt(i)?e():t[i]||(t[i]=[],n(t[i])),t._i.push([o,r,i])},t}function oi(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=Hr;return t&&(Zr.test(t)?o=t:console.warn(`[@funnel10x/tracking] sdkVersion "${t}" is not an exact version (1.2.3): the 1.x channel is loaded.`)),`${n}/static/${o}/array.js`}function jt(e={}){if(window.__f10xTracking)return te(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=Ve("preview"),te(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let d=Te({...Ie(o),...Ot(o)}),g=!1,_=v=>{g||console.warn(`[@funnel10x/tracking] the dom extra failed (${De(v)}): the form in this frame may miss the fields from its URL.`),g=!0};try{Fe({values:()=>d,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:_})}catch(v){_(v)}return t=Ve("frame",()=>d),te(t)}if(ti())return console.warn(Dt),t=Ve("conflict"),te(t);let i=Ie(o),a=Ot(o)[jr]||null,l=[],f="idle",u=null,s=!1,c=null,h=null,m=null,p=!1,y=null,L=!1,G=!1,ne=oi(e.apiHost,e.sdkVersion),O=[],W=(d,g)=>{O.includes(d)||(O.push(d),console.warn(Ur(d,g)))},oe=new Set,z=(d,g)=>{oe.has(d)||(oe.add(d),console.warn(`[@funnel10x/tracking] ${g}`))},X=zr.includes(e.checkout)?e.checkout:null;X||console.warn(Xr(e.checkout));let b=(d,g,_)=>{try{return g()}catch(v){return W(d,v),_}},Oe=()=>{p||console.warn(Yr),p=!0},M=ni(Oe),$t=window.posthog;window.posthog=M;let He=()=>{let d={...i};return s&&(d.ph_anon_id=u.get_property("$device_id"),d.ph_distinct_id=u.get_distinct_id(),d.ph_session_id=u.get_session_id(),y&&(d.contact_id=y)),Te(d)},Yt=d=>s?(u.capture("checkout",{checkout_host:d},{send_instantly:!0}),!0):!1,Ze=b("dom",()=>Fe({values:He,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:d=>W("dom",d),onCheckout:X==="snippet"?Yt:void 0}),null),re=d=>{Ze&&b("dom",()=>Ze.refresh(d))},je=new Set,ge=[],ie=(d,g)=>{if(!s){n&&ae()==="denied"||ge.push([d,g]);return}let _=Object.fromEntries(Object.entries(d).filter(([v,E])=>E&&!je.has(`${v}:${E}`)));if(Object.keys(_).length){for(let[v,E]of Object.entries(_))je.add(`${v}:${E}`);u.capture("contact_captured",{..._,contact_source:g})}},zt=b("contact",()=>kt(o),{});b("contact",()=>Wt((d,g)=>ie(d,g),d=>W("contact",d)));let ye=b("linker",()=>Et(e.linkedDomains),[]),N=ye.length?b("linker",()=>Ct(o,Kr()),null):null,$e=!1,se=null,ce=null,Xt=()=>s?It({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;ye.length&&b("linker",()=>Ft({hosts:ye,checkoutHosts:e.checkoutHosts,value:Xt,onError:d=>W("linker",d)}));let Bt=d=>{!N||$e||($e=!0,b("linker",()=>{let g=d.bootstrap&&typeof d.bootstrap=="object"?d.bootstrap:{};if(g.distinctID||d.identity_distinct_id||qr(Qr(e.key,d))){ce=N.distinctID;return}se={...g,distinctID:N.distinctID,isIdentifiedID:N.identified,...N.sessionID&&!g.sessionID?{sessionID:N.sessionID}:{}}}))},Jt=Te({tracking_version:We,page_version:n?e.pageVersion||1:void 0,page_revision:n&&/^[a-f0-9]{64}$/.test(e.pageRevision||"")?e.pageRevision:void 0,ab_test:n&&e.test||void 0,ab_eligibility:n&&["none","randomized","direct","cross_exposure"].includes(e.abEligibility)?e.abEligibility:void 0,ab_assigned_version:n&&Number.isSafeInteger(e.abAssignedVersion)&&e.abAssignedVersion>0?e.abAssignedVersion:void 0}),Ut=d=>(!d||d.event==="$snapshot"||(d.properties={...d.properties,...Jt,...c?{fingerprint:c}:{},fingerprint_ms:h,...p?{tracking_conflict:!0}:{},...O.length?{tracking_degraded:[...O]}:{},...ce?{linked_distinct_id:ce}:{}}),d),ae=()=>{let d=he("local",Re);return d==="granted"||d==="denied"?d:null},B=!n||e.consent===!1||ae()==="granted",be=n?"direct":"tag",Kt=()=>{if(m)return m;let d=Date.now(),g=(async()=>{let v=await(await _t.load({monitoring:!1})).get();c=(v==null?void 0:v.visitorId)||null,h=Date.now()-d})().catch(_=>{h===null&&(h=Date.now()-d),W("fingerprint",_)});return m=Promise.race([g,new Promise(_=>setTimeout(_,Nt))]).then(()=>{h===null&&(h=Nt)}),m},Qt=()=>{if(L)return;L=!0;let d=document.createElement("link");d.rel="preload",d.as="script",d.crossOrigin="anonymous",d.href=ne,document.head.appendChild(d)},Ye=()=>{let d=e.posthog||{};return Bt(d),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...ei,custom_campaign_params:[...Ae,"utm_id","utm_placement",...Pe],...d,...se?{bootstrap:se}:{},before_send:Ut,loaded:en}},qt=()=>{let d=window.posthog;if(d===M){if(M._i.unshift([e.key,Ye()]),f="injected",G)return;G=!0;let g=document.createElement("script");g.async=!0,g.crossOrigin="anonymous",g.src=ne,document.head.appendChild(g);return}if(G&&d&&!d.__loaded&&typeof d.init=="function"){f="injected",d.init(e.key,Ye()),u&&typeof u._execute_array=="function"&&u._execute_array(M);return}console.warn(Dt),be="conflict",f="idle"},ze=()=>{f!=="idle"||be==="conflict"||(f="waiting",Promise.resolve().then(async()=>{if(!B){f="idle";return}if(Qt(),await b("fingerprint",Kt,null),!B){f="idle";return}qt()}).catch(d=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${De(d)}): nothing is tracked by this snippet on this page.`),!G&&(f="idle",window.posthog===M&&(window.posthog=$t))}))};function en(d){u=d,f="loaded";let g=d.init;d.init=function(_,v,E){return Zt(E)&&Oe(),g.apply(this,arguments)},d.has_opted_out_capturing()&&d.opt_in_capturing({captureEventName:!1}),y=a||he("session",Ne),a&&(Me("session",Ne,a),d.get_distinct_id()!==a&&d.identify(a)),s=!0,re({iframes:!0}),b("contact",()=>{ie(zt,"url");for(let[_,v]of ge.splice(0))ie(_,v)});for(let _ of l.splice(0))_(!0)}return B?ze():(ae()==="denied"&&Ht(),re({iframes:!0})),t={version:We,get mode(){return be},consent:()=>n&&e.consent?ae():null,grant(){Me("local",Re,"granted"),B=!0,u?s||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),s=!0,u.capture("$pageview"),re({iframes:!0})):ze()},deny(){var d;if(Me("local",Re,"denied"),B=!1,ge=[],N=null,se=null,ce=null,!u){M._i.length=0,f==="injected"&&(f="idle");return}u.opt_out_capturing(),(d=u.stopSessionRecording)==null||d.call(u),u.set_config({disable_persistence:!0}),Ht(),s=!1,y=null,re()},onReady(d){s?d(!0):l.push(d)},fields:He,capture(d,g){try{for(let[_,v]of Jr(d,g,X))z(`${d}:${_}`,v)}catch{}s&&u.capture(d,g,d==="checkout"?{send_instantly:!0}:void 0)},contact(d){b("contact",()=>{let g=d&&typeof d=="object"?d:{},_={};if(g.email!=null&&g.email!==""){let v=q(g.email);v?_.email=v:z(`contact:email:${g.email}`,`contact(): ${JSON.stringify(g.email)} is not an email, and it is not sent.`)}if(g.phone!=null&&g.phone!==""){let E=typeof g.phone=="string"&&/^\s*(\+|00)/.test(g.phone)?ee(g.phone):null;E?_.phone=E:z(`contact:phone:${g.phone}`,`contact(): ${JSON.stringify(g.phone)} is not a phone in international format (+351\u2026), and it is not sent.`)}(_.email||_.phone)&&ie(_,"api")})},get posthog(){return u||(window.posthog===M?M:null)}},te(t)}function te(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function Ve(e,t=()=>({})){return{version:We,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},contact(){},posthog:null}}var Y=window.f10xTracking;window.__f10xTracking?window.f10xTracking=window.__f10xTracking:Y&&typeof Y=="object"&&!Y.version&&(typeof Y.key=="string"&&Y.key?ri(Y):console.warn("[@funnel10x/tracking] window.f10xTracking.key is missing: nothing is tracked."));function ri(e){let t=window.posthog;try{jt(e)}catch(n){window.posthog&&window.posthog.__f10x&&(window.posthog=t),window.__f10xTracking=void 0,typeof e.contact!="function"&&(e.contact=()=>{}),window.f10xTracking=e,console.warn(`[@funnel10x/tracking] the snippet failed to start (${n&&n.message||n}): nothing is tracked by it on this page, and window.f10xTracking has no version.`)}}})();
12
+ components: ${Lt(i)}
13
+ \`\`\``),a}}}function Cr(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${mt}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function Er(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&Cr(),await Ir(t);let r=wr({cache:{},debug:n});return Pr(r,n)}var It={load:Er,hashComponents:At,componentsToDebugString:Lt};var Fr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],Mr=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],Me=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],Te=["lp","narrative"],Tr=[...Fr,...Mr,...Me,...Te],Rr=new Set(Tr);function Re(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();Rr.has(i)&&r!==""&&!(i in t)&&(t[i]=r)}return t}var Vr=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,Wr=["email"],Nr=["phone","phonenumber","phone_number","tel","telefone"];function B(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Vr.test(t)&&t.length<=254?t:null}function oe(e,t){if(typeof e!="string")return null;let n=e.trim().replace(/\s*(ext\.?|x|#)\s*\d+$/i,""),o=n.replace(/\D/g,"");n.startsWith("00")&&(o=o.slice(2));let r=n.startsWith("+")||n.startsWith("00");if(!r&&t){let i=String(t).replace(/\D/g,""),a=["39","378","379"].includes(i);i&&!o.startsWith(i)&&(o=i+(a?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}var Or=/^[a-z][a-z0-9_]{0,31}$/;function ye(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Or.test(t)?t:null}function Pt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();!t.email&&Wr.includes(i)&&(t.email=B(r)||void 0),!t.phone&&Nr.includes(i)&&(t.phone=oe(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var We=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],Dr=/\/widget\/(form|survey|booking)\//,Rt=["buy.stripe.com","checkout.stripe.com"],Vt=e=>new Set([...Rt,...e||[]].map(t=>String(t).toLowerCase())),V=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},Gr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",be="data-f10x-field";function Ct(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(Gr);for(let[r,i]of Object.entries(t)){let a=e.querySelector(`[name="${CSS.escape(r)}"]`);if(a)a.tagName==="INPUT"&&(a.type==="hidden"||a.value===""||a.hasAttribute(be))&&(a.value=i);else if(o){let d=document.createElement("input");d.type="hidden",d.name=r,d.value=i,d.setAttribute(be,""),e.appendChild(d)}}}var Et=new WeakMap;function $r(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=Et.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,Et.set(t,n),t.setAttribute(be,""),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))))}}function Ve(e,t,n){let o;try{o=new URL(e,n)}catch{return null}if(o.protocol!=="http:"&&o.protocol!=="https:")return null;let r=o.href;for(let[i,a]of Object.entries(t))We.includes(i)?o.searchParams.set(i,a):o.searchParams.has(i)||o.searchParams.set(i,a);return Rt.includes(o.hostname)&&t.ph_distinct_id&&!o.searchParams.has("client_reference_id")&&o.searchParams.set("client_reference_id",t.ph_distinct_id),o.href===r?null:o.href}var Ft=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function Ne({values:e,checkoutHosts:t,addFields:n,onError:o,onCheckout:r}){let i=Vt(t),a=new WeakSet,d=!1,f=0,u=p=>{for(let h of document.querySelectorAll("a[href]")){if(!i.has(Ft(h.getAttribute("href"))))continue;let b=Ve(h.getAttribute("href"),p,location.href);b&&h.setAttribute("href",b)}},s=p=>{for(let h of document.querySelectorAll("iframe[src]")){let b=h.getAttribute("src");if(!Dr.test(b))continue;let A=Ve(b,p,location.href);A&&h.setAttribute("src",A)}},c=(p={})=>{p.iframes&&(d=!0);let h=e();for(let b of document.forms)Ct(b,h,n);$r(h),u(h),d&&s(h)},y=()=>{f||(f=setTimeout(V(()=>{f=0,c()},o),50))};return new MutationObserver(y).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",V(p=>Ct(p.target,e(),n),o),!0),document.addEventListener("click",V(p=>{let h=p.target instanceof Element?p.target.closest("a[href]"):null,b=h?Ft(h.getAttribute("href")):"";if(!h||!i.has(b))return;let A=Ve(h.getAttribute("href"),e(),location.href);A&&h.setAttribute("href",A),r&&!a.has(h)&&r(b)&&a.add(h)},o),!0),V(c,o)(),{refresh:c}}var $="_f10x",Hr=120*1e3,Zr=200;function Wt({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Nt(e,t){let n;try{n=new URL(e).searchParams.get($)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),i=n.lastIndexOf(".");if(o<1||r!==o+2||i<=r+1)return null;let a=n.slice(0,o),d=n.slice(o+1,r),f=n.slice(r+1,i),u=n.slice(i+1);if(!/^[0-9a-z]{1,12}$/.test(a)||d!=="i"&&d!=="a"||f.length>Zr||/\s/.test(f))return null;let s=t-parseInt(a,36);return Math.abs(s)<Hr?{distinctID:f,sessionID:u||null,identified:d==="i"}:null}var jr=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/;function Ot(e){let t=Array.isArray(e)?e:typeof e=="string"?e.split(/[\s,]+/):[],n=[];for(let o of t){let r=String(o).trim();if(!r)continue;let i=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");jr.test(i)?n.push(i):console.warn(`[@funnel10x/tracking] linkedDomains: "${r}" is not a host or a registrable domain, and it is ignored (a domain covers its subdomains: write marca.pt, not *.marca.pt).`)}return n}function Dt({hosts:e,checkoutHosts:t,value:n,onError:o}){let r=Vt(t),i=(u,s)=>s===u||s.endsWith(`.${u}`),a=u=>{if(!u||u===location.hostname||r.has(u))return!1;let s=location.hostname.toLowerCase();return e.some(c=>i(c,u))&&!e.some(c=>i(c,u)&&i(c,s))},d=u=>{try{let s=new URL(u,location.href);return(s.protocol==="http:"||s.protocol==="https:")&&a(s.hostname.toLowerCase())?s:null}catch{return null}},f=V(u=>{if(u.type==="auxclick"&&u.button!==1)return;let s=u.target instanceof Element?u.target.closest("a[href]"):null,c=s&&d(s.getAttribute("href")),y=c&&n();y&&(c.searchParams.set($,y),s.setAttribute("href",c.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,f,!0);document.addEventListener("contextmenu",V(u=>{let s=u.target instanceof Element?u.target.closest("a[href]"):null;if(!s)return;let c;try{c=new URL(s.getAttribute("href"),location.href)}catch{return}c.searchParams.has($)&&(c.searchParams.delete($),s.setAttribute("href",c.href))},o),!0),document.addEventListener("submit",V(u=>{let s=u.target;if(!(s instanceof HTMLFormElement))return;let c=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,y=d((c||s).getAttribute(c?"formaction":"action")||""),p=y&&n();if(!p)return;let h=(c&&c.getAttribute("formmethod")||s.getAttribute("method")||"get").toLowerCase();if(h==="get"){let b=s.querySelector(`input[name="${$}"]`);b||(b=document.createElement("input"),b.type="hidden",b.name=$,b.setAttribute(be,""),s.appendChild(b)),b.value=p}else h==="post"&&(y.searchParams.set($,p),(c||s).setAttribute(c?"formaction":"action",y.href))},o),!0)}var Yr=/e-?mail/i,zr=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Gt=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),$t=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Ht=e=>e.type==="email"||Yr.test($t(e)),Zt=e=>e.type==="tel"||e.type!=="email"&&zr.test($t(e));function Xr(e){let t=e.closest(".iti")||e.closest('.form-builder--item, [class*="phone"]')||e.parentElement,n=t&&t.querySelector('.iti__selected-dial-code, [class*="dial-code"], [class*="dialCode"]'),o=n&&n.textContent;if(o&&/\+?\d{1,4}/.test(o))return o.match(/\d{1,4}/)[0];let r=t&&t.querySelector(".iti__selected-flag, .iti__selected-country"),i=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return i?i[1]:null}function Br(e){if(!(e instanceof HTMLInputElement)||Gt.has(e.type))return{};if(Ht(e)){let t=B(e.value);return t?{email:t}:{}}if(Zt(e)){let t=oe(e.value,Xr(e));return t?{phone:t}:{}}return{}}function Mt(e){let t={};for(let n of e){let o=Br(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function Jr(e){let t=e.parentElement;for(let n=0;t&&t!==document.body&&t!==document.documentElement&&n<12;n++,t=t.parentElement)if([...t.querySelectorAll("input")].some(r=>!Gt.has(r.type)&&(Ht(r)||Zt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Ur=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity()),qr="acquisition_type";function Tt(e){let t=e.closest("[data-acquisition-type]"),n=e.querySelector(`[name="${qr}"]`);return{attribute:t?t.getAttribute("data-acquisition-type"):null,field:n&&typeof n.value=="string"?n.value:null}}function jt(e,t){document.addEventListener("submit",V(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=Mt(n.target.querySelectorAll("input"));(o.email||o.phone)&&e(o,"form",Tt(n.target))},t),!0),document.addEventListener("click",V(n=>{let o=n.target instanceof Element?n.target.closest("button[type=submit], input[type=submit]"):null;if(!o||o.closest("form")||o.getAttribute("type")!=="submit")return;let r=Jr(o);if(!r||Ur(r))return;let i=Mt(r.querySelectorAll("input"));(i.email||i.phone)&&e(i,"form",Tt(r))},t),!0)}var $e="2.6.0",Oe="f10x_consent",je="f10x_login",Kr=10,Qr=typeof N=="object"?N:[],ei="1",ti=/^\d+\.\d+\.\d+$/,He="f10x_contact_id",ni="contact_id",oi=/^[A-Za-z0-9_-]{6,128}$/,Yt=1e3,zt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",ri="[@funnel10x/tracking] another PostHog init reached this page after the snippet (a PostHog tag or snippet): it is ignored, and every event carries tracking_conflict. Remove it: this snippet is PostHog.",ii=["snippet","page"],si=e=>`[@funnel10x/tracking] ${e===void 0?"this site does not declare who sends checkout":`checkout is ${JSON.stringify(e)}, which is neither 'snippet' nor 'page'`}: the snippet does not send checkout. Set checkout: 'snippet' (the checkout links are <a>) or checkout: 'page' (the page calls f10xTracking.capture('checkout')) in the init.`,Xt={Purchase:"purchase",purchase_completed:"purchase",order_completed:"purchase",InitiateCheckout:"checkout",initiate_checkout:"checkout",checkout_started:"checkout",begin_checkout:"checkout",CompleteRegistration:"registration_completed",registration:"registration_completed",sign_up:"registration_completed",webinar_registration:"registration_completed",appointment_booked:"appointment_scheduled",booking:"appointment_scheduled",Schedule:"appointment_scheduled",call_booked:"appointment_scheduled",Lead:"contact_captured"},ci=["purchase","registration_completed","appointment_scheduled"];function ai(e,t,n){let o=[],r=t&&typeof t=="object"?t:{},i=Object.prototype.hasOwnProperty.call(Xt,e)?Xt[e]:null;if(i){let a=i==="contact_captured"?", which the page sends through f10xTracking.contact({ email, phone })":ci.includes(i)&&i!=="purchase"?", which only the server sends":"";o.push(["synonym",`"${e}" is not in the funnel event contract and the warehouse ignores it: the contract name is "${i}"${a}.`])}if(e==="purchase"){o.push(["server","purchase belongs to the server (the admin sends it from Stripe): this one from the page still counts until the server sends it in this project, and from that day it counts twice, so remove it then."]);let a=[];typeof r.session_id=="string"&&r.session_id.startsWith("cs_")||a.push("session_id (the cs_\u2026 of the Stripe checkout session)"),typeof r.currency=="string"&&r.currency||a.push("currency");let d=typeof r.amount_total=="string"&&r.amount_total.trim()?Number(r.amount_total):r.amount_total;typeof d=="number"&&Number.isFinite(d)||a.push("amount_total");for(let f of a)o.push([`missing:${f}`,`purchase without ${f}: it is sent, and the column stays empty in the warehouse.`])}return(e==="registration_completed"||e==="appointment_scheduled")&&o.push(["server",`${e} is sent only by the server, from the system that records it (the CRM): the warehouse ignores one sent from a page, even when an app gives a callback.`]),e==="contact_captured"&&o.push(["contact","contact_captured by hand: call f10xTracking.contact({ email, phone }) instead, which normalizes, sends each value once per page and waits for the consent."]),e==="checkout"&&n==="snippet"&&o.push(["twice","checkout from the page on a site that declares checkout: 'snippet': the snippet already sends it on the click of a checkout link, so this one counts it twice."]),o}var Ze=e=>e&&e.message||String(e),ui=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${Ze(t)}): PostHog still measures without it, and every event carries tracking_degraded.`,li=()=>{try{if(typeof performance!="undefined"&&typeof performance.now=="function")return Date.now()-performance.now()}catch{}return Date.now()};function di(e,t){let n=t.persistence_name||t.cookie_name;return n?`ph_${n}`:`ph_${String(e||"").trim().replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")}_posthog`}function fi(e){let t=o=>!!(o&&typeof o=="object"&&o.distinct_id),n=o=>{try{return o?JSON.parse(o):null}catch{return null}};try{for(let o of document.cookie.split(";")){let r=o.indexOf("=");if(r>0&&o.slice(0,r).trim()===e&&t(n(decodeURIComponent(o.slice(r+1).trim()))))return!0}}catch{}return t(n(ie("local",e)))||t(n(ie("session",e)))}var mi={defaults:"2026-08-30",person_profiles:"identified_only",strict_script_versioning:!0},Ye=e=>{try{return e==="session"?window.sessionStorage:window.localStorage}catch{return null}},ie=(e,t)=>{var n,o;try{return(o=(n=Ye(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},we=(e,t,n)=>{var o;try{(o=Ye(e))==null||o.setItem(t,n)}catch{}};function Bt(e){let t={};try{let n=new URL(e).searchParams;for(let o of We){let r=n.get(o);r&&oi.test(r)&&(t[o]=r)}}catch{}return t}function pi(e,t){let n=`${e}:${t}`,o=3735928559,r=1103547991;for(let i=0;i<n.length;i++){let a=n.charCodeAt(i);o=Math.imul(o^a,2654435761),r=Math.imul(r^a,1597334677)}return o=Math.imul(o^o>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(o^o>>>13,3266489909),(r>>>0).toString(16).padStart(8,"0")+(o>>>0).toString(16).padStart(8,"0")}function hi(){try{let e=new Uint8Array(12);return window.crypto.getRandomValues(e),Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}catch{return`${Math.random().toString(36).slice(2)}${Math.random().toString(36).slice(2)}`}}function gi(){try{let e=JSON.parse(ie("local",je)||"null");return e&&typeof e.salt=="string"&&e.salt&&typeof e.id=="string"&&Array.isArray(e.emails)?e:null}catch{return null}}function yi(e){try{if(typeof e._isIdentified=="function")return!!e._isIdentified()}catch{}return e.get_property("$user_state")==="identified"}var De=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Jt(){for(let n of["local","session"]){let o=Ye(n);if(o)try{for(let r of Object.keys(o))(r.startsWith("ph_")||r===He||r===je)&&o.removeItem(r)}catch{}}let e=location.hostname.split("."),t=e.map((n,o)=>e.slice(o).join(".")).filter(n=>n.includes("."));for(let n of document.cookie.split(";")){let o=n.split("=")[0].trim();if(o.startsWith("ph_")){document.cookie=`${o}=; Max-Age=0; path=/`;for(let r of t)document.cookie=`${o}=; Max-Age=0; path=/; domain=.${r}`}}}function bi(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Ut=e=>e==null||e==="posthog";function wi(e){let t=[],n=o=>{for(let r of Qr)o[r]=(...i)=>{o.push([r,...i])}};return n(t),t._i=[],t.__SV=1,t.__f10x=!0,t.people=[],t.toString=o=>`posthog${o?"":" (stub)"}`,t.people.toString=()=>`${t.toString(1)}.people (stub)`,t.init=(o,r,i)=>{Ut(i)?e():t[i]||(t[i]=[],n(t[i])),t._i.push([o,r,i])},t}function _i(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=ei;return t&&(ti.test(t)?o=t:console.warn(`[@funnel10x/tracking] sdkVersion "${t}" is not an exact version (1.2.3): the 1.x channel is loaded.`)),`${n}/static/${o}/array.js`}function qt(e={}){if(window.__f10xTracking)return re(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=Ge("preview"),re(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let l=De({...Re(o),...Bt(o)}),m=!1,g=_=>{m||console.warn(`[@funnel10x/tracking] the dom extra failed (${Ze(_)}): the form in this frame may miss the fields from its URL.`),m=!0};try{Ne({values:()=>l,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:g})}catch(_){g(_)}return t=Ge("frame",()=>l),re(t)}if(bi())return console.warn(zt),t=Ge("conflict"),re(t);let i=Re(o),a=Bt(o)[ni]||null,d=[],f="idle",u=null,s=!1,c=null,y=null,p=null,h=!1,b=null,A=!1,H=!1,se=_i(e.apiHost,e.sdkVersion),Z=[],D=(l,m)=>{Z.includes(l)||(Z.push(l),console.warn(ui(l,m)))},ce=new Set,M=(l,m)=>{ce.has(l)||(ce.add(l),console.warn(`[@funnel10x/tracking] ${m}`))},U=ii.includes(e.checkout)?e.checkout:null;U||console.warn(si(e.checkout));let w=(l,m,g)=>{try{return m()}catch(_){return D(l,_),g}},ze=()=>{h||console.warn(ri),h=!0},W=wi(ze),Qt=window.posthog;window.posthog=W;let Xe=()=>{let l={...i};return s&&(l.ph_anon_id=u.get_property("$device_id"),l.ph_distinct_id=u.get_distinct_id(),l.ph_session_id=u.get_session_id(),b&&(l.contact_id=b)),De(l)},en=l=>s?(u.capture("checkout",{checkout_host:l},{send_instantly:!0}),!0):!1,Be=w("dom",()=>Ne({values:Xe,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:l=>D("dom",l),onCheckout:U==="snippet"?en:void 0}),null),ae=l=>{Be&&w("dom",()=>Be.refresh(l))},_e=new Set,ke=[],ue=(l,m,g=null)=>{if(!s){n&&q()==="denied"||ke.push([l,m,g]);return}let _=(I,T)=>g?`${I}:${T}:${g}`:`${I}:${T}`,v=Object.fromEntries(Object.entries(l).filter(([I,T])=>T&&!_e.has(_(I,T))));if(Object.keys(v).length){for(let[I,T]of Object.entries(v))_e.add(`${I}:${T}`),g&&_e.add(_(I,T));u.capture("contact_captured",{...v,contact_source:m,...g?{acquisition_type:g}:{}})}},Je=new Set,Se=[],Ue=l=>{if(!s){n&&q()==="denied"||Se.push(l);return}if(Je.has(l))return;if(Je.add(l),yi(u)){M("login:identified","login(): PostHog already has this browser as identified (an identify ran here before), so the login is not sent: the admin links this browser through that identify.");return}let m=u.get_distinct_id(),g=gi(),_=g?g.salt:hi(),v=pi(_,l),I=g&&g.id===m?g.emails.filter(T=>typeof T=="string"):[];I.includes(v)||(u.capture("contact_captured",{email:l,contact_source:"login"}),we("local",je,JSON.stringify({salt:_,id:m,emails:[...I,v].slice(-Kr)})))},tn=l=>{let m=l&&l.attribute!=null?String(l.attribute):null,g=l&&l.field!=null&&String(l.field).trim()!==""?String(l.field):null,_=m!=null?m:g;if(_===null)return null;let v=ye(_);return v?m!==null&&g!==null&&ye(g)!==v&&M(`acquisition_type:${m}:${g}`,`data-acquisition-type is ${JSON.stringify(m)} and the acquisition_type field is ${JSON.stringify(g)}: contact_captured goes with the attribute.`):M(`acquisition_type:${_}`,`${m!==null?"data-acquisition-type":"the acquisition_type field"} is ${JSON.stringify(_)}, which is not an acquisition type key (client, people, supplier, partner, asset): contact_captured goes without it.`),v},nn=w("contact",()=>Pt(o),{});w("contact",()=>jt((l,m,g)=>ue(l,m,tn(g)),l=>D("contact",l)));let ve=w("linker",()=>Ot(e.linkedDomains),[]),G=ve.length?w("linker",()=>Nt(o,li()),null):null,qe=!1,le=null,de=null,on=()=>s?Wt({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;ve.length&&w("linker",()=>Dt({hosts:ve,checkoutHosts:e.checkoutHosts,value:on,onError:l=>D("linker",l)}));let rn=l=>{!G||qe||(qe=!0,w("linker",()=>{let m=l.bootstrap&&typeof l.bootstrap=="object"?l.bootstrap:{};if(m.distinctID||l.identity_distinct_id||fi(di(e.key,l))){de=G.distinctID;return}le={...m,distinctID:G.distinctID,isIdentifiedID:G.identified,...G.sessionID&&!m.sessionID?{sessionID:G.sessionID}:{}}}))},sn=De({tracking_version:$e,page_version:n?e.pageVersion||1:void 0,page_revision:n&&/^[a-f0-9]{64}$/.test(e.pageRevision||"")?e.pageRevision:void 0,ab_test:n&&e.test||void 0,ab_eligibility:n&&["none","randomized","direct","cross_exposure"].includes(e.abEligibility)?e.abEligibility:void 0,ab_assigned_version:n&&Number.isSafeInteger(e.abAssignedVersion)&&e.abAssignedVersion>0?e.abAssignedVersion:void 0}),cn=l=>(!l||l.event==="$snapshot"||(l.properties={...l.properties,...sn,...c?{fingerprint:c}:{},fingerprint_ms:y,...h?{tracking_conflict:!0}:{},...Z.length?{tracking_degraded:[...Z]}:{},...de?{linked_distinct_id:de}:{}}),l),q=()=>{let l=ie("local",Oe);return l==="granted"||l==="denied"?l:null},K=!n||e.consent===!1||q()==="granted",xe=n?"direct":"tag",an=()=>{if(p)return p;let l=Date.now(),m=(async()=>{let _=await(await It.load({monitoring:!1})).get();c=(_==null?void 0:_.visitorId)||null,y=Date.now()-l})().catch(g=>{y===null&&(y=Date.now()-l),D("fingerprint",g)});return p=Promise.race([m,new Promise(g=>setTimeout(g,Yt))]).then(()=>{y===null&&(y=Yt)}),p},un=()=>{if(A)return;A=!0;let l=document.createElement("link");l.rel="preload",l.as="script",l.crossOrigin="anonymous",l.href=se,document.head.appendChild(l)},Ke=()=>{let l=e.posthog||{};return rn(l),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...mi,custom_campaign_params:[...Me,"utm_id","utm_placement",...Te],...l,...le?{bootstrap:le}:{},before_send:cn,loaded:dn}},ln=()=>{let l=window.posthog;if(l===W){if(W._i.unshift([e.key,Ke()]),f="injected",H)return;H=!0;let m=document.createElement("script");m.async=!0,m.crossOrigin="anonymous",m.src=se,document.head.appendChild(m);return}if(H&&l&&!l.__loaded&&typeof l.init=="function"){f="injected",l.init(e.key,Ke()),u&&typeof u._execute_array=="function"&&u._execute_array(W);return}console.warn(zt),xe="conflict",f="idle"},Qe=()=>{f!=="idle"||xe==="conflict"||(f="waiting",Promise.resolve().then(async()=>{if(!K){f="idle";return}if(un(),await w("fingerprint",an,null),!K){f="idle";return}ln()}).catch(l=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${Ze(l)}): nothing is tracked by this snippet on this page.`),!H&&(f="idle",window.posthog===W&&(window.posthog=Qt))}))};function dn(l){u=l,f="loaded";let m=l.init;l.init=function(g,_,v){return Ut(v)&&ze(),m.apply(this,arguments)},l.has_opted_out_capturing()&&l.opt_in_capturing({captureEventName:!1}),b=a||ie("session",He),a&&(we("session",He,a),l.get_distinct_id()!==a&&l.identify(a)),s=!0,ae({iframes:!0}),w("contact",()=>{ue(nn,"url");for(let[g,_,v]of ke.splice(0))ue(g,_,v);for(let g of Se.splice(0))Ue(g)});for(let g of d.splice(0))g(!0)}return K?Qe():(q()==="denied"&&Jt(),ae({iframes:!0})),t={version:$e,get mode(){return xe},consent:()=>n&&e.consent?q():null,grant(){we("local",Oe,"granted"),K=!0,u?s||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),s=!0,u.capture("$pageview"),ae({iframes:!0})):Qe()},deny(){var l;if(we("local",Oe,"denied"),K=!1,ke=[],Se=[],G=null,le=null,de=null,!u){W._i.length=0,f==="injected"&&(f="idle");return}u.opt_out_capturing(),(l=u.stopSessionRecording)==null||l.call(u),u.set_config({disable_persistence:!0}),Jt(),s=!1,b=null,ae()},onReady(l){s?l(!0):d.push(l)},fields:Xe,capture(l,m){try{for(let[g,_]of ai(l,m,U))M(`${l}:${g}`,_)}catch{}s&&u.capture(l,m,l==="checkout"?{send_instantly:!0}:void 0)},contact(l){w("contact",()=>{let m=l&&typeof l=="object"?l:{},g={};if(m.email!=null&&m.email!==""){let v=B(m.email);v?g.email=v:M(`contact:email:${m.email}`,`contact(): ${JSON.stringify(m.email)} is not an email, and it is not sent.`)}if(m.phone!=null&&m.phone!==""){let I=typeof m.phone=="string"&&/^\s*(\+|00)/.test(m.phone)?oe(m.phone):null;I?g.phone=I:M(`contact:phone:${m.phone}`,`contact(): ${JSON.stringify(m.phone)} is not a phone in international format (+351\u2026), and it is not sent.`)}let _=null;m.acquisitionType!=null&&m.acquisitionType!==""&&(_=ye(m.acquisitionType),_||M(`contact:acquisition_type:${m.acquisitionType}`,`contact(): acquisitionType ${JSON.stringify(m.acquisitionType)} is not an acquisition type key (client, people, supplier, partner, asset): contact_captured goes without it.`)),(g.email||g.phone)&&ue(g,"api",_)})},login(l){w("contact",()=>{var _;let m=l&&typeof l=="object"?l:{},g=m.email!=null&&m.email!==""?B(m.email):null;if(!g){M(`login:email:${m.email}`,`login(): ${JSON.stringify((_=m.email)!=null?_:null)} is not an email, and nothing is sent.`);return}Ue(g)})},get posthog(){return u||(window.posthog===W?W:null)}},re(t)}function re(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function Ge(e,t=()=>({})){return{version:$e,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},contact(){},login(){},posthog:null}}var J=window.f10xTracking;window.__f10xTracking?(window.f10xTracking=window.__f10xTracking,Kt(window.__f10xTracking)):J&&typeof J=="object"&&!J.version&&(typeof J.key=="string"&&J.key?ki(J):console.warn("[@funnel10x/tracking] window.f10xTracking.key is missing: nothing is tracked."));function Kt(e){let t=Array.isArray(window.__f10xLogins)?window.__f10xLogins.splice(0):[];for(let n of t)e.login(n)}function ki(e){let t=window.posthog;try{Kt(qt(e))}catch(n){window.posthog&&window.posthog.__f10x&&(window.posthog=t),window.__f10xTracking=void 0,typeof e.contact!="function"&&(e.contact=()=>{}),e.login=()=>{},Array.isArray(window.__f10xLogins)&&(window.__f10xLogins.length=0),window.f10xTracking=e,console.warn(`[@funnel10x/tracking] the snippet failed to start (${n&&n.message||n}): nothing is tracked by it on this page, and window.f10xTracking has no version.`)}}})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@funnel10x/tracking",
3
- "version": "2.4.0",
3
+ "version": "2.6.0",
4
4
  "description": "Funnel 10X tracking snippet: the official PostHog SDK from its CDN, with FingerprintJS, the attribution parameters in forms and checkout links, and the consent switch of a direct site.",
5
5
  "license": "MIT",
6
6
  "type": "module",