altcha 3.0.1 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/README.md +4 -4
  2. package/dist/external/altcha.css +1 -1
  3. package/dist/external/altcha.js +38 -23
  4. package/dist/external/altcha.min.js +1 -1
  5. package/dist/external/altcha.umd.cjs +39 -24
  6. package/dist/external/altcha.umd.min.cjs +1 -1
  7. package/dist/i18n/af.js +2 -2
  8. package/dist/i18n/af.umd.cjs +2 -2
  9. package/dist/i18n/africa.js +15 -15
  10. package/dist/i18n/africa.umd.cjs +15 -15
  11. package/dist/i18n/all.js +124 -124
  12. package/dist/i18n/all.umd.cjs +124 -124
  13. package/dist/i18n/am.js +2 -2
  14. package/dist/i18n/am.umd.cjs +2 -2
  15. package/dist/i18n/americas.js +7 -7
  16. package/dist/i18n/americas.umd.cjs +7 -7
  17. package/dist/i18n/ar.js +2 -2
  18. package/dist/i18n/ar.umd.cjs +2 -2
  19. package/dist/i18n/asia.js +48 -48
  20. package/dist/i18n/asia.umd.cjs +48 -48
  21. package/dist/i18n/az.js +2 -2
  22. package/dist/i18n/az.umd.cjs +2 -2
  23. package/dist/i18n/be.js +2 -2
  24. package/dist/i18n/be.umd.cjs +2 -2
  25. package/dist/i18n/bg.js +2 -2
  26. package/dist/i18n/bg.umd.cjs +2 -2
  27. package/dist/i18n/bn.js +2 -2
  28. package/dist/i18n/bn.umd.cjs +2 -2
  29. package/dist/i18n/bs.js +2 -2
  30. package/dist/i18n/bs.umd.cjs +2 -2
  31. package/dist/i18n/ca.js +2 -2
  32. package/dist/i18n/ca.umd.cjs +2 -2
  33. package/dist/i18n/cs.js +2 -2
  34. package/dist/i18n/cs.umd.cjs +2 -2
  35. package/dist/i18n/da.js +2 -2
  36. package/dist/i18n/da.umd.cjs +2 -2
  37. package/dist/i18n/de.js +2 -2
  38. package/dist/i18n/de.umd.cjs +2 -2
  39. package/dist/i18n/el.js +2 -2
  40. package/dist/i18n/el.umd.cjs +2 -2
  41. package/dist/i18n/en.js +2 -2
  42. package/dist/i18n/en.umd.cjs +2 -2
  43. package/dist/i18n/es-419.js +2 -2
  44. package/dist/i18n/es-419.umd.cjs +2 -2
  45. package/dist/i18n/es-es.js +2 -2
  46. package/dist/i18n/es-es.umd.cjs +2 -2
  47. package/dist/i18n/et.js +2 -2
  48. package/dist/i18n/et.umd.cjs +2 -2
  49. package/dist/i18n/eu.js +2 -2
  50. package/dist/i18n/eu.umd.cjs +2 -2
  51. package/dist/i18n/europe.js +75 -75
  52. package/dist/i18n/europe.umd.cjs +75 -75
  53. package/dist/i18n/fa.js +2 -2
  54. package/dist/i18n/fa.umd.cjs +2 -2
  55. package/dist/i18n/fi.js +2 -2
  56. package/dist/i18n/fi.umd.cjs +2 -2
  57. package/dist/i18n/fr-ca.js +3 -3
  58. package/dist/i18n/fr-ca.umd.cjs +3 -3
  59. package/dist/i18n/fr-fr.js +3 -3
  60. package/dist/i18n/fr-fr.umd.cjs +3 -3
  61. package/dist/i18n/ga.js +2 -2
  62. package/dist/i18n/ga.umd.cjs +2 -2
  63. package/dist/i18n/he.js +2 -2
  64. package/dist/i18n/he.umd.cjs +2 -2
  65. package/dist/i18n/hi.js +2 -2
  66. package/dist/i18n/hi.umd.cjs +2 -2
  67. package/dist/i18n/hr.js +2 -2
  68. package/dist/i18n/hr.umd.cjs +2 -2
  69. package/dist/i18n/hu.js +2 -2
  70. package/dist/i18n/hu.umd.cjs +2 -2
  71. package/dist/i18n/hy.js +2 -2
  72. package/dist/i18n/hy.umd.cjs +2 -2
  73. package/dist/i18n/id.js +2 -2
  74. package/dist/i18n/id.umd.cjs +2 -2
  75. package/dist/i18n/is.js +2 -2
  76. package/dist/i18n/is.umd.cjs +2 -2
  77. package/dist/i18n/it.js +2 -2
  78. package/dist/i18n/it.umd.cjs +2 -2
  79. package/dist/i18n/ja.js +2 -2
  80. package/dist/i18n/ja.umd.cjs +2 -2
  81. package/dist/i18n/ka.js +2 -2
  82. package/dist/i18n/ka.umd.cjs +2 -2
  83. package/dist/i18n/kk.js +2 -2
  84. package/dist/i18n/kk.umd.cjs +2 -2
  85. package/dist/i18n/ko.js +2 -2
  86. package/dist/i18n/ko.umd.cjs +2 -2
  87. package/dist/i18n/lb.js +2 -2
  88. package/dist/i18n/lb.umd.cjs +2 -2
  89. package/dist/i18n/lt.js +2 -2
  90. package/dist/i18n/lt.umd.cjs +2 -2
  91. package/dist/i18n/lv.js +2 -2
  92. package/dist/i18n/lv.umd.cjs +2 -2
  93. package/dist/i18n/me.js +2 -2
  94. package/dist/i18n/me.umd.cjs +2 -2
  95. package/dist/i18n/mk.js +2 -2
  96. package/dist/i18n/mk.umd.cjs +2 -2
  97. package/dist/i18n/mr.js +2 -2
  98. package/dist/i18n/mr.umd.cjs +2 -2
  99. package/dist/i18n/mt.js +2 -2
  100. package/dist/i18n/mt.umd.cjs +2 -2
  101. package/dist/i18n/nb.js +2 -2
  102. package/dist/i18n/nb.umd.cjs +2 -2
  103. package/dist/i18n/nl.js +2 -2
  104. package/dist/i18n/nl.umd.cjs +2 -2
  105. package/dist/i18n/pl.js +2 -2
  106. package/dist/i18n/pl.umd.cjs +2 -2
  107. package/dist/i18n/pt-br.js +2 -2
  108. package/dist/i18n/pt-br.umd.cjs +2 -2
  109. package/dist/i18n/pt-pt.js +2 -2
  110. package/dist/i18n/pt-pt.umd.cjs +2 -2
  111. package/dist/i18n/ro.js +2 -2
  112. package/dist/i18n/ro.umd.cjs +2 -2
  113. package/dist/i18n/ru.js +2 -2
  114. package/dist/i18n/ru.umd.cjs +2 -2
  115. package/dist/i18n/sk.js +2 -2
  116. package/dist/i18n/sk.umd.cjs +2 -2
  117. package/dist/i18n/sl.js +2 -2
  118. package/dist/i18n/sl.umd.cjs +2 -2
  119. package/dist/i18n/sq.js +2 -2
  120. package/dist/i18n/sq.umd.cjs +2 -2
  121. package/dist/i18n/sr.js +2 -2
  122. package/dist/i18n/sr.umd.cjs +2 -2
  123. package/dist/i18n/sv.js +2 -2
  124. package/dist/i18n/sv.umd.cjs +2 -2
  125. package/dist/i18n/sw.js +2 -2
  126. package/dist/i18n/sw.umd.cjs +2 -2
  127. package/dist/i18n/ta.js +2 -2
  128. package/dist/i18n/ta.umd.cjs +2 -2
  129. package/dist/i18n/te.js +2 -2
  130. package/dist/i18n/te.umd.cjs +2 -2
  131. package/dist/i18n/th.js +2 -2
  132. package/dist/i18n/th.umd.cjs +2 -2
  133. package/dist/i18n/tk.js +2 -2
  134. package/dist/i18n/tk.umd.cjs +2 -2
  135. package/dist/i18n/tr.js +2 -2
  136. package/dist/i18n/tr.umd.cjs +2 -2
  137. package/dist/i18n/uk.js +2 -2
  138. package/dist/i18n/uk.umd.cjs +2 -2
  139. package/dist/i18n/ur.js +2 -2
  140. package/dist/i18n/ur.umd.cjs +2 -2
  141. package/dist/i18n/uz.js +2 -2
  142. package/dist/i18n/uz.umd.cjs +2 -2
  143. package/dist/i18n/vi.js +2 -2
  144. package/dist/i18n/vi.umd.cjs +2 -2
  145. package/dist/i18n/yo.js +2 -2
  146. package/dist/i18n/yo.umd.cjs +2 -2
  147. package/dist/i18n/zh-cn.js +2 -2
  148. package/dist/i18n/zh-cn.umd.cjs +2 -2
  149. package/dist/i18n/zh-hk.js +2 -2
  150. package/dist/i18n/zh-hk.umd.cjs +2 -2
  151. package/dist/i18n/zh-tw.js +2 -2
  152. package/dist/i18n/zh-tw.umd.cjs +2 -2
  153. package/dist/lib/index.js +4 -2
  154. package/dist/lib/index.min.js +1 -1
  155. package/dist/lib/index.umd.cjs +4 -2
  156. package/dist/lib/index.umd.min.cjs +1 -1
  157. package/dist/main/altcha.i18n.js +171 -152
  158. package/dist/main/altcha.i18n.min.js +1 -1
  159. package/dist/main/altcha.i18n.umd.cjs +171 -152
  160. package/dist/main/altcha.i18n.umd.min.cjs +1 -1
  161. package/dist/main/altcha.js +47 -28
  162. package/dist/main/altcha.min.js +1 -1
  163. package/dist/main/altcha.umd.cjs +47 -28
  164. package/dist/main/altcha.umd.min.cjs +1 -1
  165. package/dist/plugins/obfuscation.plugin.js +4 -2
  166. package/dist/plugins/obfuscation.plugin.min.js +1 -1
  167. package/dist/plugins/obfuscation.plugin.umd.cjs +4 -2
  168. package/dist/plugins/obfuscation.plugin.umd.min.cjs +1 -1
  169. package/dist/workers/argon2id.js +4 -2
  170. package/dist/workers/pbkdf2.js +4 -2
  171. package/dist/workers/scrypt.js +4 -2
  172. package/dist/workers/sha.js +4 -2
  173. package/package.json +1 -1
@@ -4971,14 +4971,14 @@
4971
4971
  plugins: /* @__PURE__ */ new Set()
4972
4972
  };
4973
4973
  const i18n$Z = {
4974
- ariaLinkLabel: "Visit Altcha.org",
4974
+ ariaLinkLabel: "Altcha (official website)",
4975
4975
  cancel: "Cancel",
4976
4976
  enterCode: "Enter code",
4977
4977
  enterCodeAria: "Enter code you hear. Press Space to play audio.",
4978
4978
  enterCodeFromImage: "To proceed, please enter the code from the image below.",
4979
4979
  error: "Verification failed. Try again later.",
4980
4980
  expired: "Verification expired. Try again.",
4981
- footer: 'Protected by <a href="https://altcha.org/" target="_blank" aria-label="Visit Altcha.org">ALTCHA</a>',
4981
+ footer: 'Protected by <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (official website)">ALTCHA</a>',
4982
4982
  getAudioChallenge: "Get an audio challenge",
4983
4983
  label: "I'm not a robot",
4984
4984
  loading: "Loading...",
@@ -4996,10 +4996,14 @@
4996
4996
  if (typeof window !== "undefined") {
4997
4997
  ((window.__svelte ??= {}).v ??= /* @__PURE__ */ new Set()).add(PUBLIC_VERSION);
4998
4998
  }
4999
- var root$7 = /* @__PURE__ */ from_html(`<label class="altcha-checkbox"><input/> <svg width="12" height="9" viewBox="0 0 12 9"><polyline points="1 5 4 8 11 1"></polyline></svg> <div class="altcha-spinner altcha-checkbox-spinner" aria-hidden="true"></div></label>`);
4999
+ var root$7 = /* @__PURE__ */ from_html(`<div class="altcha-checkbox"><input/> <svg aria-hidden="true" width="12" height="9" viewBox="0 0 12 9"><polyline points="1 5 4 8 11 1"></polyline></svg> <div class="altcha-spinner altcha-checkbox-spinner" aria-hidden="true"></div></div>`);
5000
5000
  function Checkbox($$anchor, $$props) {
5001
5001
  push($$props, true);
5002
5002
  let loading = prop($$props, "loading"), rest = /* @__PURE__ */ rest_props($$props, ["$$slots", "$$events", "$$legacy", "$$host", "loading"]);
5003
+ let inputEl;
5004
+ function onClick() {
5005
+ inputEl?.click();
5006
+ }
5003
5007
  var $$exports = {
5004
5008
  get loading() {
5005
5009
  return loading();
@@ -5009,15 +5013,19 @@
5009
5013
  flushSync();
5010
5014
  }
5011
5015
  };
5012
- var label = root$7();
5013
- var input = child(label);
5016
+ var div = root$7();
5017
+ var input = child(div);
5014
5018
  attribute_effect(input, () => ({ type: "checkbox", ...rest }), void 0, void 0, void 0, void 0, true);
5015
- next(4);
5016
- reset(label);
5017
- template_effect(() => set_attribute(label, "data-loading", loading()));
5018
- append($$anchor, label);
5019
+ bind_this(input, ($$value) => inputEl = $$value, () => inputEl);
5020
+ var svg = sibling(input, 2);
5021
+ next(2);
5022
+ reset(div);
5023
+ template_effect(() => set_attribute(div, "data-loading", loading()));
5024
+ delegated("click", svg, onClick);
5025
+ append($$anchor, div);
5019
5026
  return pop($$exports);
5020
5027
  }
5028
+ delegate(["click"]);
5021
5029
  create_custom_element(Checkbox, { loading: {} }, [], [], { mode: "open" });
5022
5030
  var root$6 = /* @__PURE__ */ from_html(`<div class="altcha-checkbox-native"><input/> <div class="altcha-spinner altcha-checkbox-native-spinner"></div></div>`);
5023
5031
  function CheckboxNative($$anchor, $$props) {
@@ -5042,7 +5050,7 @@
5042
5050
  return pop($$exports);
5043
5051
  }
5044
5052
  create_custom_element(CheckboxNative, { loading: {} }, [], [], { mode: "open" });
5045
- var root$5 = /* @__PURE__ */ from_html(`<div><a target="_blank" class="altcha-logo" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.33955 16.4279C5.88954 20.6586 12.1971 21.2105 16.4279 17.6604C18.4699 15.947 19.6548 13.5911 19.9352 11.1365L17.9886 10.4279C17.8738 12.5624 16.909 14.6459 15.1423 16.1284C11.7577 18.9684 6.71167 18.5269 3.87164 15.1423C1.03163 11.7577 1.4731 6.71166 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577C16.9767 5.86872 17.5322 7.02798 17.804 8.2324L19.9522 9.01429C19.7622 7.07737 19.0059 5.17558 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956C-0.658625 5.88958 -1.21046 12.1971 2.33955 16.4279Z" fill="currentColor"></path><path d="M3.57212 2.33956C1.65755 3.94607 0.496389 6.11731 0.12782 8.40523L2.04639 9.13961C2.26047 7.15832 3.21057 5.25375 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577L13.8302 6.78606L19.9633 9.13364C19.7929 7.15555 19.0335 5.20847 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956Z" fill="currentColor"></path><path d="M7 10H5C5 12.7614 7.23858 15 10 15C12.7614 15 15 12.7614 15 10H13C13 11.6569 11.6569 13 10 13C8.3431 13 7 11.6569 7 10Z" fill="currentColor"></path></svg></a></div>`);
5053
+ var root$5 = /* @__PURE__ */ from_html(`<div><a target="_blank" class="altcha-logo" aria-hidden="true" tabindex="-1"><svg width="22" height="22" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.33955 16.4279C5.88954 20.6586 12.1971 21.2105 16.4279 17.6604C18.4699 15.947 19.6548 13.5911 19.9352 11.1365L17.9886 10.4279C17.8738 12.5624 16.909 14.6459 15.1423 16.1284C11.7577 18.9684 6.71167 18.5269 3.87164 15.1423C1.03163 11.7577 1.4731 6.71166 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577C16.9767 5.86872 17.5322 7.02798 17.804 8.2324L19.9522 9.01429C19.7622 7.07737 19.0059 5.17558 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956C-0.658625 5.88958 -1.21046 12.1971 2.33955 16.4279Z" fill="currentColor"></path><path d="M3.57212 2.33956C1.65755 3.94607 0.496389 6.11731 0.12782 8.40523L2.04639 9.13961C2.26047 7.15832 3.21057 5.25375 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577L13.8302 6.78606L19.9633 9.13364C19.7929 7.15555 19.0335 5.20847 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956Z" fill="currentColor"></path><path d="M7 10H5C5 12.7614 7.23858 15 10 15C12.7614 15 15 12.7614 15 10H13C13 11.6569 11.6569 13 10 13C8.3431 13 7 11.6569 7 10Z" fill="currentColor"></path></svg></a></div>`);
5046
5054
  function Logo($$anchor, $$props) {
5047
5055
  push($$props, true);
5048
5056
  let strings = prop($$props, "strings");
@@ -5065,7 +5073,7 @@
5065
5073
  return pop($$exports);
5066
5074
  }
5067
5075
  create_custom_element(Logo, { strings: {} }, [], [], { mode: "open" });
5068
- var root$4 = /* @__PURE__ */ from_html(`<div class="altcha-footer"><div></div> <!></div>`);
5076
+ var root$4 = /* @__PURE__ */ from_html(`<div class="altcha-footer"><p></p> <!></div>`);
5069
5077
  function Footer($$anchor, $$props) {
5070
5078
  push($$props, true);
5071
5079
  let logo = prop($$props, "logo"), strings = prop($$props, "strings");
@@ -5086,10 +5094,10 @@
5086
5094
  }
5087
5095
  };
5088
5096
  var div = root$4();
5089
- var div_1 = child(div);
5090
- html(div_1, () => strings().footer, true);
5091
- reset(div_1);
5092
- var node = sibling(div_1, 2);
5097
+ var p = child(div);
5098
+ html(p, () => strings().footer, true);
5099
+ reset(p);
5100
+ var node = sibling(p, 2);
5093
5101
  {
5094
5102
  var consequent = ($$anchor2) => {
5095
5103
  Logo($$anchor2, {
@@ -5107,10 +5115,14 @@
5107
5115
  return pop($$exports);
5108
5116
  }
5109
5117
  create_custom_element(Footer, { logo: {}, strings: {} }, [], [], { mode: "open" });
5110
- var root$3 = /* @__PURE__ */ from_html(`<label class="altcha-switch"><input/> <div class="altcha-switch-toggle"><div class="altcha-spinner altcha-switch-spinner"></div></div></label>`);
5118
+ var root$3 = /* @__PURE__ */ from_html(`<div class="altcha-switch"><input/> <div class="altcha-switch-toggle"><div class="altcha-spinner altcha-switch-spinner"></div></div></div>`);
5111
5119
  function Switch($$anchor, $$props) {
5112
5120
  push($$props, true);
5113
5121
  let loading = prop($$props, "loading"), rest = /* @__PURE__ */ rest_props($$props, ["$$slots", "$$events", "$$legacy", "$$host", "loading"]);
5122
+ let inputEl;
5123
+ function onClick() {
5124
+ inputEl?.click();
5125
+ }
5114
5126
  var $$exports = {
5115
5127
  get loading() {
5116
5128
  return loading();
@@ -5120,15 +5132,18 @@
5120
5132
  flushSync();
5121
5133
  }
5122
5134
  };
5123
- var label = root$3();
5124
- var input = child(label);
5135
+ var div = root$3();
5136
+ var input = child(div);
5125
5137
  attribute_effect(input, () => ({ type: "checkbox", ...rest }), void 0, void 0, void 0, void 0, true);
5126
- next(2);
5127
- reset(label);
5128
- template_effect(() => set_attribute(label, "data-loading", loading()));
5129
- append($$anchor, label);
5138
+ bind_this(input, ($$value) => inputEl = $$value, () => inputEl);
5139
+ var div_1 = sibling(input, 2);
5140
+ reset(div);
5141
+ template_effect(() => set_attribute(div, "data-loading", loading()));
5142
+ delegated("click", div_1, onClick);
5143
+ append($$anchor, div);
5130
5144
  return pop($$exports);
5131
5145
  }
5146
+ delegate(["click"]);
5132
5147
  create_custom_element(Switch, { loading: {} }, [], [], { mode: "open" });
5133
5148
  var AudioState = /* @__PURE__ */ ((AudioState2) => {
5134
5149
  AudioState2["ERROR"] = "error";
@@ -6044,7 +6059,7 @@
6044
6059
  }
6045
6060
  });
6046
6061
  onMount(() => {
6047
- log("mounted", "3.0.1");
6062
+ log("mounted", "3.0.3");
6048
6063
  if (instance) {
6049
6064
  globalThis.$altcha.instances.add(instance);
6050
6065
  }
@@ -7127,10 +7142,11 @@
7127
7142
  const password = new PasswordBuffer(nonceBuf, counterMode);
7128
7143
  const start = performance.now();
7129
7144
  let counter = counterStart;
7145
+ let iterations = 0;
7130
7146
  let derivedKeyHex = "";
7131
7147
  let lastYield = start;
7132
7148
  while (true) {
7133
- if (controller?.signal.aborted || timeout && counter % 10 === 0 && performance.now() - start > timeout) {
7149
+ if (controller?.signal.aborted || timeout && iterations % 10 === 0 && performance.now() - start > timeout) {
7134
7150
  return null;
7135
7151
  }
7136
7152
  const { derivedKey } = await deriveKey2(
@@ -7138,7 +7154,7 @@
7138
7154
  saltBuf,
7139
7155
  password.setCounter(counter)
7140
7156
  );
7141
- if (counter % 10 === 0 && performance.now() - lastYield > 200) {
7157
+ if (iterations % 10 === 0 && performance.now() - lastYield > 200) {
7142
7158
  await delay(0);
7143
7159
  lastYield = performance.now();
7144
7160
  }
@@ -7147,6 +7163,7 @@
7147
7163
  break;
7148
7164
  }
7149
7165
  counter = counter + counterStep;
7166
+ iterations = iterations + 1;
7150
7167
  }
7151
7168
  return {
7152
7169
  counter,
@@ -7327,10 +7344,11 @@
7327
7344
  const password = new PasswordBuffer(nonceBuf, counterMode);
7328
7345
  const start = performance.now();
7329
7346
  let counter = counterStart;
7347
+ let iterations = 0;
7330
7348
  let derivedKeyHex = "";
7331
7349
  let lastYield = start;
7332
7350
  while (true) {
7333
- if (controller?.signal.aborted || timeout && counter % 10 === 0 && performance.now() - start > timeout) {
7351
+ if (controller?.signal.aborted || timeout && iterations % 10 === 0 && performance.now() - start > timeout) {
7334
7352
  return null;
7335
7353
  }
7336
7354
  const { derivedKey } = await deriveKey2(
@@ -7338,7 +7356,7 @@
7338
7356
  saltBuf,
7339
7357
  password.setCounter(counter)
7340
7358
  );
7341
- if (counter % 10 === 0 && performance.now() - lastYield > 200) {
7359
+ if (iterations % 10 === 0 && performance.now() - lastYield > 200) {
7342
7360
  await delay(0);
7343
7361
  lastYield = performance.now();
7344
7362
  }
@@ -7347,6 +7365,7 @@
7347
7365
  break;
7348
7366
  }
7349
7367
  counter = counter + counterStep;
7368
+ iterations = iterations + 1;
7350
7369
  }
7351
7370
  return {
7352
7371
  counter,
@@ -7428,7 +7447,7 @@
7428
7447
  );
7429
7448
  }
7430
7449
  }
7431
- const css = ':root {\n --altcha-border-color: var(--altcha-color-neutral);\n --altcha-border-width: 1px;\n --altcha-border-radius: 6px;\n --altcha-color-base: light-dark(oklch(100% 0.00011 271.152), oklch(20.904% 0.00002 271.152));\n --altcha-color-base-content: light-dark(\n oklch(20.904% 0.00002 271.152),\n oklch(100% 0.00011 271.152)\n );\n --altcha-color-error: oklch(51.284% 0.20527 28.678);\n --altcha-color-error-content: oklch(100% 0.00011 271.152);\n --altcha-color-neutral: light-dark(oklch(83.591% 0.0001 271.152), oklch(46.04% 0.00005 271.152));\n --altcha-color-neutral-content: light-dark(\n oklch(46.76% 0.00005 271.152),\n oklch(100% 0.00011 271.152)\n );\n --altcha-color-primary: oklch(40.279% 0.2449 268.131);\n --altcha-color-primary-content: oklch(100% 0.00011 271.152);\n --altcha-color-success: oklch(55.748% 0.18968 142.511);\n --altcha-color-success-content: oklch(100% 0.00011 271.152);\n --altcha-checkbox-border-color: var(--altcha-color-neutral);\n --altcha-checkbox-border-radius: 5px;\n --altcha-checkbox-border-width: var(--altcha-border-width);\n --altcha-checkbox-outline: 2px solid var(--altcha-checkbox-outline-color);\n --altcha-checkbox-outline-color: light-dark(\n color-mix(in srgb, var(--altcha-color-primary) 20%, transparent),\n color-mix(in srgb, var(--altcha-color-primary) 60%, transparent)\n );\n --altcha-checkbox-outline-offset: 2px;\n --altcha-checkbox-size: 22px;\n --altcha-checkbox-transition-duration: var(--altcha-transition-duration);\n --altcha-input-background-color: var(--altcha-color-base);\n --altcha-input-border-radius: 3px;\n --altcha-input-border-width: 1px;\n --altcha-input-color: var(--altcha-color-base-content);\n --altcha-max-width: 320px;\n --altcha-padding: 0.75rem;\n --altcha-popover-arrow-size: 6px;\n --altcha-popover-color: var(--altcha-border-color);\n --altcha-shadow: drop-shadow(3px 3px 6px oklch(0% 0 0 / 0.2));\n --altcha-spinner-color: var(--altcha-color-base-content);\n --altcha-switch-background-color: var(--altcha-color-neutral);\n --altcha-switch-border-radius: calc(infinity * 1px);\n --altcha-switch-height: var(--altcha-checkbox-size);\n --altcha-switch-padding: 0.25rem;\n --altcha-switch-width: calc(var(--altcha-checkbox-size) * 1.75);\n --altcha-switch-toggle-border-radius: 100%;\n --altcha-switch-toggle-color: var(--altcha-color-neutral-content);\n --altcha-switch-toggle-size: calc(\n var(--altcha-switch-height) - calc(var(--altcha-switch-padding) * 2)\n );\n --altcha-transition-duration: 0.6s;\n --altcha-z-index: 99999999;\n --altcha-z-index-popover: 999999999;\n}\n\n.altcha {\n all: revert-layer;\n display: none;\n font-family: inherit;\n font-size: inherit;\n position: relative;\n}\n.altcha[data-visible] {\n display: block;\n}\n.altcha-popover, .altcha-popover * {\n all: revert-layer;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n line-height: 1.25;\n}\n.altcha * {\n all: revert-layer;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n line-height: 1.25;\n}\n.altcha a, .altcha-popover a {\n color: currentColor;\n text-decoration: none;\n}\n.altcha a:hover, .altcha-popover a:hover {\n color: currentColor;\n}\n.altcha-main {\n align-items: start;\n background-color: var(--altcha-color-base);\n border: var(--altcha-border-width, 1px) solid var(--altcha-border-color);\n border-radius: var(--altcha-border-radius, 0);\n color: var(--altcha-color-base-content);\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n justify-content: space-between;\n padding: var(--altcha-padding);\n max-width: var(--altcha-max-width, 100%);\n}\n.altcha-main > * {\n display: flex;\n width: 100%;\n}\n.altcha-main > *:first-child {\n flex-grow: 1;\n}\n.altcha-checkbox-wrap {\n align-items: center;\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n gap: 0.5rem;\n}\n.altcha-checkbox-wrap > * {\n display: flex;\n}\n.altcha-logo {\n opacity: 0.7;\n}\n.altcha-footer {\n align-items: center;\n display: flex;\n flex-grow: 1;\n gap: 0.5rem;\n justify-content: flex-end;\n font-size: 0.7rem;\n opacity: 0.7;\n}\n.altcha-error {\n font-size: 0.85rem;\n}\n.altcha-button {\n align-items: center;\n background: var(--altcha-color-primary);\n border: var(--altcha-input-border-width) solid var(--altcha-color-primary);\n border-radius: var(--altcha-input-border-radius);\n color: var(--altcha-color-primary-content);\n cursor: pointer;\n display: flex;\n font-size: 0.9rem;\n gap: 0.5rem;\n padding: 0.35rem;\n}\n.altcha-button:focus {\n border-color: var(--altcha-color-primary);\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-button > .altcha-spinner, .altcha-button > svg {\n height: 20px;\n width: 20px;\n}\n.altcha-button-secondary {\n background: transparent;\n border-color: var(--altcha-color-neutral);\n color: var(--altcha-color-neutral-content);\n}\n.altcha-input {\n background: var(--altcha-input-background-color);\n border: var(--altcha-input-border-width) solid var(--altcha-color-neutral);\n border-radius: var(--altcha-input-border-radius);\n color: var(--altcha-input-color);\n flex-grow: 1;\n font-size: 1rem;\n min-width: 0;\n padding: 0.25rem;\n width: auto;\n}\n.altcha-input:focus {\n border-color: var(--altcha-color-primary);\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-spinner {\n animation: altcha-rotate 0.6s linear infinite;\n border-radius: 100%;\n border: var(--altcha-checkbox-border-width) solid var(--altcha-spinner-color);\n border-bottom-color: transparent;\n border-right-color: transparent;\n opacity: 0.5;\n}\n.altcha-popover {\n background-color: var(--altcha-color-base);\n border: var(--altcha-border-width) solid var(--altcha-border-color);\n border-radius: var(--altcha-border-radius);\n color: var(--altcha-color-base-content);\n filter: var(--altcha-shadow);\n position: absolute;\n left: calc(var(--altcha-padding) / 2);\n max-width: calc(var(--altcha-max-width) - var(--altcha-padding));\n top: calc(var(--altcha-padding) + var(--altcha-checkbox-size) + var(--altcha-popover-arrow-size));\n z-index: var(--altcha-z-index-popover);\n}\n.altcha-popover-arrow {\n border: var(--altcha-popover-arrow-size) solid transparent;\n border-bottom-color: var(--altcha-popover-color);\n content: "";\n height: 0;\n left: calc(var(--altcha-checkbox-size) / 2);\n position: absolute;\n top: calc(var(--altcha-popover-arrow-size) * -2);\n width: 0;\n}\n.altcha-popover-content {\n max-height: 100dvh;\n overflow: auto;\n padding: var(--altcha-padding);\n}\n.altcha-popover[data-top=true][data-display=standard] {\n bottom: calc(100% - (var(--altcha-padding) - var(--altcha-popover-arrow-size)));\n top: auto;\n}\n.altcha-popover[data-top=true][data-display=standard] .altcha-popover-arrow {\n border-bottom-color: transparent;\n border-top-color: var(--altcha-popover-color);\n bottom: calc(var(--altcha-popover-arrow-size) * -2);\n top: auto;\n}\n.altcha-popover[data-variant=error] {\n --altcha-popover-color: var(--altcha-color-error);\n background-color: var(--altcha-color-error);\n border-color: var(--altcha-color-error);\n color: var(--altcha-color-error-content);\n}\n.altcha-popover[data-variant=error] .altcha-popover-content {\n padding: calc(var(--altcha-padding) / 1.5) var(--altcha-padding);\n}\n.altcha-popover[data-display=overlay] {\n animation: altcha-overlay-slidein 0.5s forwards;\n left: 50%;\n position: fixed;\n top: 45%;\n transform: translate(-50%, -50%);\n width: var(--altcha-max-width);\n z-index: var(--altcha-z-index);\n}\n.altcha-popover[data-display=bottomsheet] {\n animation: altcha-bottomsheet-slideup 0.5s forwards;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: 0;\n bottom: -100%;\n left: 50%;\n position: fixed;\n top: auto;\n transform: translate(-50%, 0);\n width: var(--altcha-max-width);\n z-index: var(--altcha-z-index);\n}\n.altcha-popover[data-display=bottomsheet] .altcha-popover-content {\n padding-bottom: calc(var(--altcha-padding) * 2);\n}\n.altcha-popover-backdrop {\n background: var(--altcha-color-base-content);\n bottom: 0;\n left: 0;\n opacity: 0.1;\n position: fixed;\n right: 0;\n top: 0;\n transition: opacity 0.5s;\n z-index: var(--altcha-z-index);\n}\n.altcha-popover-close {\n color: var(--altcha-color-base-content);\n cursor: pointer;\n display: inline-block;\n font-size: 1rem;\n height: 1.25rem;\n line-height: 0.95;\n position: absolute;\n right: 0;\n text-align: center;\n text-shadow: 0 0 1px var(--altcha-color-base);\n top: -1.5rem;\n width: 1.25rem;\n z-index: var(--altcha-z-index);\n}\n[dir=rtl] .altcha-popover {\n left: auto;\n right: calc(var(--altcha-padding) / 2);\n}\n[dir=rtl] .altcha-popover-arrow {\n left: auto;\n right: calc(var(--altcha-checkbox-size) / 2);\n}\n[dir=rtl] .altcha-popover-close {\n left: 0;\n right: auto;\n}\n.altcha-popover[data-display=bottomsheet] .altcha-footer, .altcha-popover[data-display=overlay] .altcha-footer {\n align-items: center;\n justify-content: center;\n padding-top: 1rem;\n gap: 0.5rem;\n}\n.altcha-popover[data-display=bottomsheet] .altcha-footer svg, .altcha-popover[data-display=overlay] .altcha-footer svg {\n height: 18px;\n width: 18px;\n vertical-align: middle;\n}\n.altcha-code-challenge > form {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n.altcha-code-challenge-title {\n font-weight: 600;\n}\n.altcha-code-challenge-text {\n font-size: 0.85rem;\n}\n.altcha-code-challenge-image {\n background: white;\n border: var(--altcha-input-border-width) solid var(--altcha-color-neutral);\n border-radius: var(--altcha-input-border-radius);\n object-fit: contain;\n height: 50px;\n}\n.altcha-code-challenge-row {\n display: flex;\n gap: 0.5rem;\n}\n.altcha-code-challenge-buttons {\n align-items: center;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin-top: var(--altcha-padding);\n justify-content: space-between;\n}\n.altcha-code-challenge-buttons button {\n justify-content: center;\n width: 100%;\n}\n.altcha-checkbox {\n cursor: pointer;\n height: var(--altcha-checkbox-size);\n position: relative;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox input {\n appearance: none;\n background: var(--altcha-input-background-color);\n border: var(--altcha-checkbox-border-width, 2px) solid var(--altcha-checkbox-border-color);\n border-radius: var(--altcha-checkbox-border-radius);\n height: var(--altcha-checkbox-size);\n left: 0;\n margin: 0;\n outline: none;\n padding: 0;\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox input:before {\n border-radius: var(--altcha-checkbox-border-radius);\n content: "";\n width: 100%;\n height: 100%;\n background: var(--altcha-color-neutral);\n display: block;\n transform: scale(0);\n}\n.altcha-checkbox input:focus {\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-checkbox input:checked {\n background-color: var(--altcha-color-success);\n border-color: var(--altcha-color-success);\n}\n.altcha-checkbox input:checked::before {\n background-color: var(--altcha-color-success);\n opacity: 0;\n transform: scale(2.2);\n transition: all var(--altcha-checkbox-transition-duration) ease;\n transition-delay: 0.1s;\n}\n.altcha-checkbox svg {\n --altcha-radio-svg-size: calc(var(--altcha-checkbox-size) * 0.5);\n --altcha-radio-svg-offset: calc(var(--altcha-checkbox-size) * 0.25);\n fill: none;\n left: var(--altcha-radio-svg-offset);\n height: var(--altcha-radio-svg-size);\n opacity: 0;\n position: absolute;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-dasharray: 16px;\n stroke-dashoffset: 16px;\n top: var(--altcha-radio-svg-offset);\n transform: translate3d(0, 0, 0);\n width: var(--altcha-radio-svg-size);\n}\n.altcha-checkbox input:checked + svg {\n color: var(--altcha-color-success-content);\n opacity: 1;\n stroke-dashoffset: 0;\n transition: all var(--altcha-checkbox-transition-duration) ease;\n transition-delay: 0.1s;\n}\n.altcha-checkbox-spinner {\n display: none;\n left: 0;\n height: var(--altcha-checkbox-size);\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox[data-loading=true] input {\n appearance: none;\n opacity: 0;\n pointer-events: none;\n}\n.altcha-checkbox[data-loading=true] .altcha-checkbox-spinner {\n display: block;\n}\n.altcha-checkbox-native {\n height: var(--altcha-checkbox-size);\n position: relative;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native input {\n height: var(--altcha-checkbox-size);\n margin: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native input:focus {\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-checkbox-native-spinner {\n display: none;\n left: 0;\n height: var(--altcha-checkbox-size);\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native[data-loading=true] input {\n appearance: none;\n opacity: 0;\n pointer-events: none;\n}\n.altcha-checkbox-native[data-loading=true] .altcha-checkbox-native-spinner {\n display: block;\n}\n.altcha-switch {\n align-items: center;\n border-radius: var(--altcha-switch-border-radius);\n background-color: var(--altcha-switch-background-color);\n cursor: pointer;\n display: flex;\n height: var(--altcha-switch-height);\n padding: var(--altcha-switch-padding);\n position: relative;\n width: var(--altcha-switch-width);\n}\n.altcha-switch:focus-within {\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-switch input {\n appearance: none;\n height: 100%;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.altcha-switch-toggle {\n align-items: center;\n background-color: var(--altcha-switch-toggle-color);\n border-radius: var(--altcha-switch-toggle-border-radius);\n display: flex;\n height: var(--altcha-switch-toggle-size);\n justify-content: center;\n left: var(--altcha-switch-padding);\n position: absolute;\n transition: width 150ms ease-out, left 150ms ease-out;\n width: var(--altcha-switch-toggle-size);\n}\n.altcha-switch-spinner {\n display: none;\n height: var(--altcha-switch-toggle-size);\n width: var(--altcha-switch-toggle-size);\n}\n.altcha-switch[data-loading=true] {\n pointer-events: none;\n}\n.altcha-switch[data-loading=true] .altcha-switch-spinner {\n display: block;\n}\n.altcha-switch[data-loading=true] .altcha-switch-toggle {\n background-color: transparent;\n left: calc(50% - var(--altcha-switch-toggle-size) / 2);\n}\n[data-state=verified] .altcha-switch {\n --altcha-switch-background-color: var(--altcha-color-success);\n}\n[data-state=verified] .altcha-switch-toggle {\n background-color: var(--altcha-color-success-content);\n left: calc(100% - var(--altcha-switch-height) + var(--altcha-switch-padding));\n}\n[dir=rtl] .altcha-switch-toggle {\n left: calc(100% - var(--altcha-switch-height) + var(--altcha-switch-padding));\n}\n[dir=rtl][data-state=verified] .altcha-switch-toggle {\n left: var(--altcha-switch-padding);\n}\n.altcha-floating-arrow {\n border: 6px solid transparent;\n border-bottom-color: var(--altcha-border-color);\n content: "";\n height: 0;\n left: 12px;\n position: absolute;\n top: -12px;\n width: 0;\n}\n.altcha-overlay-backdrop {\n bottom: 0;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n transition: opacity var(--altcha-transition-duration);\n z-index: var(--altcha-z-index);\n}\n.altcha-overlay-close {\n display: inline-block;\n color: currentColor;\n cursor: pointer;\n font-size: 1rem;\n height: 1rem;\n line-height: 0.85;\n position: absolute;\n right: 0;\n text-align: center;\n text-shadow: 0 0 1px var(--altcha-color-base);\n top: -1.5rem;\n width: 1rem;\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=overlay] {\n animation: altcha-overlay-slidein var(--altcha-transition-duration) forwards;\n filter: var(--altcha-shadow);\n left: 50%;\n opacity: 0;\n position: fixed;\n top: 45%;\n transform: translate(-50%, -50%);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=overlay] .altcha-main {\n width: var(--altcha-max-width);\n}\n.altcha[data-display=floating] {\n display: none;\n filter: var(--altcha-shadow);\n left: var(--altcha-floating-left, -100%);\n position: fixed;\n top: var(--altcha-floating-top, -100%);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=floating] .altcha-main {\n width: var(--altcha-max-width);\n}\n.altcha[data-display=floating][data-placement=top] .altcha-floating-arrow {\n border-bottom-color: transparent;\n border-top-color: var(--altcha-border-color);\n bottom: -12px;\n top: auto;\n}\n.altcha[data-display=floating][data-visible] {\n display: flex;\n}\n.altcha[data-display=bar] {\n bottom: -100%;\n filter: var(--altcha-shadow);\n left: 0;\n position: fixed;\n right: 0;\n transition: bottom var(--altcha-transition-duration), top var(--altcha-transition-duration);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=bar] .altcha-main {\n align-items: center;\n border-radius: 0;\n border-width: var(--altcha-border-width) 0 0 0;\n flex-direction: row;\n max-width: 100% !important;\n}\n.altcha[data-display=bar] .altcha-main > * {\n width: auto;\n}\n.altcha[data-display=bar][data-placement=top] {\n bottom: auto;\n top: -100%;\n}\n.altcha[data-display=bar][data-placement=top] .altcha-main {\n border-width: 0 0 var(--altcha-border-width) 0;\n}\n.altcha[data-display=bar][data-placement=bottom]:not([data-state=unverified]) {\n bottom: 0;\n}\n.altcha[data-display=bar][data-placement=top]:not([data-state=unverified]) {\n top: 0;\n}\n.altcha[data-display=invisible] {\n display: none;\n}\n\n@keyframes altcha-rotate {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes altcha-bottomsheet-slideup {\n 100% {\n bottom: 0;\n }\n}\n@keyframes altcha-overlay-slidein {\n 100% {\n opacity: 1;\n top: 50%;\n }\n}';
7450
+ const css = ':root {\n --altcha-border-color: var(--altcha-color-neutral);\n --altcha-border-width: 1px;\n --altcha-border-radius: 6px;\n --altcha-color-base: light-dark(oklch(100% 0.00011 271.152), oklch(20.904% 0.00002 271.152));\n --altcha-color-base-content: light-dark(\n oklch(20.904% 0.00002 271.152),\n oklch(100% 0.00011 271.152)\n );\n --altcha-color-error: oklch(51.284% 0.20527 28.678);\n --altcha-color-error-content: oklch(100% 0.00011 271.152);\n --altcha-color-neutral: light-dark(oklch(83.591% 0.0001 271.152), oklch(46.04% 0.00005 271.152));\n --altcha-color-neutral-content: light-dark(\n oklch(46.76% 0.00005 271.152),\n oklch(100% 0.00011 271.152)\n );\n --altcha-color-primary: oklch(40.279% 0.2449 268.131);\n --altcha-color-primary-content: oklch(100% 0.00011 271.152);\n --altcha-color-success: oklch(55.748% 0.18968 142.511);\n --altcha-color-success-content: oklch(100% 0.00011 271.152);\n --altcha-checkbox-border-color: light-dark(\n oklch(66.494% 0.00233 15.434),\n oklch(51.028% 0.00006 271.152)\n );\n --altcha-checkbox-border-radius: 5px;\n --altcha-checkbox-border-width: var(--altcha-border-width);\n --altcha-checkbox-outline: 2px solid var(--altcha-checkbox-outline-color);\n --altcha-checkbox-outline-color: -webkit-focus-ring-color;\n --altcha-checkbox-outline-offset: 2px;\n --altcha-checkbox-size: 22px;\n --altcha-checkbox-transition-duration: var(--altcha-transition-duration);\n --altcha-input-background-color: var(--altcha-color-base);\n --altcha-input-border-radius: 3px;\n --altcha-input-border-width: 1px;\n --altcha-input-color: var(--altcha-color-base-content);\n --altcha-max-width: 320px;\n --altcha-padding: 0.75rem;\n --altcha-popover-arrow-size: 6px;\n --altcha-popover-color: var(--altcha-border-color);\n --altcha-shadow: drop-shadow(3px 3px 6px oklch(0% 0 0 / 0.2));\n --altcha-spinner-color: var(--altcha-color-base-content);\n --altcha-switch-background-color: var(--altcha-color-neutral);\n --altcha-switch-border-radius: calc(infinity * 1px);\n --altcha-switch-height: var(--altcha-checkbox-size);\n --altcha-switch-padding: 0.25rem;\n --altcha-switch-width: calc(var(--altcha-checkbox-size) * 1.75);\n --altcha-switch-toggle-border-radius: 100%;\n --altcha-switch-toggle-color: var(--altcha-color-neutral-content);\n --altcha-switch-toggle-size: calc(\n var(--altcha-switch-height) - calc(var(--altcha-switch-padding) * 2)\n );\n --altcha-transition-duration: 0.6s;\n --altcha-z-index: 99999999;\n --altcha-z-index-popover: 999999999;\n}\n\n@supports (-moz-appearance: none) {\n :root {\n --altcha-checkbox-outline-color: var(--altcha-color-primary);\n }\n}\n.altcha {\n all: revert-layer;\n display: none;\n font-family: inherit;\n font-size: inherit;\n position: relative;\n}\n.altcha[data-visible] {\n display: block;\n}\n.altcha-popover, .altcha-popover * {\n all: revert-layer;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n line-height: 1.25;\n}\n.altcha * {\n all: revert-layer;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n line-height: 1.25;\n}\n.altcha a, .altcha-popover a {\n color: currentColor;\n text-decoration: none;\n}\n.altcha a:hover, .altcha-popover a:hover {\n color: currentColor;\n}\n.altcha-main {\n align-items: start;\n background-color: var(--altcha-color-base);\n border: var(--altcha-border-width, 1px) solid var(--altcha-border-color);\n border-radius: var(--altcha-border-radius, 0);\n color: var(--altcha-color-base-content);\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n justify-content: space-between;\n padding: var(--altcha-padding);\n max-width: var(--altcha-max-width, 100%);\n}\n.altcha-main > * {\n display: flex;\n width: 100%;\n}\n.altcha-main > *:first-child {\n flex-grow: 1;\n}\n.altcha-checkbox-wrap {\n align-items: center;\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n gap: 0.5rem;\n}\n.altcha-checkbox-wrap > * {\n display: flex;\n}\n.altcha-logo {\n opacity: 0.7;\n}\n.altcha-footer {\n align-items: center;\n display: flex;\n flex-grow: 1;\n gap: 0.5rem;\n justify-content: flex-end;\n font-size: 0.7rem;\n opacity: 0.7;\n}\n.altcha-footer p {\n margin: 0;\n padding: 0;\n}\n.altcha-error {\n font-size: 0.85rem;\n}\n.altcha-button {\n align-items: center;\n background: var(--altcha-color-primary);\n border: var(--altcha-input-border-width) solid var(--altcha-color-primary);\n border-radius: var(--altcha-input-border-radius);\n color: var(--altcha-color-primary-content);\n cursor: pointer;\n display: flex;\n font-size: 0.9rem;\n gap: 0.5rem;\n padding: 0.35rem;\n}\n.altcha-button:focus {\n border-color: var(--altcha-color-primary);\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-button > .altcha-spinner, .altcha-button > svg {\n height: 20px;\n width: 20px;\n}\n.altcha-button-secondary {\n background: transparent;\n border-color: var(--altcha-color-neutral);\n color: var(--altcha-color-neutral-content);\n}\n.altcha-input {\n background: var(--altcha-input-background-color);\n border: var(--altcha-input-border-width) solid var(--altcha-color-neutral);\n border-radius: var(--altcha-input-border-radius);\n color: var(--altcha-input-color);\n flex-grow: 1;\n font-size: 1rem;\n min-width: 0;\n padding: 0.25rem;\n width: auto;\n}\n.altcha-input:focus {\n border-color: var(--altcha-color-primary);\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-spinner {\n animation: altcha-rotate 0.6s linear infinite;\n border-radius: 100%;\n border: var(--altcha-checkbox-border-width) solid var(--altcha-spinner-color);\n border-bottom-color: transparent;\n border-right-color: transparent;\n opacity: 0.7;\n}\n.altcha-popover {\n background-color: var(--altcha-color-base);\n border: var(--altcha-border-width) solid var(--altcha-border-color);\n border-radius: var(--altcha-border-radius);\n color: var(--altcha-color-base-content);\n filter: var(--altcha-shadow);\n position: absolute;\n left: calc(var(--altcha-padding) / 2);\n max-width: calc(var(--altcha-max-width) - var(--altcha-padding));\n top: calc(var(--altcha-padding) + var(--altcha-checkbox-size) + var(--altcha-popover-arrow-size));\n z-index: var(--altcha-z-index-popover);\n}\n.altcha-popover-arrow {\n border: var(--altcha-popover-arrow-size) solid transparent;\n border-bottom-color: var(--altcha-popover-color);\n content: "";\n height: 0;\n left: calc(var(--altcha-checkbox-size) / 2);\n position: absolute;\n top: calc(var(--altcha-popover-arrow-size) * -2);\n width: 0;\n}\n.altcha-popover-content {\n max-height: 100dvh;\n overflow: auto;\n padding: var(--altcha-padding);\n}\n.altcha-popover[data-top=true][data-display=standard] {\n bottom: calc(100% - (var(--altcha-padding) - var(--altcha-popover-arrow-size)));\n top: auto;\n}\n.altcha-popover[data-top=true][data-display=standard] .altcha-popover-arrow {\n border-bottom-color: transparent;\n border-top-color: var(--altcha-popover-color);\n bottom: calc(var(--altcha-popover-arrow-size) * -2);\n top: auto;\n}\n.altcha-popover[data-variant=error] {\n --altcha-popover-color: var(--altcha-color-error);\n background-color: var(--altcha-color-error);\n border-color: var(--altcha-color-error);\n color: var(--altcha-color-error-content);\n}\n.altcha-popover[data-variant=error] .altcha-popover-content {\n padding: calc(var(--altcha-padding) / 1.5) var(--altcha-padding);\n}\n.altcha-popover[data-display=overlay] {\n animation: altcha-overlay-slidein 0.5s forwards;\n left: 50%;\n position: fixed;\n top: 45%;\n transform: translate(-50%, -50%);\n width: var(--altcha-max-width);\n z-index: var(--altcha-z-index);\n}\n.altcha-popover[data-display=bottomsheet] {\n animation: altcha-bottomsheet-slideup 0.5s forwards;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: 0;\n bottom: -100%;\n left: 50%;\n position: fixed;\n top: auto;\n transform: translate(-50%, 0);\n width: var(--altcha-max-width);\n z-index: var(--altcha-z-index);\n}\n.altcha-popover[data-display=bottomsheet] .altcha-popover-content {\n padding-bottom: calc(var(--altcha-padding) * 2);\n}\n.altcha-popover-backdrop {\n background: var(--altcha-color-base-content);\n bottom: 0;\n left: 0;\n opacity: 0.1;\n position: fixed;\n right: 0;\n top: 0;\n transition: opacity 0.5s;\n z-index: var(--altcha-z-index);\n}\n.altcha-popover-close {\n color: var(--altcha-color-base-content);\n cursor: pointer;\n display: inline-block;\n font-size: 1rem;\n height: 1.25rem;\n line-height: 0.95;\n position: absolute;\n right: 0;\n text-align: center;\n text-shadow: 0 0 1px var(--altcha-color-base);\n top: -1.5rem;\n width: 1.25rem;\n z-index: var(--altcha-z-index);\n}\n[dir=rtl] .altcha-popover {\n left: auto;\n right: calc(var(--altcha-padding) / 2);\n}\n[dir=rtl] .altcha-popover-arrow {\n left: auto;\n right: calc(var(--altcha-checkbox-size) / 2);\n}\n[dir=rtl] .altcha-popover-close {\n left: 0;\n right: auto;\n}\n.altcha-popover[data-display=bottomsheet] .altcha-footer, .altcha-popover[data-display=overlay] .altcha-footer {\n align-items: center;\n justify-content: center;\n padding-top: 1rem;\n gap: 0.5rem;\n}\n.altcha-popover[data-display=bottomsheet] .altcha-footer svg, .altcha-popover[data-display=overlay] .altcha-footer svg {\n height: 18px;\n width: 18px;\n vertical-align: middle;\n}\n.altcha-code-challenge > form {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n.altcha-code-challenge-title {\n font-weight: 600;\n}\n.altcha-code-challenge-text {\n font-size: 0.85rem;\n}\n.altcha-code-challenge-image {\n background: white;\n border: var(--altcha-input-border-width) solid var(--altcha-color-neutral);\n border-radius: var(--altcha-input-border-radius);\n object-fit: contain;\n height: 50px;\n}\n.altcha-code-challenge-row {\n display: flex;\n gap: 0.5rem;\n}\n.altcha-code-challenge-buttons {\n align-items: center;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin-top: var(--altcha-padding);\n justify-content: space-between;\n}\n.altcha-code-challenge-buttons button {\n justify-content: center;\n width: 100%;\n}\n.altcha-checkbox {\n cursor: pointer;\n height: var(--altcha-checkbox-size);\n position: relative;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox input {\n appearance: none;\n background: var(--altcha-input-background-color);\n border: var(--altcha-checkbox-border-width, 2px) solid var(--altcha-checkbox-border-color);\n border-radius: var(--altcha-checkbox-border-radius);\n cursor: pointer;\n height: var(--altcha-checkbox-size);\n left: 0;\n margin: 0;\n padding: 0;\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox input:before {\n border-radius: var(--altcha-checkbox-border-radius);\n content: "";\n width: 100%;\n height: 100%;\n background: var(--altcha-color-neutral);\n display: block;\n transform: scale(0);\n}\n.altcha-checkbox input:checked {\n background-color: var(--altcha-color-success);\n border-color: var(--altcha-color-success);\n}\n.altcha-checkbox input:checked::before {\n background-color: var(--altcha-color-success);\n opacity: 0;\n transform: scale(2.2);\n transition: all var(--altcha-checkbox-transition-duration) ease;\n transition-delay: 0.1s;\n}\n.altcha-checkbox svg {\n --altcha-radio-svg-size: calc(var(--altcha-checkbox-size) * 0.5);\n --altcha-radio-svg-offset: calc(var(--altcha-checkbox-size) * 0.25);\n fill: none;\n left: var(--altcha-radio-svg-offset);\n height: var(--altcha-radio-svg-size);\n opacity: 0;\n position: absolute;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-dasharray: 16px;\n stroke-dashoffset: 16px;\n top: var(--altcha-radio-svg-offset);\n transform: translate3d(0, 0, 0);\n width: var(--altcha-radio-svg-size);\n}\n.altcha-checkbox input:checked + svg {\n color: var(--altcha-color-success-content);\n opacity: 1;\n stroke-dashoffset: 0;\n transition: all var(--altcha-checkbox-transition-duration) ease;\n transition-delay: 0.1s;\n}\n.altcha-checkbox-spinner {\n display: none;\n left: 0;\n height: var(--altcha-checkbox-size);\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox[data-loading=true] input {\n appearance: none;\n opacity: 0;\n pointer-events: none;\n}\n.altcha-checkbox[data-loading=true] .altcha-checkbox-spinner {\n display: block;\n}\n.altcha-checkbox-native {\n height: var(--altcha-checkbox-size);\n position: relative;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native input {\n height: var(--altcha-checkbox-size);\n margin: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native-spinner {\n display: none;\n left: 0;\n height: var(--altcha-checkbox-size);\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native[data-loading=true] input {\n appearance: none;\n opacity: 0;\n pointer-events: none;\n}\n.altcha-checkbox-native[data-loading=true] .altcha-checkbox-native-spinner {\n display: block;\n}\n.altcha-switch {\n align-items: center;\n border-radius: var(--altcha-switch-border-radius);\n background-color: var(--altcha-switch-background-color);\n display: flex;\n height: var(--altcha-switch-height);\n padding: var(--altcha-switch-padding);\n position: relative;\n width: var(--altcha-switch-width);\n}\n.altcha-switch:focus-within {\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-switch input {\n appearance: none;\n cursor: pointer;\n height: 100%;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.altcha-switch-toggle {\n align-items: center;\n background-color: var(--altcha-switch-toggle-color);\n border-radius: var(--altcha-switch-toggle-border-radius);\n cursor: pointer;\n display: flex;\n height: var(--altcha-switch-toggle-size);\n justify-content: center;\n left: var(--altcha-switch-padding);\n position: absolute;\n transition: width 150ms ease-out, left 150ms ease-out;\n width: var(--altcha-switch-toggle-size);\n}\n.altcha-switch-spinner {\n display: none;\n height: var(--altcha-switch-toggle-size);\n width: var(--altcha-switch-toggle-size);\n}\n.altcha-switch[data-loading=true] {\n pointer-events: none;\n}\n.altcha-switch[data-loading=true] .altcha-switch-spinner {\n display: block;\n}\n.altcha-switch[data-loading=true] .altcha-switch-toggle {\n background-color: transparent;\n left: calc(50% - var(--altcha-switch-toggle-size) / 2);\n}\n[data-state=verified] .altcha-switch {\n --altcha-switch-background-color: var(--altcha-color-success);\n}\n[data-state=verified] .altcha-switch-toggle {\n background-color: var(--altcha-color-success-content);\n left: calc(100% - var(--altcha-switch-height) + var(--altcha-switch-padding));\n}\n[dir=rtl] .altcha-switch-toggle {\n left: calc(100% - var(--altcha-switch-height) + var(--altcha-switch-padding));\n}\n[dir=rtl][data-state=verified] .altcha-switch-toggle {\n left: var(--altcha-switch-padding);\n}\n.altcha-floating-arrow {\n border: 6px solid transparent;\n border-bottom-color: var(--altcha-border-color);\n content: "";\n height: 0;\n left: 12px;\n position: absolute;\n top: -12px;\n width: 0;\n}\n.altcha-overlay-backdrop {\n bottom: 0;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n transition: opacity var(--altcha-transition-duration);\n z-index: var(--altcha-z-index);\n}\n.altcha-overlay-close {\n display: inline-block;\n color: currentColor;\n cursor: pointer;\n font-size: 1rem;\n height: 1rem;\n line-height: 0.85;\n position: absolute;\n right: 0;\n text-align: center;\n text-shadow: 0 0 1px var(--altcha-color-base);\n top: -1.5rem;\n width: 1rem;\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=overlay] {\n animation: altcha-overlay-slidein var(--altcha-transition-duration) forwards;\n filter: var(--altcha-shadow);\n left: 50%;\n opacity: 0;\n position: fixed;\n top: 45%;\n transform: translate(-50%, -50%);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=overlay] .altcha-main {\n width: var(--altcha-max-width);\n}\n.altcha[data-display=floating] {\n display: none;\n filter: var(--altcha-shadow);\n left: var(--altcha-floating-left, -100%);\n position: fixed;\n top: var(--altcha-floating-top, -100%);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=floating] .altcha-main {\n width: var(--altcha-max-width);\n}\n.altcha[data-display=floating][data-placement=top] .altcha-floating-arrow {\n border-bottom-color: transparent;\n border-top-color: var(--altcha-border-color);\n bottom: -12px;\n top: auto;\n}\n.altcha[data-display=floating][data-visible] {\n display: flex;\n}\n.altcha[data-display=bar] {\n bottom: -100%;\n filter: var(--altcha-shadow);\n left: 0;\n position: fixed;\n right: 0;\n transition: bottom var(--altcha-transition-duration), top var(--altcha-transition-duration);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=bar] .altcha-main {\n align-items: center;\n border-radius: 0;\n border-width: var(--altcha-border-width) 0 0 0;\n flex-direction: row;\n max-width: 100% !important;\n}\n.altcha[data-display=bar] .altcha-main > * {\n width: auto;\n}\n.altcha[data-display=bar][data-placement=top] {\n bottom: auto;\n top: -100%;\n}\n.altcha[data-display=bar][data-placement=top] .altcha-main {\n border-width: 0 0 var(--altcha-border-width) 0;\n}\n.altcha[data-display=bar][data-placement=bottom]:not([data-state=unverified]) {\n bottom: 0;\n}\n.altcha[data-display=bar][data-placement=top]:not([data-state=unverified]) {\n top: 0;\n}\n.altcha[data-display=invisible] {\n display: none;\n}\n\n@keyframes altcha-rotate {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes altcha-bottomsheet-slideup {\n 100% {\n bottom: 0;\n }\n}\n@keyframes altcha-overlay-slidein {\n 100% {\n opacity: 1;\n top: 50%;\n }\n}';
7432
7451
  injectCss(css);
7433
7452
  $altcha.algorithms.set("SHA-256", () => new WorkerWrapper());
7434
7453
  $altcha.algorithms.set("SHA-384", () => new WorkerWrapper());
@@ -7437,12 +7456,12 @@
7437
7456
  $altcha.algorithms.set("PBKDF2/SHA-384", () => new WorkerWrapper$1());
7438
7457
  $altcha.algorithms.set("PBKDF2/SHA-512", () => new WorkerWrapper$1());
7439
7458
  const i18n$Y = {
7440
- ariaLinkLabel: "زور Altcha.org",
7459
+ ariaLinkLabel: "Altcha (الموقع الرسمي)",
7441
7460
  enterCode: "أدخل الرمز",
7442
7461
  enterCodeAria: "أدخل الرمز الذي تسمعه. اضغط على المسافة لتشغيل الصوت.",
7443
7462
  error: "فشل التحقق. حاول مرة أخرى لاحقاً.",
7444
7463
  expired: "انتهت صلاحية التحقق. حاول مرة أخرى.",
7445
- footer: 'محمي بواسطة <a href="https://altcha.org/" target="_blank" aria-label="زور Altcha.org">ALTCHA</a>',
7464
+ footer: 'محمي بواسطة <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (الموقع الرسمي)">ALTCHA</a>',
7446
7465
  getAudioChallenge: "احصل على تحدي صوتي",
7447
7466
  label: "أنا لست روبوتاً",
7448
7467
  loading: "جارٍ التحميل...",
@@ -7459,12 +7478,12 @@
7459
7478
  globalThis.$altcha.i18n.set("ar", i18n$Y);
7460
7479
  }
7461
7480
  const i18n$X = {
7462
- ariaLinkLabel: "Посетете Altcha.org",
7481
+ ariaLinkLabel: "Altcha (официален уебсайт)",
7463
7482
  enterCode: "Въведете код",
7464
7483
  enterCodeAria: "Въведете кода, който чувате. Натиснете Space за възпроизвеждане на аудио.",
7465
7484
  error: "Проверката неуспешна. Моля, опитайте по-късно.",
7466
7485
  expired: "Времето за проверка изтече. Моля, опитайте отново.",
7467
- footer: 'Защитено от <a href="https://altcha.org/" target="_blank" aria-label="Посетете Altcha.org">ALTCHA</a>',
7486
+ footer: 'Защитено от <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (официален уебсайт)">ALTCHA</a>',
7468
7487
  getAudioChallenge: "Аудио проверка",
7469
7488
  label: "Аз не съм робот",
7470
7489
  loading: "Зареждане...",
@@ -7481,12 +7500,12 @@
7481
7500
  globalThis.$altcha.i18n.set("bg", i18n$X);
7482
7501
  }
7483
7502
  const i18n$W = {
7484
- ariaLinkLabel: "Наведаць Altcha.org",
7503
+ ariaLinkLabel: "Altcha (афіцыйны сайт)",
7485
7504
  enterCode: "Увядзіце код",
7486
7505
  enterCodeAria: "Увядзіце код, які вы чуеце. Націсніце прабел, каб прайграць аўдыё.",
7487
7506
  error: "Праверка не прайшла. Паспрабуйце пазней.",
7488
7507
  expired: "Тэрмін праверкі скончыўся. Паспрабуйце зноў.",
7489
- footer: 'Абаронена <a href="https://altcha.org/" target="_blank" aria-label="Наведаць Altcha.org">ALTCHA</a>',
7508
+ footer: 'Абаронена <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (афіцыйны сайт)">ALTCHA</a>',
7490
7509
  getAudioChallenge: "Атрымаць аўдыё выклік",
7491
7510
  label: "Я не робат",
7492
7511
  loading: "Загрузка...",
@@ -7503,12 +7522,12 @@
7503
7522
  globalThis.$altcha.i18n.set("be", i18n$W);
7504
7523
  }
7505
7524
  const i18n$V = {
7506
- ariaLinkLabel: "Posjetite Altcha.org",
7525
+ ariaLinkLabel: "Altcha (službena web stranica)",
7507
7526
  enterCode: "Unesite kod",
7508
7527
  enterCodeAria: "Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",
7509
7528
  error: "Verifikacija nije uspjela. Pokušajte ponovo kasnije.",
7510
7529
  expired: "Verifikacija je istekla. Pokušajte ponovo.",
7511
- footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',
7530
+ footer: 'Zaštićeno od strane <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (službena web stranica)">ALTCHA</a>',
7512
7531
  getAudioChallenge: "Dohvatite audio izazov",
7513
7532
  label: "Nisam robot",
7514
7533
  loading: "Učitavanje...",
@@ -7525,12 +7544,12 @@
7525
7544
  globalThis.$altcha.i18n.set("bs", i18n$V);
7526
7545
  }
7527
7546
  const i18n$U = {
7528
- ariaLinkLabel: "Visita Altcha.org",
7547
+ ariaLinkLabel: "Altcha (lloc web oficial)",
7529
7548
  enterCode: "Introdueix el codi",
7530
7549
  enterCodeAria: "Introdueix el codi que escoltes. Prem Espai per reproduir l’àudio.",
7531
7550
  error: "Verificació fallida. Torna-ho a provar més tard.",
7532
7551
  expired: "Verificació expirada. Torna-ho a provar.",
7533
- footer: 'Protegit per <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>',
7552
+ footer: 'Protegit per <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (lloc web oficial)">ALTCHA</a>',
7534
7553
  getAudioChallenge: "Obtenir un desafiament d’àudio",
7535
7554
  label: "No sóc un robot",
7536
7555
  loading: "Carregant...",
@@ -7547,12 +7566,12 @@
7547
7566
  globalThis.$altcha.i18n.set("ca", i18n$U);
7548
7567
  }
7549
7568
  const i18n$T = {
7550
- ariaLinkLabel: "Navštivte Altcha.org",
7569
+ ariaLinkLabel: "Altcha (oficiální web)",
7551
7570
  enterCode: "Zadejte kód",
7552
7571
  enterCodeAria: "Zadejte kód, který slyšíte. Stisknutím mezerníku přehrajete zvuk.",
7553
7572
  error: "Ověření selhalo. Zkuste to prosím později.",
7554
7573
  expired: "Ověření vypršelo. Zkuste to prosím znovu.",
7555
- footer: 'Chráněno pomocí <a href="https://altcha.org/" target="_blank" aria-label="Navštivte Altcha.org">ALTCHA</a>',
7574
+ footer: 'Chráněno pomocí <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (oficiální web)">ALTCHA</a>',
7556
7575
  getAudioChallenge: "Získat audio výzvu",
7557
7576
  label: "Nejsem robot",
7558
7577
  loading: "Načítání...",
@@ -7569,12 +7588,12 @@
7569
7588
  globalThis.$altcha.i18n.set("cs", i18n$T);
7570
7589
  }
7571
7590
  const i18n$S = {
7572
- ariaLinkLabel: "Besøg Altcha.org",
7591
+ ariaLinkLabel: "Altcha (officiel hjemmeside)",
7573
7592
  enterCode: "Indtast kode",
7574
7593
  enterCodeAria: "Indtast den kode, du hører. Tryk på mellemrumstasten for at afspille lyd.",
7575
7594
  error: "Verificering mislykkedes. Prøv venligst igen senere.",
7576
7595
  expired: "Verificering udløbet. Prøv venligst igen.",
7577
- footer: 'Beskyttet af <a href="https://altcha.org/" target="_blank" aria-label="Besøg Altcha.org">ALTCHA</a>',
7596
+ footer: 'Beskyttet af <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (officiel hjemmeside)">ALTCHA</a>',
7578
7597
  getAudioChallenge: "Hent lydudfordring",
7579
7598
  label: "Jeg er ikke en robot",
7580
7599
  loading: "Indlæser...",
@@ -7591,12 +7610,12 @@
7591
7610
  globalThis.$altcha.i18n.set("da", i18n$S);
7592
7611
  }
7593
7612
  const i18n$R = {
7594
- ariaLinkLabel: "Besuche Altcha.org",
7613
+ ariaLinkLabel: "Altcha (offizielle Website)",
7595
7614
  enterCode: "Code eingeben",
7596
7615
  enterCodeAria: "Geben Sie den Code ein, den Sie hören. Drücken Sie die Leertaste, um die Audio abzuspielen.",
7597
7616
  error: "Überprüfung fehlgeschlagen. Bitte versuchen Sie es später erneut.",
7598
7617
  expired: "Überprüfung abgelaufen. Bitte versuchen Sie es erneut.",
7599
- footer: 'Geschützt durch <a href="https://altcha.org/" target="_blank" aria-label="Besuche Altcha.org">ALTCHA</a>',
7618
+ footer: 'Geschützt durch <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (offizielle Website)">ALTCHA</a>',
7600
7619
  getAudioChallenge: "Audio-Herausforderung anfordern",
7601
7620
  label: "Ich bin kein Roboter",
7602
7621
  loading: "Lade...",
@@ -7613,12 +7632,12 @@
7613
7632
  globalThis.$altcha.i18n.set("de", i18n$R);
7614
7633
  }
7615
7634
  const i18n$Q = {
7616
- ariaLinkLabel: "Επισκεφθείτε το Altcha.org",
7635
+ ariaLinkLabel: "Altcha (επίσημος ιστότοπος)",
7617
7636
  enterCode: "Εισαγάγετε κωδικό",
7618
7637
  enterCodeAria: "Εισαγάγετε τον κωδικό που ακούτε. Πατήστε Space για να παίξετε τον ήχο.",
7619
7638
  error: "Η επαλήθευση απέτυχε. Δοκιμάστε ξανά αργότερα.",
7620
7639
  expired: "Η επαλήθευση έληξε. Δοκιμάστε ξανά.",
7621
- footer: 'Προστατεύεται από το <a href="https://altcha.org/" target="_blank" aria-label="Επισκεφθείτε το Altcha.org">ALTCHA</a>',
7640
+ footer: 'Προστατεύεται από το <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (επίσημος ιστότοπος)">ALTCHA</a>',
7622
7641
  getAudioChallenge: "Λήψη ηχητικής δοκιμασίας",
7623
7642
  label: "Δεν είμαι ρομπότ",
7624
7643
  loading: "Φόρτωση...",
@@ -7635,12 +7654,12 @@
7635
7654
  globalThis.$altcha.i18n.set("el", i18n$Q);
7636
7655
  }
7637
7656
  const i18n$P = {
7638
- ariaLinkLabel: "Visitar Altcha.org",
7657
+ ariaLinkLabel: "Altcha (sitio web oficial)",
7639
7658
  enterCode: "Introduce el código",
7640
7659
  enterCodeAria: "Introduce el código que escuchas. Pulsa Espacio para reproducir el audio.",
7641
7660
  error: "Falló la verificación. Por favor intente nuevamente más tarde.",
7642
7661
  expired: "Verificación expirada. Por favor intente nuevamente.",
7643
- footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
7662
+ footer: 'Protegido por <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (sitio web oficial)">ALTCHA</a>',
7644
7663
  getAudioChallenge: "Obtener un desafío de audio",
7645
7664
  label: "No soy un robot",
7646
7665
  loading: "Cargando...",
@@ -7657,12 +7676,12 @@
7657
7676
  globalThis.$altcha.i18n.set("es-es", i18n$P);
7658
7677
  }
7659
7678
  const i18n$O = {
7660
- ariaLinkLabel: "Visitar Altcha.org",
7679
+ ariaLinkLabel: "Altcha (sitio web oficial)",
7661
7680
  enterCode: "Ingresa el código",
7662
7681
  enterCodeAria: "Ingresa el código que escuchas. Presiona Espacio para reproducir el audio.",
7663
7682
  error: "Falló la verificación. Por favor vuelve a intentarlo más tarde.",
7664
7683
  expired: "La verificación expiró. Por favor inténtalo de nuevo.",
7665
- footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
7684
+ footer: 'Protegido por <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (sitio web oficial)">ALTCHA</a>',
7666
7685
  getAudioChallenge: "Obtener un reto de audio",
7667
7686
  label: "No soy un robot",
7668
7687
  loading: "Cargando...",
@@ -7679,12 +7698,12 @@
7679
7698
  globalThis.$altcha.i18n.set("es-419", i18n$O);
7680
7699
  }
7681
7700
  const i18n$N = {
7682
- ariaLinkLabel: "Külasta Altcha.org",
7701
+ ariaLinkLabel: "Altcha (ametlik veebisait)",
7683
7702
  enterCode: "Sisesta kood",
7684
7703
  enterCodeAria: "Sisestage kuuldu kood. Vajutage tühikut, et esitada heli.",
7685
7704
  error: "Kinnitamine ebaõnnestus. Proovi hiljem uuesti.",
7686
7705
  expired: "Kinnitamine aegus. Proovi uuesti.",
7687
- footer: 'Kaitstud <a href="https://altcha.org/" target="_blank" aria-label="Külasta Altcha.org">ALTCHA</a> poolt',
7706
+ footer: 'Kaitstud <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (ametlik veebisait)">ALTCHA</a> poolt',
7688
7707
  getAudioChallenge: "Hangi heliülesanne",
7689
7708
  label: "Ma ei ole robot",
7690
7709
  loading: "Laadimine...",
@@ -7701,12 +7720,12 @@
7701
7720
  globalThis.$altcha.i18n.set("et", i18n$N);
7702
7721
  }
7703
7722
  const i18n$M = {
7704
- ariaLinkLabel: "Bisitatu Altcha.org",
7723
+ ariaLinkLabel: "Altcha (webgune ofiziala)",
7705
7724
  enterCode: "Sartu kodea",
7706
7725
  enterCodeAria: "Sartu entzun duzun kodea. Sakatu Espazioa audioa erreproduzitzeko.",
7707
7726
  error: "Egiaztatzeak huts egin du. Saiatu berriro geroago.",
7708
7727
  expired: "Egiaztatzea iraungi da. Saiatu berriro.",
7709
- footer: '<a href="https://altcha.org/" target="_blank" aria-label="Bisitatu Altcha.org">ALTCHA</a>k babestuta',
7728
+ footer: '<a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (webgune ofiziala)">ALTCHA</a>k babestuta',
7710
7729
  getAudioChallenge: "Jaso audio-erronka bat",
7711
7730
  label: "Ez naiz robot bat",
7712
7731
  loading: "Kargatzen...",
@@ -7723,12 +7742,12 @@
7723
7742
  globalThis.$altcha.i18n.set("eu", i18n$M);
7724
7743
  }
7725
7744
  const i18n$L = {
7726
- ariaLinkLabel: "بازدید از Altcha.org",
7745
+ ariaLinkLabel: "Altcha (وب‌سایت رسمی)",
7727
7746
  enterCode: "کد را وارد کنید",
7728
7747
  enterCodeAria: "کدی که می‌شنوید را وارد کنید. برای پخش صدا Space را فشار دهید.",
7729
7748
  error: "احراز هویت ناموفق بود. بعداً دوباره تلاش کنید.",
7730
7749
  expired: "احراز هویت منقضی شد. دوباره تلاش کنید.",
7731
- footer: 'محافظت شده توسط <a href="https://altcha.org/" target="_blank" aria-label="بازدید از Altcha.org">ALTCHA</a>',
7750
+ footer: 'محافظت شده توسط <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (وب‌سایت رسمی)">ALTCHA</a>',
7732
7751
  getAudioChallenge: "دریافت چالش صوتی",
7733
7752
  label: "من ربات نیستم",
7734
7753
  loading: "در حال بارگذاری...",
@@ -7745,12 +7764,12 @@
7745
7764
  globalThis.$altcha.i18n.set("fa", i18n$L);
7746
7765
  }
7747
7766
  const i18n$K = {
7748
- ariaLinkLabel: "Besicht Altcha.org",
7767
+ ariaLinkLabel: "Altcha (offiziell Websäit)",
7749
7768
  enterCode: "Code aginn",
7750
7769
  enterCodeAria: "Gitt de Code an deen dir héiert. Dréckt op d'Weltraumtast fir Audio ofzespillen.",
7751
7770
  error: "Verifikatioun ass feelgeschloen. Probéiert méi spéit nach emol.",
7752
7771
  expired: "Verifikatioun ofgelaf. Probéiert nach emol.",
7753
- footer: 'Geschützt vun <a href="https://altcha.org/" target="_blank" aria-label="Besicht Altcha.org">ALTCHA</a>',
7772
+ footer: 'Geschützt vun <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (offiziell Websäit)">ALTCHA</a>',
7754
7773
  getAudioChallenge: "Kritt eng Audio-Herausfuerderung",
7755
7774
  label: "Ech sinn keen Robot",
7756
7775
  loading: "Lueden...",
@@ -7767,12 +7786,12 @@
7767
7786
  globalThis.$altcha.i18n.set("lb", i18n$K);
7768
7787
  }
7769
7788
  const i18n$J = {
7770
- ariaLinkLabel: "Vieraile sivulla Altcha.org",
7789
+ ariaLinkLabel: "Altcha (virallinen verkkosivusto)",
7771
7790
  enterCode: "Syötä koodi",
7772
7791
  enterCodeAria: "Kirjoita kuulemasi koodi. Paina välilyöntiä toistaaksesi äänen.",
7773
7792
  error: "Varmennus epäonnistui. Yritä myöhemmin uudelleen.",
7774
7793
  expired: "Varmennus vanhentui. Yritä uudelleen.",
7775
- footer: 'Suojattu <a href="https://altcha.org/" target="_blank" aria-label="Vieraile sivulla Altcha.org">ALTCHA</a>:lla',
7794
+ footer: 'Suojattu <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (virallinen verkkosivusto)">ALTCHA</a>:lla',
7776
7795
  getAudioChallenge: "Hae äänitehtävä",
7777
7796
  label: "En ole robotti",
7778
7797
  loading: "Ladataan...",
@@ -7789,14 +7808,14 @@
7789
7808
  globalThis.$altcha.i18n.set("fi", i18n$J);
7790
7809
  }
7791
7810
  const i18n$I = {
7792
- ariaLinkLabel: "Visitez Altcha.org",
7811
+ ariaLinkLabel: "Altcha (site officiel)",
7793
7812
  enterCode: "Entrez le code",
7794
7813
  enterCodeAria: "Entrez le code que vous entendez. Appuyez sur la barre d'espace pour écouter l'audio.",
7795
7814
  error: "Échec de la vérification. Réessayez plus tard.",
7796
7815
  expired: "La vérification a expiré. Réessayez.",
7797
- footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',
7816
+ footer: 'Protégé par <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (site officiel)">ALTCHA</a>',
7798
7817
  getAudioChallenge: "Obtenir un défi audio",
7799
- label: "Pas un robot",
7818
+ label: "Je ne suis pas un robot",
7800
7819
  loading: "Chargement...",
7801
7820
  reload: "Recharger",
7802
7821
  verify: "Vérifier",
@@ -7811,14 +7830,14 @@
7811
7830
  globalThis.$altcha.i18n.set("fr-ca", i18n$I);
7812
7831
  }
7813
7832
  const i18n$H = {
7814
- ariaLinkLabel: "Visitez Altcha.org",
7833
+ ariaLinkLabel: "Altcha (site officiel)",
7815
7834
  enterCode: "Entrez le code",
7816
7835
  enterCodeAria: "Entrez le code que vous entendez. Appuyez sur Espace pour écouter l'audio.",
7817
7836
  error: "Échec de la vérification. Essayez à nouveau plus tard.",
7818
7837
  expired: "La vérification a expiré. Essayez à nouveau.",
7819
- footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',
7838
+ footer: 'Protégé par <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (site officiel)">ALTCHA</a>',
7820
7839
  getAudioChallenge: "Obtenir un défi audio",
7821
- label: "Pas un robot",
7840
+ label: "Je ne suis pas un robot",
7822
7841
  loading: "Chargement...",
7823
7842
  reload: "Recharger",
7824
7843
  verify: "Vérifier",
@@ -7833,12 +7852,12 @@
7833
7852
  globalThis.$altcha.i18n.set("fr-fr", i18n$H);
7834
7853
  }
7835
7854
  const i18n$G = {
7836
- ariaLinkLabel: "Tabhair cuairt ar Altcha.org",
7855
+ ariaLinkLabel: "Altcha (láithreán gréasáin oifigiúil)",
7837
7856
  enterCode: "Iontráil cód",
7838
7857
  enterCodeAria: "Cuir isteach an cód a chloiseann tú. Brúigh Spás chun an fuaime a sheinm.",
7839
7858
  error: "Theip ar an bhfíorú. Bain triail eile as níos déanaí.",
7840
7859
  expired: "Tá an fíorú as feidhm. Bain triail eile as.",
7841
- footer: 'Cosanta ag <a href="https://altcha.org/" target="_blank" aria-label="Tabhair cuairt ar Altcha.org">ALTCHA</a>',
7860
+ footer: 'Cosanta ag <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (láithreán gréasáin oifigiúil)">ALTCHA</a>',
7842
7861
  getAudioChallenge: "Faigh dúshlán fuaime",
7843
7862
  label: "Níl mé i mo róbat",
7844
7863
  loading: "Á luchtú...",
@@ -7855,12 +7874,12 @@
7855
7874
  globalThis.$altcha.i18n.set("ga", i18n$G);
7856
7875
  }
7857
7876
  const i18n$F = {
7858
- ariaLinkLabel: "Posjetite Altcha.org",
7877
+ ariaLinkLabel: "Altcha (službena web stranica)",
7859
7878
  enterCode: "Unesite kod",
7860
7879
  enterCodeAria: "Unesite kod koji čujete. Pritisnite razmaknicu za reprodukciju zvuka.",
7861
7880
  error: "Provjera nije uspjela. Molimo pokušajte kasnije.",
7862
7881
  expired: "Provjera je istekla. Molimo pokušajte ponovo.",
7863
- footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',
7882
+ footer: 'Zaštićeno od strane <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (službena web stranica)">ALTCHA</a>',
7864
7883
  getAudioChallenge: "Audio provjera",
7865
7884
  label: "Ja nisam robot",
7866
7885
  loading: "Učitavanje...",
@@ -7877,12 +7896,12 @@
7877
7896
  globalThis.$altcha.i18n.set("hr", i18n$F);
7878
7897
  }
7879
7898
  const i18n$E = {
7880
- ariaLinkLabel: "Látogass el az Altcha.org oldalra",
7899
+ ariaLinkLabel: "Altcha (hivatalos weboldal)",
7881
7900
  enterCode: "Írja be a kódot",
7882
7901
  enterCodeAria: "Írja be a hallott kódot. Nyomja meg a Szóköz billentyűt a hang lejátszásához.",
7883
7902
  error: "A hitelesítés nem sikerült. Próbáld meg később újra.",
7884
7903
  expired: "A hitelesítés lejárt. Próbáld újra.",
7885
- footer: 'Védve a következő által: <a href="https://altcha.org/" target="_blank" aria-label="Látogass el az Altcha.org oldalra">ALTCHA</a>',
7904
+ footer: 'Védve a következő által: <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (hivatalos weboldal)">ALTCHA</a>',
7886
7905
  getAudioChallenge: "Hangalapú kihívás kérése",
7887
7906
  label: "Nem vagyok robot",
7888
7907
  loading: "Betöltés...",
@@ -7899,12 +7918,12 @@
7899
7918
  globalThis.$altcha.i18n.set("hu", i18n$E);
7900
7919
  }
7901
7920
  const i18n$D = {
7902
- ariaLinkLabel: "Heimsækja Altcha.org",
7921
+ ariaLinkLabel: "Altcha (opinber vefsíða)",
7903
7922
  enterCode: "Sláðu inn kóða",
7904
7923
  enterCodeAria: "Sláðu inn kóðann sem þú heyrir. Ýttu á Space til að spila hljóðið.",
7905
7924
  error: "Staðfesting mistókst. Reyndu aftur síðar.",
7906
7925
  expired: "Staðfesting er útrunnin. Reyndu aftur.",
7907
- footer: 'Verndað af <a href="https://altcha.org/" target="_blank" aria-label="Heimsækja Altcha.org">ALTCHA</a>',
7926
+ footer: 'Verndað af <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (opinber vefsíða)">ALTCHA</a>',
7908
7927
  getAudioChallenge: "Fá hljóðáskorun",
7909
7928
  label: "Ég er ekki robot",
7910
7929
  loading: "Hleður...",
@@ -7921,12 +7940,12 @@
7921
7940
  globalThis.$altcha.i18n.set("is", i18n$D);
7922
7941
  }
7923
7942
  const i18n$C = {
7924
- ariaLinkLabel: "Visita Altcha.org",
7943
+ ariaLinkLabel: "Altcha (sito ufficiale)",
7925
7944
  enterCode: "Inserisci il codice",
7926
7945
  enterCodeAria: "Inserisci il codice che senti. Premi Spazio per riprodurre l'audio.",
7927
7946
  error: "Verifica fallita. Riprova più tardi.",
7928
7947
  expired: "Verifica scaduta. Riprova.",
7929
- footer: 'Protetto da <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>',
7948
+ footer: 'Protetto da <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (sito ufficiale)">ALTCHA</a>',
7930
7949
  getAudioChallenge: "Ottieni una sfida audio",
7931
7950
  label: "Non sono un robot",
7932
7951
  loading: "Caricamento...",
@@ -7943,12 +7962,12 @@
7943
7962
  globalThis.$altcha.i18n.set("it", i18n$C);
7944
7963
  }
7945
7964
  const i18n$B = {
7946
- ariaLinkLabel: "Apsilankykite Altcha.org",
7965
+ ariaLinkLabel: "Altcha (oficiali svetainė)",
7947
7966
  enterCode: "Įveskite kodą",
7948
7967
  enterCodeAria: "Įveskite girdimą kodą. Paspauskite tarpo klavišą, kad grotumėte garso įrašą.",
7949
7968
  error: "Patvirtinimas nepavyko. Bandykite vėliau.",
7950
7969
  expired: "Patvirtinimo laikas baigėsi. Bandykite dar kartą.",
7951
- footer: 'Apsaugota <a href="https://altcha.org/" target="_blank" aria-label="Apsilankykite Altcha.org">ALTCHA</a>',
7970
+ footer: 'Apsaugota <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (oficiali svetainė)">ALTCHA</a>',
7952
7971
  getAudioChallenge: "Gauti garso užduotį",
7953
7972
  label: "Aš nesu robotas",
7954
7973
  loading: "Įkeliama...",
@@ -7965,12 +7984,12 @@
7965
7984
  globalThis.$altcha.i18n.set("lt", i18n$B);
7966
7985
  }
7967
7986
  const i18n$A = {
7968
- ariaLinkLabel: "Apmeklējiet Altcha.org",
7987
+ ariaLinkLabel: "Altcha (oficiālā tīmekļa vietne)",
7969
7988
  enterCode: "Ievadiet kodu",
7970
7989
  enterCodeAria: "Ievadiet dzirdamo kodu. Nospiediet atstarpes taustiņu, lai atskaņotu audio.",
7971
7990
  error: "Verifikācija neizdevās. Mēģiniet vēlāk vēlreiz.",
7972
7991
  expired: "Verifikācijas laiks ir beidzies. Mēģiniet vēlreiz.",
7973
- footer: 'Aizsargāts ar <a href="https://altcha.org/" target="_blank" aria-label="Apmeklējiet Altcha.org">ALTCHA</a>',
7992
+ footer: 'Aizsargāts ar <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (oficiālā tīmekļa vietne)">ALTCHA</a>',
7974
7993
  getAudioChallenge: "Saņemt audio izaicinājumu",
7975
7994
  label: "Es neesmu robots",
7976
7995
  loading: "Notiek ielāde...",
@@ -7987,12 +8006,12 @@
7987
8006
  globalThis.$altcha.i18n.set("lv", i18n$A);
7988
8007
  }
7989
8008
  const i18n$z = {
7990
- ariaLinkLabel: "Żur Altcha.org",
8009
+ ariaLinkLabel: "Altcha (sit uffiċjali)",
7991
8010
  enterCode: "Idħol il-kodiċi",
7992
8011
  enterCodeAria: "Idħol il-kodiċi li tisma'. Agħfas Spazju biex tindaqq l-awdjo.",
7993
8012
  error: "Il-verifika falliet. Erġa’ pprova aktar tard.",
7994
8013
  expired: "Il-verifika skadiet. Erġa’ pprova.",
7995
- footer: 'Protett minn <a href="https://altcha.org/" target="_blank" aria-label="Żur Altcha.org">ALTCHA</a>',
8014
+ footer: 'Protett minn <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (sit uffiċjali)">ALTCHA</a>',
7996
8015
  getAudioChallenge: "Ikseb sfida bl-awdjo",
7997
8016
  label: "M’inix robot",
7998
8017
  loading: "Qed jitgħabba...",
@@ -8009,12 +8028,12 @@
8009
8028
  globalThis.$altcha.i18n.set("mt", i18n$z);
8010
8029
  }
8011
8030
  const i18n$y = {
8012
- ariaLinkLabel: "Besøk Altcha.org",
8031
+ ariaLinkLabel: "Altcha (offisiell nettside)",
8013
8032
  enterCode: "Skriv inn kode",
8014
8033
  enterCodeAria: "Skriv inn koden du hører. Trykk på Space for å spille av lyden.",
8015
8034
  error: "Verifisering mislyktes. Prøv igjen senere.",
8016
8035
  expired: "Verifiseringen utløp. Prøv igjen.",
8017
- footer: 'Beskyttet av <a href="https://altcha.org/" target="_blank" aria-label="Besøk Altcha.org">ALTCHA</a>',
8036
+ footer: 'Beskyttet av <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (offisiell nettside)">ALTCHA</a>',
8018
8037
  getAudioChallenge: "Få en lydutfordring",
8019
8038
  label: "Jeg er ikke en robot",
8020
8039
  loading: "Laster...",
@@ -8031,12 +8050,12 @@
8031
8050
  globalThis.$altcha.i18n.set("nb", i18n$y);
8032
8051
  }
8033
8052
  const i18n$x = {
8034
- ariaLinkLabel: "Bezoek Altcha.org",
8053
+ ariaLinkLabel: "Altcha (officiële website)",
8035
8054
  enterCode: "Voer code in",
8036
8055
  enterCodeAria: "Voer de code in die je hoort. Druk op Spatie om de audio af te spelen.",
8037
8056
  error: "Verificatie mislukt. Probeer het later opnieuw.",
8038
8057
  expired: "Verificatie verlopen. Probeer het opnieuw.",
8039
- footer: 'Beschermd door <a href="https://altcha.org/" target="_blank" aria-label="Bezoek Altcha.org">ALTCHA</a>',
8058
+ footer: 'Beschermd door <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (officiële website)">ALTCHA</a>',
8040
8059
  getAudioChallenge: "Audio-uitdaging ontvangen",
8041
8060
  label: "Ik ben geen robot",
8042
8061
  loading: "Laden...",
@@ -8053,12 +8072,12 @@
8053
8072
  globalThis.$altcha.i18n.set("nl", i18n$x);
8054
8073
  }
8055
8074
  const i18n$w = {
8056
- ariaLinkLabel: "Odwiedź Altcha.org",
8075
+ ariaLinkLabel: "Altcha (oficjalna strona internetowa)",
8057
8076
  enterCode: "Wprowadź kod",
8058
8077
  enterCodeAria: "Wpisz kod, który słyszysz. Naciśnij Spację, aby odtworzyć dźwięk.",
8059
8078
  error: "Weryfikacja nie powiodła się. Spróbuj ponownie później.",
8060
8079
  expired: "Weryfikacja wygasła. Spróbuj ponownie.",
8061
- footer: 'Chronione przez <a href="https://altcha.org/" target="_blank" aria-label="Odwiedź Altcha.org">ALTCHA</a>',
8080
+ footer: 'Chronione przez <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (oficjalna strona internetowa)">ALTCHA</a>',
8062
8081
  getAudioChallenge: "Pobierz zadanie dźwiękowe",
8063
8082
  label: "Nie jestem robotem",
8064
8083
  loading: "Ładowanie...",
@@ -8075,12 +8094,12 @@
8075
8094
  globalThis.$altcha.i18n.set("pl", i18n$w);
8076
8095
  }
8077
8096
  const i18n$v = {
8078
- ariaLinkLabel: "Visitar Altcha.org",
8097
+ ariaLinkLabel: "Altcha (site oficial)",
8079
8098
  enterCode: "Introduza o código",
8080
8099
  enterCodeAria: "Introduza o código que ouve. Prima Espaço para reproduzir o áudio.",
8081
8100
  error: "A verificação falhou. Por favor, tente novamente mais tarde.",
8082
8101
  expired: "Verificação expirada. Por favor, tente novamente.",
8083
- footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
8102
+ footer: 'Protegido por <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (site oficial)">ALTCHA</a>',
8084
8103
  getAudioChallenge: "Obter desafio de áudio",
8085
8104
  label: "Não sou um robô",
8086
8105
  loading: "A carregar...",
@@ -8097,12 +8116,12 @@
8097
8116
  globalThis.$altcha.i18n.set("pt-pt", i18n$v);
8098
8117
  }
8099
8118
  const i18n$u = {
8100
- ariaLinkLabel: "Visitar Altcha.org",
8119
+ ariaLinkLabel: "Altcha (site oficial)",
8101
8120
  enterCode: "Digite o código",
8102
8121
  enterCodeAria: "Digite o código que você ouve. Pressione Espaço para reproduzir o áudio.",
8103
8122
  error: "Falha na verificação. Por favor, tente novamente mais tarde.",
8104
8123
  expired: "Verificação expirada. Por favor, tente novamente.",
8105
- footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
8124
+ footer: 'Protegido por <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (site oficial)">ALTCHA</a>',
8106
8125
  getAudioChallenge: "Obter desafio de áudio",
8107
8126
  label: "Eu não sou um robô",
8108
8127
  loading: "Carregando...",
@@ -8119,12 +8138,12 @@
8119
8138
  globalThis.$altcha.i18n.set("pt-br", i18n$u);
8120
8139
  }
8121
8140
  const i18n$t = {
8122
- ariaLinkLabel: "Vizitează Altcha.org",
8141
+ ariaLinkLabel: "Altcha (site oficial)",
8123
8142
  enterCode: "Introduceți codul",
8124
8143
  enterCodeAria: "Introduceți codul pe care îl auziți. Apăsați Spațiu pentru a reda audio.",
8125
8144
  error: "Verificarea a eșuat. Încearcă din nou mai târziu.",
8126
8145
  expired: "Verificarea a expirat. Încearcă din nou.",
8127
- footer: 'Protejat de <a href="https://altcha.org/" target="_blank" aria-label="Vizitează Altcha.org">ALTCHA</a>',
8146
+ footer: 'Protejat de <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (site oficial)">ALTCHA</a>',
8128
8147
  getAudioChallenge: "Obține o provocare audio",
8129
8148
  label: "Nu sunt un robot",
8130
8149
  loading: "Se încarcă...",
@@ -8141,12 +8160,12 @@
8141
8160
  globalThis.$altcha.i18n.set("ro", i18n$t);
8142
8161
  }
8143
8162
  const i18n$s = {
8144
- ariaLinkLabel: "Перейти на Altcha.org",
8163
+ ariaLinkLabel: "Altcha (официальный сайт)",
8145
8164
  enterCode: "Введите код",
8146
8165
  enterCodeAria: "Введите код, который слышите. Нажмите пробел для воспроизведения аудио.",
8147
8166
  error: "Ошибка верификации. Попробуйте позже.",
8148
8167
  expired: "Срок действия верификации истек. Попробуйте снова.",
8149
- footer: 'Защищено <a href="https://altcha.org/" target="_blank" aria-label="Перейти на Altcha.org">ALTCHA</a>',
8168
+ footer: 'Защищено <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (официальный сайт)">ALTCHA</a>',
8150
8169
  getAudioChallenge: "Получить аудио задачу",
8151
8170
  label: "Я не робот",
8152
8171
  loading: "Загрузка...",
@@ -8163,12 +8182,12 @@
8163
8182
  globalThis.$altcha.i18n.set("ru", i18n$s);
8164
8183
  }
8165
8184
  const i18n$r = {
8166
- ariaLinkLabel: "Navštívte Altcha.org",
8185
+ ariaLinkLabel: "Altcha (oficiálna webová stránka)",
8167
8186
  enterCode: "Zadajte kód",
8168
8187
  enterCodeAria: "Zadajte kód, ktorý počujete. Stlačením medzerníka prehráte zvuk.",
8169
8188
  error: "Verifikácia zlyhala. Skúste to znova neskôr.",
8170
8189
  expired: "Verifikácia vypršala. Skúste to znova.",
8171
- footer: 'Chránené <a href="https://altcha.org/" target="_blank" aria-label="Navštívte Altcha.org">ALTCHA</a>',
8190
+ footer: 'Chránené <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (oficiálna webová stránka)">ALTCHA</a>',
8172
8191
  getAudioChallenge: "Získať audio výzvu",
8173
8192
  label: "Nie som robot",
8174
8193
  loading: "Načítava sa...",
@@ -8185,12 +8204,12 @@
8185
8204
  globalThis.$altcha.i18n.set("sk", i18n$r);
8186
8205
  }
8187
8206
  const i18n$q = {
8188
- ariaLinkLabel: "Obiščite Altcha.org",
8207
+ ariaLinkLabel: "Altcha (uradna spletna stran)",
8189
8208
  enterCode: "Vnesite kodo",
8190
8209
  enterCodeAria: "Vnesite kodo, ki jo slišite. Pritisnite preslednico za predvajanje zvoka.",
8191
8210
  error: "Preverjanje ni uspelo. Poskusite znova kasneje.",
8192
8211
  expired: "Preverjanje je poteklo. Poskusite znova.",
8193
- footer: 'Zaščiteno z <a href="https://altcha.org/" target="_blank" aria-label="Obiščite Altcha.org">ALTCHA</a>',
8212
+ footer: 'Zaščiteno z <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (uradna spletna stran)">ALTCHA</a>',
8194
8213
  getAudioChallenge: "Pridobite zvočni izziv",
8195
8214
  label: "Nisem robot",
8196
8215
  loading: "Nalagam...",
@@ -8207,12 +8226,12 @@
8207
8226
  globalThis.$altcha.i18n.set("sl", i18n$q);
8208
8227
  }
8209
8228
  const i18n$p = {
8210
- ariaLinkLabel: "Vizitoni Altcha.org",
8229
+ ariaLinkLabel: "Altcha (faqja zyrtare)",
8211
8230
  enterCode: "Fut kodin",
8212
8231
  enterCodeAria: "Fut kodin që dëgjon. Shtypni Hapësirë për të luajtur audio.",
8213
8232
  error: "Verifikimi dështoi. Provoni përsëri më vonë.",
8214
8233
  expired: "Verifikimi ka skaduar. Provoni përsëri.",
8215
- footer: 'I mbrojtur nga <a href="https://altcha.org/" target="_blank" aria-label="Vizitoni Altcha.org">ALTCHA</a>',
8234
+ footer: 'I mbrojtur nga <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (faqja zyrtare)">ALTCHA</a>',
8216
8235
  getAudioChallenge: "Merr një sfidë audio",
8217
8236
  label: "Unë nuk jam një robot",
8218
8237
  loading: "Duke u ngarkuar...",
@@ -8229,12 +8248,12 @@
8229
8248
  globalThis.$altcha.i18n.set("sq", i18n$p);
8230
8249
  }
8231
8250
  const i18n$o = {
8232
- ariaLinkLabel: "Posetite Altcha.org",
8251
+ ariaLinkLabel: "Altcha (zvanična web stranica)",
8233
8252
  enterCode: "Unesite kod",
8234
8253
  enterCodeAria: "Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",
8235
8254
  error: "Verifikacija nije uspela. Pokušajte ponovo kasnije.",
8236
8255
  expired: "Verifikacija je istekla. Pokušajte ponovo.",
8237
- footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posetite Altcha.org">ALTCHA</a>',
8256
+ footer: 'Zaštićeno od strane <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (zvanična web stranica)">ALTCHA</a>',
8238
8257
  getAudioChallenge: "Dohvatite audio izazov",
8239
8258
  label: "Nisam robot",
8240
8259
  loading: "Učitavanje...",
@@ -8251,12 +8270,12 @@
8251
8270
  globalThis.$altcha.i18n.set("sr", i18n$o);
8252
8271
  }
8253
8272
  const i18n$n = {
8254
- ariaLinkLabel: "Besök Altcha.org",
8273
+ ariaLinkLabel: "Altcha (officiell webbplats)",
8255
8274
  enterCode: "Ange kod",
8256
8275
  enterCodeAria: "Ange koden du hör. Tryck på mellanslag för att spela upp ljudet.",
8257
8276
  error: "Verifiering misslyckades. Försök igen senare.",
8258
8277
  expired: "Verifieringen har gått ut. Försök igen.",
8259
- footer: 'Skyddad av <a href="https://altcha.org/" target="_blank" aria-label="Besök Altcha.org">ALTCHA</a>',
8278
+ footer: 'Skyddad av <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (officiell webbplats)">ALTCHA</a>',
8260
8279
  getAudioChallenge: "Få ljudutmaning",
8261
8280
  label: "Jag är inte en robot",
8262
8281
  loading: "Laddar...",
@@ -8273,12 +8292,12 @@
8273
8292
  globalThis.$altcha.i18n.set("sv", i18n$n);
8274
8293
  }
8275
8294
  const i18n$m = {
8276
- ariaLinkLabel: "Altcha.org'yu ziyaret edin",
8295
+ ariaLinkLabel: "Altcha (resmi web sitesi)",
8277
8296
  enterCode: "Kodu girin",
8278
8297
  enterCodeAria: "Duyduğunuz kodu girin. Ses dosyasını oynatmak için Boşluk tuşuna basın.",
8279
8298
  error: "Doğrulama başarısız oldu. Lütfen daha sonra tekrar deneyin.",
8280
8299
  expired: "Doğrulama süresi doldu. Lütfen tekrar deneyin.",
8281
- footer: `ALTCHA tarafından korunuyor <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org'yu ziyaret edin">ALTCHA</a>`,
8300
+ footer: 'ALTCHA tarafından korunuyor <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (resmi web sitesi)">ALTCHA</a>',
8282
8301
  getAudioChallenge: "Sesli doğrulama al",
8283
8302
  label: "Ben robot değilim",
8284
8303
  loading: "Yükleniyor...",
@@ -8295,12 +8314,12 @@
8295
8314
  globalThis.$altcha.i18n.set("tr", i18n$m);
8296
8315
  }
8297
8316
  const i18n$l = {
8298
- ariaLinkLabel: "Відвідати Altcha.org",
8317
+ ariaLinkLabel: "Altcha (офіційний сайт)",
8299
8318
  enterCode: "Введіть код",
8300
8319
  enterCodeAria: "Введіть код, який ви чуєте. Натисніть пробіл, щоб відтворити аудіо.",
8301
8320
  error: "Перевірка не вдалася. Спробуйте пізніше.",
8302
8321
  expired: "Перевірка прострочена. Спробуйте знову.",
8303
- footer: 'Захищено <a href="https://altcha.org/" target="_blank" aria-label="Відвідати Altcha.org">ALTCHA</a>',
8322
+ footer: 'Захищено <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (офіційний сайт)">ALTCHA</a>',
8304
8323
  getAudioChallenge: "Отримати аудіо-челлендж",
8305
8324
  label: "Я не робот",
8306
8325
  loading: "Завантаження...",
@@ -8317,12 +8336,12 @@
8317
8336
  globalThis.$altcha.i18n.set("uk", i18n$l);
8318
8337
  }
8319
8338
  const i18n$k = {
8320
- ariaLinkLabel: "Besoek Altcha.org",
8339
+ ariaLinkLabel: "Altcha (amptelike webwerf)",
8321
8340
  enterCode: "Voer kode in",
8322
8341
  enterCodeAria: "Voer die kode in wat jy hoor. Druk Spasie om die klank af te speel.",
8323
8342
  error: "Verifikasie het misluk. Probeer later weer.",
8324
8343
  expired: "Verifikasie het verval. Probeer weer.",
8325
- footer: 'Beskerm deur <a href="https://altcha.org/" target="_blank" aria-label="Besoek Altcha.org">ALTCHA</a>',
8344
+ footer: 'Beskerm deur <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (amptelike webwerf)">ALTCHA</a>',
8326
8345
  getAudioChallenge: "Kry 'n klankuitdaging",
8327
8346
  label: "Ek is nie 'n robot nie",
8328
8347
  loading: "Laai...",
@@ -8339,12 +8358,12 @@
8339
8358
  globalThis.$altcha.i18n.set("af", i18n$k);
8340
8359
  }
8341
8360
  const i18n$j = {
8342
- ariaLinkLabel: "Altcha.org ይጎብኙ",
8361
+ ariaLinkLabel: "Altcha (ዋናው ድህረ ገጽ)",
8343
8362
  enterCode: "ኮድ አስገባ",
8344
8363
  enterCodeAria: "የሚሰማዎትን ኮድ ያስገቡ። ድምጽ ለመጫወት Space ን ይጫኑ።",
8345
8364
  error: "ማረጋገጫ አልተሳካም። በኋላ ላይ እንደገና ይሞክሩ።",
8346
8365
  expired: "ማረጋገጫው ጊዜው አልፏል። እንደገና ይሞክሩ።",
8347
- footer: 'በ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org ይጎብኙ">ALTCHA</a> የተጠበቀ',
8366
+ footer: 'በ <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (ዋናው ድህረ ገጽ)">ALTCHA</a> የተጠበቀ',
8348
8367
  getAudioChallenge: "የድምጽ ፈተና ያግኙ",
8349
8368
  label: "እኔ ሮቦት አይደለሁም",
8350
8369
  loading: "በመጫን ላይ...",
@@ -8361,12 +8380,12 @@
8361
8380
  globalThis.$altcha.i18n.set("am", i18n$j);
8362
8381
  }
8363
8382
  const i18n$i = {
8364
- ariaLinkLabel: "Tembelea Altcha.org",
8383
+ ariaLinkLabel: "Altcha (tovuti rasmi)",
8365
8384
  enterCode: "Weka nambari",
8366
8385
  enterCodeAria: "Weka nambari unayosikia. Bonyeza Space kucheza sauti.",
8367
8386
  error: "Uthibitishaji umeshindwa. Jaribu tena baadaye.",
8368
8387
  expired: "Uthibitishaji umeisha. Jaribu tena.",
8369
- footer: 'Imealindwa na <a href="https://altcha.org/" target="_blank" aria-label="Tembelea Altcha.org">ALTCHA</a>',
8388
+ footer: 'Imealindwa na <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (tovuti rasmi)">ALTCHA</a>',
8370
8389
  getAudioChallenge: "Pata changamoto ya sauti",
8371
8390
  label: "Mimi sio roboti",
8372
8391
  loading: "Inapakia...",
@@ -8383,12 +8402,12 @@
8383
8402
  globalThis.$altcha.i18n.set("sw", i18n$i);
8384
8403
  }
8385
8404
  const i18n$h = {
8386
- ariaLinkLabel: "Ṣe abẹwo si Altcha.org",
8405
+ ariaLinkLabel: "Altcha (oju opo wẹẹbu osise)",
8387
8406
  enterCode: "Tẹ koodu sii",
8388
8407
  enterCodeAria: "Tẹ koodu ti o ngbọ sii. Tẹ Space lati ṣe ohun orin.",
8389
8408
  error: "Ìdájọ́kòwò kò ṣẹ́ṣe. Gbiyanju lẹẹkansi ni ọjọ́ iwájú.",
8390
8409
  expired: "Ìdájọ́kòwò ti pari. Gbiyanju lẹẹkansi.",
8391
- footer: 'Ti wa ni ààbò nipasẹ <a href="https://altcha.org/" target="_blank" aria-label="Ṣe abẹwo si Altcha.org">ALTCHA</a>',
8410
+ footer: 'Ti wa ni ààbò nipasẹ <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (oju opo wẹẹbu osise)">ALTCHA</a>',
8392
8411
  getAudioChallenge: "Gba ìjàdú ohùn",
8393
8412
  label: "Emi kii ṣe ẹrọ",
8394
8413
  loading: "Ó ń gbé sílẹ̀...",
@@ -8405,12 +8424,12 @@
8405
8424
  globalThis.$altcha.i18n.set("yo", i18n$h);
8406
8425
  }
8407
8426
  const i18n$g = {
8408
- ariaLinkLabel: "Altcha.org পরিদর্শন করুন",
8427
+ ariaLinkLabel: "Altcha (অফিসিয়াল ওয়েবসাইট)",
8409
8428
  enterCode: "কোড লিখুন",
8410
8429
  enterCodeAria: "আপনি যে কোড শুনতে পান তা লিখুন। অডিও প্লে করতে স্পেস বাটন টিপুন।",
8411
8430
  error: "যাচাইকরণ ব্যর্থ হয়েছে। পরে আবার চেষ্টা করুন।",
8412
8431
  expired: "যাচাইকরণ সময়সীমা শেষ হয়েছে। আবার চেষ্টা করুন।",
8413
- footer: 'দ্বারা সুরক্ষিত <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org পরিদর্শন করুন">ALTCHA</a>',
8432
+ footer: 'দ্বারা সুরক্ষিত <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (অফিসিয়াল ওয়েবসাইট)">ALTCHA</a>',
8414
8433
  getAudioChallenge: "অডিও চ্যালেঞ্জ নিন",
8415
8434
  label: "আমি রোবট নই",
8416
8435
  loading: "লোড হচ্ছে...",
@@ -8427,12 +8446,12 @@
8427
8446
  globalThis.$altcha.i18n.set("bn", i18n$g);
8428
8447
  }
8429
8448
  const i18n$f = {
8430
- ariaLinkLabel: "בקר באתר Altcha.org",
8449
+ ariaLinkLabel: "Altcha (אתר רשמי)",
8431
8450
  enterCode: "הזן קוד",
8432
8451
  enterCodeAria: "הזן את הקוד שאתה שומע. לחץ על רווח להפעלת השמע.",
8433
8452
  error: "האימות נכשל. נסה שוב מאוחר יותר.",
8434
8453
  expired: "תוקף האימות פג. נסה שוב.",
8435
- footer: 'מוגן על ידי <a href="https://altcha.org/" target="_blank" aria-label="בקר באתר Altcha.org">ALTCHA</a>',
8454
+ footer: 'מוגן על ידי <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (אתר רשמי)">ALTCHA</a>',
8436
8455
  getAudioChallenge: "קבל אתגר שמע",
8437
8456
  label: "אני לא רובוט",
8438
8457
  loading: "טוען...",
@@ -8449,12 +8468,12 @@
8449
8468
  globalThis.$altcha.i18n.set("he", i18n$f);
8450
8469
  }
8451
8470
  const i18n$e = {
8452
- ariaLinkLabel: "Altcha.org पर जाएं",
8471
+ ariaLinkLabel: "Altcha (आधिकारिक वेबसाइट)",
8453
8472
  enterCode: "कोड दर्ज करेंं",
8454
8473
  enterCodeAria: "आप जो कोड सुनते हैं उसे दर्ज करें। ऑडियो चलाने के लिए स्पेस दबाएं।",
8455
8474
  error: "सत्यापन विफल। कृपया बाद में फिर से प्रयास करें।",
8456
8475
  expired: "सत्यापन समाप्त हो गया है। कृपया पुनः प्रयास करें।",
8457
- footer: 'द्वारा संरक्षित <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org पर जाएं">ALTCHA</a>',
8476
+ footer: 'द्वारा संरक्षित <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (आधिकारिक वेबसाइट)">ALTCHA</a>',
8458
8477
  getAudioChallenge: "ऑडियो चुनौती प्राप्त करें",
8459
8478
  label: "मैं रोबोट नहीं हूँ",
8460
8479
  loading: "लोड हो रहा है...",
@@ -8471,12 +8490,12 @@
8471
8490
  globalThis.$altcha.i18n.set("hi", i18n$e);
8472
8491
  }
8473
8492
  const i18n$d = {
8474
- ariaLinkLabel: "Kunjungi Altcha.org",
8493
+ ariaLinkLabel: "Altcha (situs web resmi)",
8475
8494
  enterCode: "Masukkan kode",
8476
8495
  enterCodeAria: "Masukkan kode yang Anda dengar. Tekan Spasi untuk memutar audio.",
8477
8496
  error: "Verifikasi gagal. Coba lagi nanti.",
8478
8497
  expired: "Verifikasi telah kedaluwarsa. Coba lagi.",
8479
- footer: 'Dilindungi oleh <a href="https://altcha.org/" target="_blank" aria-label="Kunjungi Altcha.org">ALTCHA</a>',
8498
+ footer: 'Dilindungi oleh <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (situs web resmi)">ALTCHA</a>',
8480
8499
  getAudioChallenge: "Dapatkan tantangan audio",
8481
8500
  label: "Saya bukan robot",
8482
8501
  loading: "Memuat...",
@@ -8493,12 +8512,12 @@
8493
8512
  globalThis.$altcha.i18n.set("id", i18n$d);
8494
8513
  }
8495
8514
  const i18n$c = {
8496
- ariaLinkLabel: "Altcha.orgを訪問",
8515
+ ariaLinkLabel: "Altcha (公式ウェブサイト)",
8497
8516
  enterCode: "コードを入力",
8498
8517
  enterCodeAria: "聞こえるコードを入力してください。スペースキーを押して音声を再生します。",
8499
8518
  error: "認証に失敗しました。後でもう一度試してください。",
8500
8519
  expired: "認証が期限切れです。再試行してください。",
8501
- footer: '保護されています <a href="https://altcha.org/" target="_blank" aria-label="Altcha.orgを訪問">ALTCHA</a>',
8520
+ footer: '保護されています <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (公式ウェブサイト)">ALTCHA</a>',
8502
8521
  getAudioChallenge: "音声チャレンジを取得",
8503
8522
  label: "私はロボットではありません",
8504
8523
  loading: "読み込み中...",
@@ -8515,12 +8534,12 @@
8515
8534
  globalThis.$altcha.i18n.set("ja", i18n$c);
8516
8535
  }
8517
8536
  const i18n$b = {
8518
- ariaLinkLabel: "Altcha.org 방문하기",
8537
+ ariaLinkLabel: "Altcha (공식 웹사이트)",
8519
8538
  enterCode: "코드 입력",
8520
8539
  enterCodeAria: "들리는 코드를 입력하세요. 스페이스 바를 눌러 오디오를 재생합니다.",
8521
8540
  error: "인증 실패. 나중에 다시 시도해주세요.",
8522
8541
  expired: "인증이 만료되었습니다. 다시 시도해주세요.",
8523
- footer: 'ALTCHA에서 보호됨 <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org 방문하기">ALTCHA</a>',
8542
+ footer: 'ALTCHA에서 보호됨 <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (공식 웹사이트)">ALTCHA</a>',
8524
8543
  getAudioChallenge: "오디오 챌린지 받기",
8525
8544
  label: "저는 로봇이 아닙니다",
8526
8545
  loading: "로딩 중...",
@@ -8537,12 +8556,12 @@
8537
8556
  globalThis.$altcha.i18n.set("ko", i18n$b);
8538
8557
  }
8539
8558
  const i18n$a = {
8540
- ariaLinkLabel: "Altcha.org сайтына кіру",
8559
+ ariaLinkLabel: "Altcha (ресми веб-сайт)",
8541
8560
  enterCode: "Кодты енгізіңіз",
8542
8561
  enterCodeAria: "Естіген кодыңызды енгізіңіз. Аудионы ойнату үшін Бос орынды басыңыз.",
8543
8562
  error: "Тексеру сәтсіз аяқталды. Кейінірек қайталаңыз.",
8544
8563
  expired: "Тексеру мерзімі аяқталды. Қайталаңыз.",
8545
- footer: '<a href="https://altcha.org/" target="_blank" aria-label="Altcha.org сайтына кіру">ALTCHA</a> қорғайды',
8564
+ footer: '<a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (ресми веб-сайт)">ALTCHA</a> қорғайды',
8546
8565
  getAudioChallenge: "Аудио сынақ алу",
8547
8566
  label: "Мен робот емеспін",
8548
8567
  loading: "Жүктелуде...",
@@ -8559,12 +8578,12 @@
8559
8578
  globalThis.$altcha.i18n.set("kk", i18n$a);
8560
8579
  }
8561
8580
  const i18n$9 = {
8562
- ariaLinkLabel: "Altcha.org भेट द्या",
8581
+ ariaLinkLabel: "Altcha (अधिकृत संकेतस्थळ)",
8563
8582
  enterCode: "कोड टाकाा",
8564
8583
  enterCodeAria: "तुम्ही ऐकत असलेला कोड टाका. ऑडिओ प्ले करण्यासाठी स्पेस दाबा.",
8565
8584
  error: "पुष्टीकरण अयशस्वी झाले. कृपया नंतर पुन्हा प्रयत्न करा.",
8566
8585
  expired: "पुष्टीकरण कालबाह्य झाले आहे. कृपया पुन्हा प्रयत्न करा.",
8567
- footer: 'द्वारे संरक्षित <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org भेट द्या">ALTCHA</a>',
8586
+ footer: 'द्वारे संरक्षित <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (अधिकृत संकेतस्थळ)">ALTCHA</a>',
8568
8587
  getAudioChallenge: "ऑडिओ चॅलेंज मिळवा",
8569
8588
  label: "मी रोबोट नाही",
8570
8589
  loading: "लोड होत आहे...",
@@ -8581,12 +8600,12 @@
8581
8600
  globalThis.$altcha.i18n.set("mr", i18n$9);
8582
8601
  }
8583
8602
  const i18n$8 = {
8584
- ariaLinkLabel: "Altcha.org பார்வையிடவும்",
8603
+ ariaLinkLabel: "Altcha (அதிகாரப்பூர்வ வலைத்தளம்)",
8585
8604
  enterCode: "குறியீட்டை உள்ளிடவும்",
8586
8605
  enterCodeAria: "நீங்கள் கேட்கும் குறியீட்டை உள்ளிடவும். ஆடியோவை இயக்க Space ஐ அழுத்தவும்.",
8587
8606
  error: "சரிபார்ப்பு தோல்வி. பிறகு மீண்டும் முயற்சிக்கவும்.",
8588
8607
  expired: "சரிபார்ப்பு காலாவதியானது. மீண்டும் முயற்சிக்கவும்.",
8589
- footer: 'மூலமாக பாதுகாக்கப்பட்டவை <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org பார்வையிடவும்">ALTCHA</a>',
8608
+ footer: 'மூலமாக பாதுகாக்கப்பட்டவை <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (அதிகாரப்பூர்வ வலைத்தளம்)">ALTCHA</a>',
8590
8609
  getAudioChallenge: "ஒலி சவாலை பெறவும்",
8591
8610
  label: "நான் ரோபோடான அல்ல",
8592
8611
  loading: "செயலாக்கம்...",
@@ -8603,12 +8622,12 @@
8603
8622
  globalThis.$altcha.i18n.set("ta", i18n$8);
8604
8623
  }
8605
8624
  const i18n$7 = {
8606
- ariaLinkLabel: "Altcha.org సందర్శించండి",
8625
+ ariaLinkLabel: "Altcha (అధికారిక వెబ్‌సైట్)",
8607
8626
  enterCode: "కోడ్‌ని నమోదు చేయండి",
8608
8627
  enterCodeAria: "మీరు విన్న కోడ్‌ని నమోదు చేయండి. ఆడియో ప్లే చేయడానికి స్పేస్‌ను నొక్కండి.",
8609
8628
  error: "చెకింగ్ విఫలమైంది. దయచేసి మరల ప్రయత్నించండి.",
8610
8629
  expired: "చెకింగ్ కాలం ముగిసింది. దయచేసి మరల ప్రయత్నించండి.",
8611
- footer: 'ఈ సైట్ రక్షించబడింది <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org సందర్శించండి">ALTCHA</a>',
8630
+ footer: 'ఈ సైట్ రక్షించబడింది <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (అధికారిక వెబ్‌సైట్)">ALTCHA</a>',
8612
8631
  getAudioChallenge: "ఆడియో ఛాలెంజ్ పొందండి",
8613
8632
  label: "నేను రోబోట్ కాదు",
8614
8633
  loading: "లోడ్ అవుతోంది...",
@@ -8625,12 +8644,12 @@
8625
8644
  globalThis.$altcha.i18n.set("te", i18n$7);
8626
8645
  }
8627
8646
  const i18n$6 = {
8628
- ariaLinkLabel: "เยี่ยมชม Altcha.org",
8647
+ ariaLinkLabel: "Altcha (เว็บไซต์ทางการ)",
8629
8648
  enterCode: "ป้อนรหัส",
8630
8649
  enterCodeAria: "ป้อนรหัสที่คุณได้ยิน กด Space เพื่อเล่นเสียง",
8631
8650
  error: "การตรวจสอบล้มเหลว กรุณาลองอีกครั้งภายหลัง",
8632
8651
  expired: "การตรวจสอบหมดอายุ กรุณาลองใหม่",
8633
- footer: 'ป้องกันโดย <a href="https://altcha.org/" target="_blank" aria-label="เยี่ยมชม Altcha.org">ALTCHA</a>',
8652
+ footer: 'ป้องกันโดย <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (เว็บไซต์ทางการ)">ALTCHA</a>',
8634
8653
  getAudioChallenge: "รับการท้าทายเสียง",
8635
8654
  label: "ฉันไม่ใช่บอท",
8636
8655
  loading: "กำลังโหลด...",
@@ -8647,12 +8666,12 @@
8647
8666
  globalThis.$altcha.i18n.set("th", i18n$6);
8648
8667
  }
8649
8668
  const i18n$5 = {
8650
- ariaLinkLabel: "Altcha.org پر جائیں",
8669
+ ariaLinkLabel: "Altcha (سرکاری ویب سائٹ)",
8651
8670
  enterCode: "کوڈ درج کریں",
8652
8671
  enterCodeAria: "جو کوڈ آپ سنتے ہیں وہ درج کریں۔ آڈیو چلانے کے لیے اسپیس دبائیں۔",
8653
8672
  error: "توثیق ناکام ہو گئی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔",
8654
8673
  expired: "توثیق کی مدت ختم ہو گئی ہے۔ براہ کرم دوبارہ کوشش کریں۔",
8655
- footer: 'کے ذریعے محفوظ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org پر جائیں">ALTCHA</a>',
8674
+ footer: 'کے ذریعے محفوظ <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (سرکاری ویب سائٹ)">ALTCHA</a>',
8656
8675
  getAudioChallenge: "آڈیو چیلنج حاصل کریں",
8657
8676
  label: "میں روبوٹ نہیں ہوں",
8658
8677
  loading: "لوڈ ہو رہا ہے...",
@@ -8669,12 +8688,12 @@
8669
8688
  globalThis.$altcha.i18n.set("ur", i18n$5);
8670
8689
  }
8671
8690
  const i18n$4 = {
8672
- ariaLinkLabel: "Altcha.org saytiga tashrif buyuring",
8691
+ ariaLinkLabel: "Altcha (rasmiy veb-sayt)",
8673
8692
  enterCode: "Kodni kiriting",
8674
8693
  enterCodeAria: "Eshitgan kodingizni kiriting. Audioni ijro etish uchun Bo'sh joy tugmasini bosing.",
8675
8694
  error: "Tekshiruv muvaffaqiyatsiz tugadi. Keyinroq qayta urinib ko'ring.",
8676
8695
  expired: "Tekshiruv muddati tugadi. Qayta urinib ko'ring.",
8677
- footer: '<a href="https://altcha.org/" target="_blank" aria-label="Altcha.org saytiga tashrif buyuring">ALTCHA</a> tomonidan himoyalangan',
8696
+ footer: '<a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (rasmiy veb-sayt)">ALTCHA</a> tomonidan himoyalangan',
8678
8697
  getAudioChallenge: "Audio sinovni olish",
8679
8698
  label: "Men robot emasman",
8680
8699
  loading: "Yuklanmoqda...",
@@ -8691,12 +8710,12 @@
8691
8710
  globalThis.$altcha.i18n.set("uz", i18n$4);
8692
8711
  }
8693
8712
  const i18n$3 = {
8694
- ariaLinkLabel: "Truy cập Altcha.org",
8713
+ ariaLinkLabel: "Altcha (trang web chính thức)",
8695
8714
  enterCode: "Nhập mã",
8696
8715
  enterCodeAria: "Nhập mã bạn nghe được. Nhấn Phím cách để phát âm thanh.",
8697
8716
  error: "Xác minh thất bại. Vui lòng thử lại sau.",
8698
8717
  expired: "Xác minh đã hết hạn. Vui lòng thử lại.",
8699
- footer: 'Được bảo vệ bởi <a href="https://altcha.org/" target="_blank" aria-label="Truy cập Altcha.org">ALTCHA</a>',
8718
+ footer: 'Được bảo vệ bởi <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (trang web chính thức)">ALTCHA</a>',
8700
8719
  getAudioChallenge: "Nhận thử thách âm thanh",
8701
8720
  label: "Tôi không phải là robot",
8702
8721
  loading: "Đang tải...",
@@ -8713,12 +8732,12 @@
8713
8732
  globalThis.$altcha.i18n.set("vi", i18n$3);
8714
8733
  }
8715
8734
  const i18n$2 = {
8716
- ariaLinkLabel: "访问 Altcha.org",
8735
+ ariaLinkLabel: "Altcha (官方网站)",
8717
8736
  enterCode: "输入代码",
8718
8737
  enterCodeAria: "输入您听到的代码。按空格键播放音频。",
8719
8738
  error: "验证失败。稍后再试。",
8720
8739
  expired: "验证已过期。请重试。",
8721
- footer: '由 <a href="https://altcha.org/" target="_blank" aria-label="访问 Altcha.org">ALTCHA</a> 保护',
8740
+ footer: '由 <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (官方网站)">ALTCHA</a> 保护',
8722
8741
  getAudioChallenge: "获取音频挑战",
8723
8742
  label: "我不是机器人",
8724
8743
  loading: "加载中...",
@@ -8735,14 +8754,14 @@
8735
8754
  globalThis.$altcha.i18n.set("zh-cn", i18n$2);
8736
8755
  }
8737
8756
  const i18n$1 = {
8738
- ariaLinkLabel: "前往 Altcha.org",
8757
+ ariaLinkLabel: "Altcha (官方網站)",
8739
8758
  cancel: "取消",
8740
8759
  enterCode: "輸入代碼",
8741
8760
  enterCodeAria: "輸入你聽到嘅代碼。按空格鍵播放音訊。",
8742
8761
  enterCodeFromImage: "要繼續,請輸入下面圖片入面嘅代碼。",
8743
8762
  error: "驗證失敗。請稍後再試。",
8744
8763
  expired: "驗證已過期。請再試一次。",
8745
- footer: '由 <a href="https://altcha.org/" target="_blank" aria-label="前往 Altcha.org">ALTCHA</a> 提供保護',
8764
+ footer: '由 <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (官方網站)">ALTCHA</a> 提供保護',
8746
8765
  getAudioChallenge: "取得音訊驗證",
8747
8766
  label: "我唔係機械人",
8748
8767
  loading: "載入中...",
@@ -8757,12 +8776,12 @@
8757
8776
  globalThis.$altcha.i18n.set("zh-hk", i18n$1);
8758
8777
  }
8759
8778
  const i18n = {
8760
- ariaLinkLabel: "訪問 Altcha.org",
8779
+ ariaLinkLabel: "Altcha (官方網站)",
8761
8780
  enterCode: "輸入代碼",
8762
8781
  enterCodeAria: "輸入您聽到的代碼。按空格鍵播放音頻。",
8763
8782
  error: "驗證失敗。稍後再試。",
8764
8783
  expired: "驗證已過期。請重試。",
8765
- footer: '由 <a href="https://altcha.org/" target="_blank" aria-label="訪問 Altcha.org">ALTCHA</a> 保護',
8784
+ footer: '由 <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (官方網站)">ALTCHA</a> 保護',
8766
8785
  getAudioChallenge: "獲取音頻挑戰",
8767
8786
  label: "我不是機器人",
8768
8787
  loading: "載入中...",