1(function(){var e=` 2 /* --- Farb-Palette (Light-Default) --- */ 3 :host { 4 --fpk-surface: #ffffff; /* Fenster/Composer/Input-Hintergrund */ 5 --fpk-surface-2: #f0f2f5; /* Bot-Bubble, Button-Hover */ 6 --fpk-text: #1a1a1a; /* Haupttext */ 7 --fpk-text-muted: #888888; /* sekundaerer Text/Icons */ 8 --fpk-border: #e0e0e0; /* Rahmen/Trennlinien */ 9 --fpk-primary: #1e3a5f; /* Markenblau: Header, Button, User-Bubble, Senden, Tooltip (HINTERGRUND) */ 10 --fpk-primary-text: #ffffff; /* Text auf --fpk-primary */ 11 --fpk-accent: #1e3a5f; /* Akzent fuer TEXT/Border auf Flaechen (Links, Fokus-Border) */ 12 --fpk-success: #16a34a; 13 --fpk-error: #dc2626; 14 --fpk-shadow: rgba(0,0,0,0.12); 15 } 16 17 /* --- Dark-Mode-Overrides --- */ 18 :host(.fpk-theme-dark) { 19 --fpk-surface: #1b2030; 20 --fpk-surface-2: #2a3142; 21 --fpk-text: #e8eaf0; 22 --fpk-text-muted: #9aa3b2; 23 --fpk-border: #353c4d; 24 --fpk-primary: #2d4a6f; /* leicht aufgehellt, damit Header/User-Bubble sich von --fpk-surface abheben */ 25 --fpk-primary-text: #ffffff; 26 --fpk-accent: #6ea8ff; /* helles Blau fuer Links/Akzente auf dunklem Grund */ 27 --fpk-success: #22c55e; 28 --fpk-error: #f87171; 29 --fpk-shadow: rgba(0,0,0,0.5); 30 } 31 32 * { box-sizing: border-box; margin: 0; padding: 0; } 33 34 .fpk-chat-button { 35 position: fixed; 36 bottom: 24px; 37 right: 24px; 38 width: 40px; 39 height: 40px; 40 border-radius: 50%; 41 background: var(--fpk-primary); 42 border: none; 43 cursor: pointer; 44 box-shadow: 0 4px 12px rgba(0,0,0,0.15); 45 display: flex; 46 align-items: center; 47 justify-content: center; 48 transition: transform 0.2s, box-shadow 0.2s, opacity 0.6s ease-out; 49 z-index: 99998; 50 opacity: 0; 51 pointer-events: none; 52 } 53 .fpk-chat-button.fpk-visible { 54 opacity: 1; 55 pointer-events: auto; 56 } 57 .fpk-chat-button.fpk-inline { 58 position: static; 59 bottom: auto; 60 right: auto; 61 left: auto; 62 top: auto; 63 transform: none; 64 } 65 .fpk-chat-button.fpk-inline:hover { 66 transform: scale(1.08); 67 } 68 .fpk-chat-button:hover { 69 transform: scale(1.08); 70 box-shadow: 0 6px 20px rgba(0,0,0,0.2); 71 } 72 .fpk-chat-button svg { 73 width: 18px; 74 height: 18px; 75 fill: var(--fpk-primary-text); 76 } 77 78 .fpk-chat-window { 79 position: fixed; 80 /* Default: bottom-right Overlay (gleicher Anker wie Button, ueberdeckt ihn beim Oeffnen) */ 81 bottom: 24px; 82 right: 24px; 83 width: 380px; 84 max-width: calc(100vw - 32px); 85 height: 520px; 86 max-height: calc(100vh - 48px); 87 background: var(--fpk-surface); 88 border-radius: 16px; 89 box-shadow: 0 8px 32px var(--fpk-shadow); 90 display: flex; 91 flex-direction: column; 92 overflow: hidden; 93 z-index: 99999; 94 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 95 opacity: 0; 96 transform: scale(0.92); 97 transform-origin: bottom right; 98 transition: opacity 0.2s ease, transform 0.2s ease; 99 pointer-events: none; 100 } 101 .fpk-chat-window.fpk-open { 102 opacity: 1; 103 transform: scale(1); 104 pointer-events: auto; 105 } 106 107 /* Mobile: Widget vollformatig, kein Rand. Setzt sich gegen die fixen 108 width/height/bottom/right Werte oben durch (height fallback ueber 100dvh). */ 109 @media (max-width: 480px), (max-height: 600px) { 110 .fpk-chat-window, 111 .fpk-chat-window.fpk-pos-bottom-left, 112 .fpk-chat-window.fpk-pos-top-right, 113 .fpk-chat-window.fpk-pos-top-left, 114 .fpk-chat-window.fpk-pos-right, 115 .fpk-chat-window.fpk-pos-left { 116 top: 0; 117 left: 0; 118 right: 0; 119 bottom: 0; 120 width: 100vw; 121 height: 100vh; 122 height: 100dvh; 123 max-width: 100vw; 124 max-height: 100vh; 125 max-height: 100dvh; 126 border-radius: 0; 127 transform: scale(0.95); 128 transform-origin: center; 129 } 130 .fpk-chat-window.fpk-open, 131 .fpk-chat-window.fpk-pos-right.fpk-open, 132 .fpk-chat-window.fpk-pos-left.fpk-open { 133 transform: scale(1); 134 } 135 /* Resize-Handle auf Mobile ausblenden â touch-targets sind zu klein und 136 das Fenster ist sowieso fullscreen */ 137 .fpk-resize-handle { display: none; } 138 } 139 140 /* --- Positionierungs-Modifier --- */ 141 .fpk-chat-button.fpk-pos-bottom-left { right: auto; left: 24px; } 142 .fpk-chat-button.fpk-pos-top-right { bottom: auto; top: 24px; } 143 .fpk-chat-button.fpk-pos-top-left { bottom: auto; top: 24px; right: auto; left: 24px; } 144 .fpk-chat-button.fpk-pos-right { bottom: auto; top: 50%; transform: translateY(-50%); } 145 .fpk-chat-button.fpk-pos-left { bottom: auto; top: 50%; right: auto; left: 24px; transform: translateY(-50%); } 146 147 .fpk-chat-window.fpk-pos-bottom-left { right: auto; left: 24px; transform-origin: bottom left; } 148 .fpk-chat-window.fpk-pos-top-right { bottom: auto; top: 24px; transform-origin: top right; } 149 .fpk-chat-window.fpk-pos-top-left { bottom: auto; top: 24px; right: auto; left: 24px; transform-origin: top left; } 150 .fpk-chat-window.fpk-pos-right { 151 bottom: auto; 152 top: 50%; 153 transform: translateY(-50%) scale(0.92); 154 transform-origin: right center; 155 } 156 .fpk-chat-window.fpk-pos-left { 157 bottom: auto; 158 top: 50%; 159 right: auto; 160 left: 24px; 161 transform: translateY(-50%) scale(0.92); 162 transform-origin: left center; 163 } 164 165 /* Open-State fuer mittig-positionierte Fenster: translateY(-50%) bleibt erhalten */ 166 .fpk-chat-window.fpk-pos-right.fpk-open, 167 .fpk-chat-window.fpk-pos-left.fpk-open { transform: translateY(-50%) scale(1); } 168 169 .fpk-resize-handle { 170 position: absolute; 171 top: 0; 172 left: 0; 173 width: 18px; 174 height: 18px; 175 cursor: nwse-resize; 176 z-index: 100; 177 border-top-left-radius: 16px; 178 background: 179 linear-gradient(135deg, transparent 6px, rgba(255,255,255,0.55) 6px, rgba(255,255,255,0.55) 7px, transparent 7px), 180 linear-gradient(135deg, transparent 9px, rgba(255,255,255,0.55) 9px, rgba(255,255,255,0.55) 10px, transparent 10
180px), 181 linear-gradient(135deg, transparent 12px, rgba(255,255,255,0.55) 12px, rgba(255,255,255,0.55) 13px, transparent 13px); 182 opacity: 0.7; 183 transition: opacity 0.15s; 184 } 185 .fpk-resize-handle:hover { 186 opacity: 1; 187 } 188 .fpk-chat-window.fpk-resizing { 189 transition: none; 190 user-select: none; 191 } 192 193 /* Resize-Handle pro Position auf die "weit-vom-Anker" Ecke verschieben */ 194 .fpk-chat-window.fpk-pos-bottom-left .fpk-resize-handle { 195 left: auto; 196 right: 0; 197 border-top-left-radius: 0; 198 border-top-right-radius: 16px; 199 cursor: nesw-resize; 200 background: 201 linear-gradient(225deg, transparent 6px, rgba(255,255,255,0.55) 6px, rgba(255,255,255,0.55) 7px, transparent 7px), 202 linear-gradient(225deg, transparent 9px, rgba(255,255,255,0.55) 9px, rgba(255,255,255,0.55) 10px, transparent 10px), 203 linear-gradient(225deg, transparent 12px, rgba(255,255,255,0.55) 12px, rgba(255,255,255,0.55) 13px, transparent 13px); 204 } 205 .fpk-chat-window.fpk-pos-top-right .fpk-resize-handle { 206 top: auto; 207 bottom: 0; 208 border-top-left-radius: 0; 209 border-bottom-left-radius: 16px; 210 cursor: nesw-resize; 211 background: 212 linear-gradient(45deg, transparent 6px, rgba(255,255,255,0.55) 6px, rgba(255,255,255,0.55) 7px, transparent 7px), 213 linear-gradient(45deg, transparent 9px, rgba(255,255,255,0.55) 9px, rgba(255,255,255,0.55) 10px, transparent 10px), 214 linear-gradient(45deg, transparent 12px, rgba(255,255,255,0.55) 12px, rgba(255,255,255,0.55) 13px, transparent 13px); 215 } 216 .fpk-chat-window.fpk-pos-top-left .fpk-resize-handle { 217 top: auto; 218 bottom: 0; 219 left: auto; 220 right: 0; 221 border-top-left-radius: 0; 222 border-bottom-right-radius: 16px; 223 cursor: nwse-resize; 224 background: 225 linear-gradient(-45deg, transparent 6px, rgba(255,255,255,0.55) 6px, rgba(255,255,255,0.55) 7px, transparent 7px), 226 linear-gradient(-45deg, transparent 9px, rgba(255,255,255,0.55) 9px, rgba(255,255,255,0.55) 10px, transparent 10px), 227 linear-gradient(-45deg, transparent 12px, rgba(255,255,255,0.55) 12px, rgba(255,255,255,0.55) 13px, transparent 13px); 228 } 229 .fpk-chat-window.fpk-pos-left .fpk-resize-handle { 230 left: auto; 231 right: 0; 232 border-top-left-radius: 0; 233 border-top-right-radius: 16px; 234 cursor: nesw-resize; 235 background: 236 linear-gradient(225deg, transparent 6px, rgba(255,255,255,0.55) 6px, rgba(255,255,255,0.55) 7px, transparent 7px), 237 linear-gradient(225deg, transparent 9px, rgba(255,255,255,0.55) 9px, rgba(255,255,255,0.55) 10px, transparent 10px), 238 linear-gradient(225deg, transparent 12px, rgba(255,255,255,0.55) 12px, rgba(255,255,255,0.55) 13px, transparent 13px); 239 } 240 241 .fpk-header { 242 background: var(--fpk-primary); 243 color: var(--fpk-primary-text); 244 padding: 16px 20px; 245 display: flex; 246 align-items: center; 247 justify-content: space-between; 248 flex-shrink: 0; 249 } 250 .fpk-header-title { 251 font-size: 15px; 252 font-weight: 600; 253 } 254 .fpk-header-actions { 255 display: flex; 256 align-items: center; 257 gap: 8px; 258 } 259 .fpk-header-close { 260 background: none; 261 border: none; 262 color: var(--fpk-primary-text); 263 cursor: pointer; 264 padding: 4px; 265 opacity: 0.8; 266 font-size: 18px; 267 line-height: 1; 268 } 269 .fpk-header-close:hover { opacity: 1; } 270 271 .fpk-messages { 272 flex: 1; 273 overflow-y: auto; 274 /* position: relative, damit offsetTop der Nachrichten relativ zu DIESEM 275 scrollbaren Bereich gemessen wird (sonst zum Chat-Fenster inkl. Header) â 276 wird fuer das geclampte Mitlaufen beim Streamen gebraucht. */ 277 position: relative; 278 padding: 16px; 279 display: flex; 280 flex-direction: column; 281 gap: 10px; 282 } 283 284 .fpk-msg { 285 max-width: 85%; 286 padding: 10px 14px; 287 border-radius: 16px; 288 font-size: 14px; 289 line-height: 1.5; 290 word-break: break-word; 291 } 292 .fpk-msg-user { 293 background: var(--fpk-primary); 294 color: var(--fpk-primary-text); 295 align-self: flex-end; 296 border-bottom-right-radius: 4px; 297 white-space: pre-wrap; 298 } 299 .fpk-msg-bot { 300 background: var(--fpk-surface-2); 301 color: var(--fpk-text); 302 align-self: flex-start; 303 border-bottom-left-radius: 4px; 304 } 305 .fpk-msg-bot p { margin: 0 0 8px 0; } 306 .fpk-msg-bot p:last-child { margin-bottom: 0; } 307 .fpk-msg-bot ul, .fpk-msg-bot ol { margin: 4px 0 8px 0; padding-left: 20px; } 308 .fpk-msg-bot li { margin: 2px 0; } 309 .fpk-msg-bot strong { font-weight: 600; } 310 .fpk-msg-bot code { background: var(--fpk-border); padding: 1px 4px; border-radius: 3px; font-size: 13px; } 311 .fpk-msg-bot a { color: var(--fpk-accent); text-decoration: underline; } 312 .fpk-msg-bot a:hover { text-decoration: none; } 313 314 /* Tabellen (z. B. Preise): scrollen in ihrem Container (sanitizeChatHtml), statt die 315 Blase zu sprengen. Zellen brechen nur zwischen Woertern um â das break-word der Blase 316 wuerde die Spalten sonst mitten im Wort zusammenquetschen. */ 317 .fpk-msg-bot .chat-table-scroll { overflow-x: auto; margin: 4px 0 8px 0; } 318 .fpk-msg-bot .chat-table-scroll:last-child { margin-bottom: 0; } 319 .fpk-msg-bot table { border-collapse: collapse; font-size: 13px; line-height: 1.4; background: var(--fpk-surface); } 320 .fpk-msg-bot th, .fpk-msg-bot td { 321 border: 1px solid var(--fpk-border); 322 padding: 4px 8px; 323 text-align: left; 324 vertical-align: top; 325 word-break: normal; 326 } 327 .fpk-msg-bot th { font-weight: 600; white-space: nowrap; background: var(--fpk-surface-2); } 328 329 /* Verbindungsfehler-Bubble mit "Erneut versuchen"-Button */ 330 .fpk-msg-error { 331 display: flex; 332 flex-direction: column; 333 align-items: flex-start; 334 gap: 8px; 335 } 336 .fpk-retry-btn { 337 display: inline-flex; 338 align-items: center; 339 gap: 5px; 340 background: var(--fpk-surface); 341 border: 1px solid var(--fpk-border); 342 border-radius: 16px; 343 padding: 5px 12px; 344 font-size: 12px; 345 color: var(--fpk-accent); 346 cursor: pointer; 347 font-family: inherit; 348 transition: background 0.15s, border-color 0.15s; 349 } 350 .fpk-retry-btn:hover { 351 background: var(--fpk-surface-2); 352 border-color: var(--fpk-accent); 353 } 354 .fpk-retry-btn svg { flex-shrink: 0; } 355 356 /* Anhaenge in User-Nachrichten */ 357 .fpk-msg-attachments { 358 display: flex; 359 flex-wrap: wrap; 360 gap: 6px; 361 margin-top: 6px; 362 } 363 .fpk-msg-user:has(.fpk-msg-attachments):not(:has(*:not(.fpk-msg-attachments))) > .fpk-msg-attachments { 364 margin-top: 0; 365 } 366 .fpk-msg-attach-image { 367 display: block; 368 border-radius: 8px; 369 overflow: hidden; 370 max-width: 200px; 371 max-height: 200px; 372 background: rgba(255,255,255,0.15); 373 padding: 0; 374 border: none; 375 cursor: zoom-in; 376 } 377 .fpk-msg-attach-image img { 378 display: block; 379 width: 100%; 380 height: auto; 381 max-height: 200px; 382 object-fit: cover; 383 } 384 /* Lightbox / Bildvorschau-Modal */ 385 .fpk-lightbox { 386 position: absolute; 387 inset: 0; 388 z-index: 30; 389 display: flex; 390 align-items: center; 391 justify-content: center; 392 padding: 24px; 393 background: rgba(0,0,0,0.7); 394 backdrop-filter: blur(2px); 395 animation: fpk-fade-in 0.15s ease; 396 } 397 .fpk-lightbox[hidden] { display: none; } 398 .fpk-lightbox-img { 399 max-width: 100%; 400 max-height: 100%; 401 border-radius: 8px; 402 box-shadow: 0 8px 32px rgba(0,0,0,0.4); 403 cursor: default; 404 } 405 .fpk-lightbox-close { 406 position: absolute; 407 top: 12px; 408 right: 12px; 409 width: 32px; 410 height: 32px; 411 border: none; 412 border-radius: 50%; 413 background: rgba(255,255,255,0.9); 414 /* Fester dunkler Glyph: der Kreis ist in beiden Themes fast-weiss, ein 415 heller Akzent (Dark Mode) haette zu wenig Kontrast. */ 416 color: #1e3a5f; 417 font-size: 22px; 418 line-height: 1; 419 cursor: pointer; 420 display: flex; 421 align-items: center; 422 justify-content: center; 423 } 424 .fpk-lightbox-close:hover { background: #fff; } 425 426 .fpk-msg-attach-chip { 427 display: inline-flex; 428 align-items: center; 429 gap: 6px; 430 padding: 6px 10px; 431 background: rgba(255,255,255,0.18); 432 color: inherit; 433 border-radius: 8px; 434 font-size: 12px; 435 text-decoration: none; 436 max-width: 220px; 437 } 438 .fpk-msg-attach-chip span { 439 overflow: hidden; 440 text-overflow: ellipsis; 441 white-space: nowrap; 442 } 443 .fpk-msg-attach-chip:hover { 444 background: rgba(255,255,255,0.28); 445 } 446 447 .fpk-typing {
448 align-self: flex-start; 449 background: var(--fpk-surface-2); 450 border-radius: 16px; 451 border-bottom-left-radius: 4px; 452 padding: 10px 18px; 453 display: flex; 454 gap: 4px; 455 align-items: center; 456 } 457 .fpk-typing-dot { 458 width: 7px; 459 height: 7px; 460 border-radius: 50%; 461 background: var(--fpk-text-muted); 462 animation: fpk-bounce 1.2s infinite; 463 } 464 .fpk-typing-dot:nth-child(2) { animation-delay: 0.15s; } 465 .fpk-typing-dot:nth-child(3) { animation-delay: 0.3s; } 466 467 @keyframes fpk-bounce { 468 0%, 60%, 100% { transform: translateY(0); } 469 30% { transform: translateY(-6px); } 470 } 471 472 .fpk-ai-hint { 473 text-align: center; 474 font-size: 11px; 475 color: var(--fpk-text-muted); 476 padding: 4px 16px; 477 flex-shrink: 0; 478 } 479 480 .fpk-input-area { 481 position: relative; 482 border-top: 1px solid var(--fpk-border); 483 padding: 12px 12px; 484 flex-shrink: 0; 485 } 486 .fpk-composer { 487 position: relative; 488 border: 1px solid var(--fpk-border); 489 border-radius: 16px; 490 background: var(--fpk-surface); 491 transition: border-color 0.15s, box-shadow 0.15s; 492 display: flex; 493 flex-direction: column; 494 } 495 .fpk-composer:focus-within { 496 border-color: var(--fpk-accent); 497 box-shadow: 0 0 0 3px rgba(76, 154, 255, 0.45); 498 } 499 .fpk-input { 500 width: 100%; 501 border: none; 502 background: transparent; 503 outline: none; 504 resize: none; 505 padding: 12px 14px 4px; 506 font-size: 14px; 507 font-family: inherit; 508 line-height: 1.4; 509 min-height: 24px; 510 max-height: 140px; 511 overflow-y: auto; 512 box-sizing: border-box; 513 color: var(--fpk-text); 514 } 515 .fpk-input::placeholder { color: var(--fpk-text-muted); } 516 517 .fpk-composer-toolbar { 518 display: flex; 519 align-items: center; 520 gap: 2px; 521 padding: 4px 6px 6px; 522 } 523 .fpk-composer-spacer { flex: 1; } 524 525 .fpk-send { 526 width: 32px; 527 height: 32px; 528 border-radius: 50%; 529 background: var(--fpk-primary); 530 border: none; 531 cursor: pointer; 532 display: flex; 533 align-items: center; 534 justify-content: center; 535 flex-shrink: 0; 536 transition: opacity 0.15s, transform 0.1s, background 0.15s; 537 padding: 0; 538 color: var(--fpk-primary-text); 539 } 540 .fpk-send:disabled { 541 opacity: 0.45; 542 cursor: default; 543 background: var(--fpk-border); 544 } 545 .fpk-send:not(:disabled):hover { transform: scale(1.06); } 546 .fpk-send svg { width: 14px; height: 14px; fill: var(--fpk-primary-text); } 547 548 .fpk-welcome { 549 text-align: center; 550 color: var(--fpk-text-muted); 551 font-size: 13px; 552 padding: 20px 10px; 553 line-height: 1.5; 554 } 555 556 .fpk-quick-replies { 557 display: flex; 558 flex-wrap: wrap; 559 gap: 6px; 560 padding: 4px 0 8px 0; 561 align-self: flex-start; 562 } 563 .fpk-quick-reply-btn { 564 background: var(--fpk-surface); 565 border: 1px solid var(--fpk-border); 566 border-radius: 16px; 567 padding: 6px 14px; 568 font-size: 13px; 569 color: var(--fpk-accent); 570 cursor: pointer; 571 transition: background 0.15s, border-color 0.15s; 572 line-height: 1.3; 573 text-align: left; 574 } 575 .fpk-quick-reply-btn:hover { 576 background: var(--fpk-surface-2); 577 border-color: var(--fpk-accent); 578 } 579 580 .fpk-emoji-picker { 581 position: absolute; 582 bottom: calc(100% + 4px); 583 left: 0; 584 right: 0; 585 display: none; 586 z-index: 10; 587 } 588 .fpk-emoji-picker.fpk-picker-open { 589 display: block; 590 } 591 .fpk-emoji-picker emoji-picker { 592 width: 100%; 593 height: 320px; 594 border-radius: 12px; 595 box-shadow: 0 4px 16px rgba(0,0,0,0.12); 596 --background: var(--fpk-surface); 597 --text-color: var(--fpk-text); 598 --border-color: var(--fpk-border); 599 --border-radius: 12px; 600 --indicator-color: var(--fpk-accent); 601 --button-active-background: rgba(30, 58, 95, 0.1); 602 --button-hover-background: var(--fpk-surface-2); 603 --input-border-color: var(--fpk-border); 604 --input-background: var(--fpk-surface); 605 --input-font-color: var(--fpk-text); 606 --input-padding: 6px 10px; 607 --num-columns: 8; 608 --emoji-size: 1.25rem; 609 } 610 611 .fpk-escalation-area { 612 flex-shrink: 0; 613 padding: 0 16px; 614 } 615 .fpk-escalation-area:empty { padding: 0; }
616 /* Wenn das volle Formular drin ist: nur SCHRUMPFEN erlauben (mit Scroll), 617 nie wachsen â flex-grow wuerde bei hohen Fenstern eine grosse Leerflaeche 618 unter dem Formular erzeugen und den Chatverlauf zusammenquetschen. 619 Der Verlauf (.fpk-messages, flex: 1) bekommt den restlichen Platz. */ 620 .fpk-escalation-area:has(.fpk-escalation-form) { 621 flex: 0 1 auto; 622 min-height: 0; 623 overflow-y: auto; 624 } 625 626 .fpk-escalation-success { 627 display: flex; 628 flex-direction: column; 629 align-items: center; 630 gap: 10px; 631 padding: 24px 16px; 632 text-align: center; 633 color: var(--fpk-success); 634 font-size: 13px; 635 line-height: 1.5; 636 animation: fpk-fade-in 0.3s ease; 637 } 638 .fpk-escalation-success svg { 639 color: var(--fpk-success); 640 } 641 @keyframes fpk-fade-in { 642 from { opacity: 0; transform: scale(0.9); } 643 to { opacity: 1; transform: scale(1); } 644 } 645 646 .fpk-escalation-link { 647 display: inline-flex; 648 align-items: center; 649 justify-content: center; 650 gap: 6px; 651 width: 100%; 652 background: none; 653 border: 1px solid var(--fpk-accent); 654 border-radius: 10px; 655 cursor: pointer; 656 font-size: 13px; 657 font-weight: 500; 658 color: var(--fpk-accent); 659 padding: 9px 12px; 660 margin-bottom: 10px; 661 font-family: inherit; 662 text-align: center; 663 transition: background 0.15s, color 0.15s; 664 } 665 .fpk-escalation-link svg { 666 width: 15px; 667 height: 15px; 668 flex-shrink: 0; 669 } 670 .fpk-escalation-link:hover { 671 background: var(--fpk-surface-2); 672 } 673 674 .fpk-escalation-form { 675 padding: 10px 0; 676 display: flex; 677 flex-direction: column; 678 gap: 6px; 679 } 680 .fpk-escalation-label { 681 font-size: 11px; 682 color: var(--fpk-text-muted); 683 font-weight: 500; 684 } 685 .fpk-escalation-msg-label { 686 margin-top: 2px; 687 } 688 .fpk-escalation-email { 689 border: 1px solid var(--fpk-border); 690 border-radius: 12px; 691 padding: 7px 12px; 692 font-size: 13px; 693 outline: none; 694 font-family: inherit; 695 background: var(--fpk-surface); 696 color: var(--fpk-text); 697 } 698 .fpk-escalation-email:focus { border-color: var(--fpk-accent); } 699 700 .fpk-escalation-textarea { 701 border: 1px solid var(--fpk-border); 702 border-radius: 12px; 703 padding: 7px 12px; 704 font-size: 13px; 705 outline: none; 706 font-family: inherit; 707 resize: vertical; 708 min-height: 40px; 709 max-height: 100px; 710 background: var(--fpk-surface); 711 color: var(--fpk-text); 712 } 713 .fpk-escalation-textarea:focus { border-color: var(--fpk-accent); } 714 715 .fpk-escalation-loading { 716 text-align: center; 717 font-style: italic; 718 color: var(--fpk-text-muted); 719 font-size: 13px; 720 padding: 12px 0; 721 } 722 723 .fpk-escalation-select { 724 border: 1px solid var(--fpk-border); 725 border-radius: 12px; 726 padding: 7px 12px; 727 font-size: 13px; 728 outline: none; 729 font-family: inherit; 730 background: var(--fpk-surface); 731 color: var(--fpk-text); 732 cursor: pointer; 733 appearance: auto; 734 } 735 .fpk-escalation-select:focus { border-color: var(--fpk-accent); } 736 737 .fpk-escalation-summary { 738 border: 1px solid var(--fpk-border); 739 border-radius: 12px; 740 padding: 7px 12px; 741 font-size: 13px; 742 outline: none; 743 font-family: inherit; 744 resize: vertical; 745 min-height: 40px; 746 max-height: 100px; 747 background: var(--fpk-surface); 748 color: var(--fpk-text); 749 } 750 .fpk-escalation-summary:focus { border-color: var(--fpk-accent); } 751 752 .fpk-escalation-actions { 753 display: flex; 754 gap: 8px; 755 align-items: center; 756 } 757 .fpk-escalation-submit { 758 background: var(--fpk-primary); 759 color: var(--fpk-primary-text); 760 border: none; 761 border-radius: 12px; 762 padding: 6px 16px; 763 font-size: 12px; 764 cursor: pointer; 765 font-family: inherit; 766 transition: opacity 0.15s; 767 } 768 .fpk-escalation-submit:hover { opacity: 0.9; } 769 .fpk-escalation-submit:disabled { 770 opacity: 0.5; 771 cursor: default; 772 } 773 .fpk-escalation-cancel { 774 background: none; 775 border: none; 776 cursor: pointer; 777 font-size: 12px; 778 color: var(--fpk-text-muted); 779 font-family: inherit; 780 text-decoration: underline; 781 padding: 6px 4px; 782 } 783 .fpk-escalation-cancel:hover { color: var(--fpk-text); } 784 785 .fpk-escalation-file-area { 786 display: flex; 787 flex-wrap: wrap; 788 align-items: center; 789 gap: 6px; 790 } 791 .fpk-escalation-file-input { display: none; } 792 .fpk-escalation-attach-btn { 793 display: inline-flex; 794 align-items: center; 795 gap: 4px; 796 background: none; 797 border: 1px solid var(--fpk-border); 798 border-radius: 12px; 799 padding: 4px 10px; 800 font-size: 11px; 801 color: var(--fpk-text-muted); 802 cursor: pointer; 803 font-family: inherit; 804 transition: border-color 0.15s; 805 } 806 .fpk-escalation-attach-btn:hover { border-color: var(--fpk-accent); color: var(--fpk-accent); } 807 .fpk-escalation-attach-btn svg { flex-shrink: 0; } 808 .fpk-escalation-file-list { 809 display: flex; 810 flex-wrap: wrap; 811 gap: 4px; 812 } 813 .fpk-escalation-file-error { 814 font-size: 11px; 815 color: var(--fpk-error); 816 line-height: 1.4; 817 } 818 .fpk-escalation-file-error:empty { display: none; } 819 820 .fpk-new-chat-btn { 821 width: 100%; 822 background: var(--fpk-primary); 823 color: var(--fpk-primary-text); 824 border: none; 825 border-radius: 12px; 826 padding: 10px 16px; 827 font-size: 14px; 828 cursor: pointer; 829 font-family: inherit; 830 transition: opacity 0.15s; 831 } 832 .fpk-new-chat-btn:hover { opacity: 0.9; } 833 834 .fpk-prechat-form { 835 flex-shrink: 0; 836 padding: 0 16px; 837 } 838 .fpk-prechat-form:empty { padding: 0; } 839 .fpk-prechat-container { 840 padding: 12px 0; 841 display: flex; 842 flex-direction: column; 843 gap: 8px; 844 align-items: center; 845 } 846 .fpk-prechat-label { 847 font-size: 13px; 848 color: var(--fpk-text-muted); 849 text-align: center; 850 font-weight: 500; 851 } 852 .fpk-prechat-select { 853 width: 100%; 854 border: 1px solid var(--fpk-border); 855 border-radius: 12px; 856 padding: 8px 12px; 857 font-size: 13px; 858 font-family: inherit; 859 color: var(--fpk-text); 860 background: var(--fpk-surface); 861 outline: none; 862 cursor: pointer; 863 appearance: auto; 864 } 865 .fpk-prechat-select:focus { border-color: var(--fpk-accent); } 866 867 .fpk-rating { 868 display: flex; 869 gap: 4px; 870 align-self: flex-start; 871 margin-top: 2px; 872 margin-left: 4px; 873 } 874 .fpk-rating-btn { 875 background: none; 876 border: none; 877 cursor: pointer; 878 padding: 3px; 879 border-radius: 4px; 880 color: var(--fpk-text-muted); 881 display: flex; 882 align-items: center; 883 justify-content: center; 884 transition: color 0.15s, background 0.15s; 885 } 886 .fpk-rating-btn:hover { 887 color: var(--fpk-text); 888 background: var(--fpk-surface-2); 889 } 890 .fpk-rating-btn.fpk-rating-active { 891 color: var(--fpk-accent); 892 } 893 .fpk-rating-btn svg { 894 width: 14px; 895 height: 14px; 896 } 897 898 .fpk-file-input { 899 display: none; 900 } 901 902 /* Drag-Over-Overlay: erscheint, wenn der Nutzer eine Datei ueber das 903 geoeffnete Widget zieht. Pointer-events: none, damit Kind-Elemente 904 keine drag-leave-Events triggern. */ 905 .fpk-chat-window::after { 906 content: var(--fpk-drag-label, 'Datei hier ablegen'); 907 position: absolute; 908 inset: 0; 909 background: rgba(30, 58, 95, 0.92); 910 color: white; 911 display: flex; 912 align-items: center; 913 justify-content: center; 914 font-size: 18px; 915 font-weight: 600; 916 letter-spacing: 0.5px; 917 border: 3px dashed rgba(255, 255, 255, 0.5); 918 border-radius: inherit; 919 pointer-events: none; 920 opacity: 0; 921 transition: opacity 0.15s ease; 922 z-index: 200; 923 } 924 .fpk-chat-window.fpk-drag-over::after { 925 opacity: 1; 926 } 927 928 /* Sichtbarer Tastatur-Fokus (WCAG 2.4.7) â nur bei Tastaturnavigation, nicht 929 bei Mausklick. Helles Blau kontrastiert auf weissen Flaechen UND auf dem 930 dunkelblauen Header/Senden-Button. */ 931 .fpk-chat-window button:focus-visible, 932 .fpk-chat-window a:focus-visible, 933 .fpk-chat-window input:focus-visible, 934 .fpk-chat-window textarea:focus-visible, 935 .fpk-chat-window select:focus-visible, 936 .fpk-chat-window [tabindex]:focus-visible, 937 .fpk-chat-button:focus-visible { 938 outline: 2px solid #4c9aff; 939 outline-offset: 2px; 940 } 941 /* Haupteingabe: Fokus zeigt der Composer-Rahmen (Ring oben), kein zweiter 942 Ring um die Textarea. */ 943 .fpk-chat-window .fpk-input:focus-visible { 944 outline: none; 945 } 946 947 .fpk-attach-btn, 948 .fpk-screenshot-btn, 949 .fpk-emoji-btn { 950 width: 30px; 951 height: 30px; 952 border-radius: 50%; 953 background: transparent; 954 border: none; 955 cursor: pointer; 956 display: flex; 957 align-items: center; 958 justify-content: center; 959 flex-shrink: 0; 960 transition: background 0.15s, color 0.15s; 961 color: var(--fpk-text-muted); 962 padding: 0; 963 font-size: 16px; 964 font-family: inherit; 965 line-height: 1; 966 } 967 .fpk-attach-btn:hover, 968 .fpk-screenshot-btn:hover, 969 .fpk-emoji-btn:hover { 970 background: var(--fpk-surface-2); 971 color: var(--fpk-accent); 972 } 973 .fpk-attach-btn svg, 974 .fpk-screenshot-btn svg { 975 width: 16px; 976 height: 16px; 977 } 978 /* CSS-Tooltip fuer die Composer-Buttons (Hover + Tastatur-Fokus). */ 979 .fpk-composer-toolbar button[data-fpk-tooltip] { 980 position: relative; 981 } 982 .fpk-composer-toolbar button[data-fpk-tooltip]::after { 983 content: attr(data-fpk-tooltip); 984 position: absolute; 985 bottom: calc(100% + 6px); 986 /* Links am Button verankern statt zentrieren: die Buttons liegen am linken 987 Rand, ein zentrierter Tooltip wuerde links aus dem Fenster ragen und vom 988 overflow:hidden des Chat-Fensters abgeschnitten. */ 989 left: 0; 990 background: var(--fpk-primary); 991 color: var(--fpk-primary-text); 992 font-size: 11px; 993 line-height: 1; 994 padding: 5px 8px; 995 border-radius: 6px; 996 white-space: nowrap; 997 opacity: 0; 998 pointer-events: none; 999 transition: opacity 0.12s ease; 1000 z-index: 10; 1001 } 1002 .fpk-composer-toolbar button[data-fpk-tooltip]:hover::after, 1003 .fpk-composer-toolbar button[data-fpk-tooltip]:focus-visible::after { 1004 opacity: 1; 1005 } 1006 .fpk-screenshot-error { 1007 padding: 6px 0; 1008 font-size: 12px; 1009 color: var(--fpk-error); 1010 } 1011 1012 .fpk-attachment-preview { 1013 flex-shrink: 0; 1014 padding: 0 16px; 1015 } 1016 .fpk-attachment-preview:not(.fpk-preview-visible) { 1017 display: none; 1018 } 1019 .fpk-attachment-preview.fpk-preview-visible { 1020 display: flex; 1021 flex-wrap: wrap; 1022 gap: 6px; 1023 padding: 8px 16px 4px; 1024 border-top: 1px solid var(--fpk-border); 1025 } 1026 1027 .fpk-attach-chip { 1028 display: flex; 1029 align-items: center; 1030 gap: 4px; 1031 padding: 3px 8px; 1032 background: var(--fpk-surface-2); 1033 border-radius: 8px; 1034 font-size: 12px; 1035 max-width: 180px; 1036 } 1037 .fpk-attach-thumb { 1038 width: 24px; 1039 height: 24px; 1040 border-radius: 4px; 1041 object-fit: cover; 1042 flex-shrink: 0; 1043 } 1044 .fpk-attach-name { 1045 overflow: hidden; 1046 text-overflow: ellipsis; 1047 white-space: nowrap; 1048 color: var(--fpk-text); 1049 } 1050 .fpk-attach-remove { 1051 background: none; 1052 border: none; 1053 cursor: pointer; 1054 font-size: 14px; 1055 color: var(--fpk-text-muted); 1056 padding: 0 2px; 1057 line-height: 1; 1058 flex-shrink: 0; 1059 } 1060 .fpk-attach-remove:hover { 1061 color: var(--fpk-text); 1062 } 1063 1064 @media (max-width: 480px) { 1065 .fpk-chat-window { 1066 bottom: 0; 1067 right: 0; 1068 width: 100vw; 1069 height: 100vh; 1070 max-height: 100vh; 1071 border-radius: 0; 1072 } 1073 .fpk-chat-button { bottom: 16px; right: 16px; } 1074 } 1075`;function t(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var n=t();function r(e){n=e}var i={exec:()=>null};function a(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),i=t[r];
vendor: 4,299 bytes, line 1075
1075return i||(i=e(r),t[r]=i),i}}function o(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(c.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var s=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),c={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:a(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:a(e=>RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:a(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:a(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:a(e=>RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`,`i`)),blockquoteBeginRegex:a(e=>RegExp(`^ {0,${e}}>`))},l=/^(?:[ \t]*(?:\n|$))+/,u=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,d=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,f=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,p=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,m=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,h=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,g=o(h).replace(/bull/g,m).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),ee=o(h).replace(/bull/g,m).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),_=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,v=/^[^\n]+/,y=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,b=o(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,y).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),te=o(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,m).getRegex(),ne=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,re=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,ie=o(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>
1075)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,re).replace(`tag`,ne).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),x=o(_).replace(`hr`,f).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,ne).getRegex(),S={blockquote:o(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,x).getRegex(),code:u,def:b,fences:d,heading:p,hr:f,html:ie,lheading:g,list:te,newline:l,paragraph:x,table:i,text:v},C=o(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,f).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,ne).getRegex(),w={...S,lheading:ee,table:C,paragraph:o(_).replace(`hr`,f).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,C).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,ne).getRegex()},T={...S,html:o(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,re).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:i,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:o(_).replace(`hr`,f).replace(`heading`,` *#{1,6} *[^ 1076]`).replace(`lheading`,g).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},ae=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,oe=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,se=/^( {2,}|\\)\n(?!\s*$)/,ce=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,E=/[\p{P}\p{S}]/u,D=/[\s\p{P}\p{S}]/u,O=/[^\s\p{P}\p{S}]/u,le=o(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,D).getRegex(),ue=/(?!~)[\p{P}\p{S}]/u,de=/(?!~)[\s\p{P}\p{S}]/u,k=/(?:[^\s\p{P}\p{S}]|~)/u,A=o(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,s?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),fe=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,pe=o(fe,`u`).replace(/punct/g,E).getRegex(),me=o(fe,`u`).replace(/punct/g,ue).getRegex(),j=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,he=o(j,`gu`).replace(/notPunctSpace/g,O).replace(/punctSpace/g,D).replace(/punct/g,E).getRegex(),M=o(j,`gu`).replace(/notPunctSpace/g,k).replace(/punctSpace/g,de).replace(/punct/g,ue).getRegex(),ge=o(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,O).replace(/punctSpace/g,D).replace(/punct/g,E).getRegex(),N=o(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,E).getRegex(),_e=o(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,O).replace(/punctSpace/g,D).replace(/punct/g,E).getRegex(),P=o(/\\(punct)/,`gu`).replace(/punct/g,E).getRegex(),F=o(/^<(scheme:[^\s\x00-\x1f<>]*|email)>
1076/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ve=o(re).replace(`(?:-->|$)`,`-->`).getRegex(),ye=o(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,ve).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),be=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,xe=o(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,be).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),I=o(/^!?\[(label)\]\[(ref)\]/).replace(`label`,be).replace(`ref`,y).getRegex(),Se=o(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,y).getRegex(),Ce=o(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,I).replace(`nolink`,Se).getRegex(),we=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Te={_backpedal:i,anyPunctuation:P,autolink:F,blockSkip:A,br:se,code:oe,del:i,delLDelim:i,delRDelim:i,emStrongLDelim:pe,emStrongRDelimAst:he,emStrongRDelimUnd:ge,escape:ae,link:xe,nolink:Se,punctuation:le,reflink:I,reflinkSearch:Ce,tag:ye,text:ce,url:i},Ee={...Te,link:o(/^!?\[(label)\]\((.*?)\)/).replace(`label`,be).getRegex(),reflink:o(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,be).getRegex()},De={...Te,emStrongRDelimAst:M,emStrongLDelim:me,delLDelim:N,delRDelim:_e,url:o(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,we).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:o(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,we).getRegex()},Oe={...De,br:o(se).replace(`{2,}`,`*`).getRegex(),text:o(De.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},L={normal:S,gfm:w,pedantic:T},ke={normal:Te,gfm:De,breaks:Oe,pedantic:Ee},Ae={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},je=e=>Ae[e];function R(e,t){if(t){if(c.escapeTest.test(e))return e.replace(c.escapeReplace,je)}else if(c.escapeTestNoEncode.test(e))return e.replace(c.escapeReplaceNoEncode,je);return e}function Me(e){try{e=encodeURI(e).replace(c.percentDecode,`%`)}catch{return null}return e}function Ne(e,t){let n=e.replace(c.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(c.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``);for(;r<n.length;r++)n[r]=n[r].trim().replace(c.slashPipe,`|`);return n}function z(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function B(e){let t=e.split(` 1077`),n=t.length-1;for(;n>=0&&c.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(` 1078`)}function Pe(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function Fe(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function Ie(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function Le(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(` 1079`).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(` 1080`)}var Re=class{options;rules;lexer;constructor(e){this.options=e||n}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:B(t[0]);return{type:`code`,raw:e,codeBlockStyle:`indented`,text:e.replace(this.rules.other.codeRemoveIndent,``)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=Le(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=z(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:z(t[0],` 1081`),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:z(t[0],` 1082`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=z(t[0],` 1083`).split(` 1084`),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o;for(o=0;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(` 1085`),c=s.replace(this.rules.other.blockquoteSetextReplace,` 1086 $1`).replace(this.rules.other.blockquoteSetextReplace2,``);n=n?`${n} 1087${s}`:s,r=r?`${r} 1088${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,i,!0),this.lexer.state.top=l,e.length===0)break;let u=i.at(-1);if(u?.type===`code`)break;
vendor: 15,094 bytes, lines 1088-1119
1088if(u?.type===`blockquote`){let t=u,a=t.raw+` 1089`+e.join(` 1090`),o=this.blockquote(a);i[i.length-1]=o,n=n.substring(0,n.length-t.raw.length)+o.raw,r=r.substring(0,r.length-t.text.length)+o.text;break}else if(u?.type===`list`){let t=u,a=t.raw+` 1091`+e.join(` 1092`),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(` 1093`);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=Fe(t[2].split(` 1094`,1)[0],t[1].length),l=e.split(` 1095`,1)[0],u=!c.trim(),d=0;if(this.options.pedantic?(d=2,s=c.trimStart()):u?d=t[1].length+1:(d=c.search(this.rules.other.nonSpaceChar),d=d>4?1:d,s=c.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(l)&&(r+=l+` 1096`,e=e.substring(l.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),o=this.rules.other.htmlBeginRegex(d),f=this.rules.other.blockquoteBeginRegex(d);for(;e;){let p=e.split(` 1097`,1)[0],m;if(l=p,this.options.pedantic?(l=l.replace(this.rules.other.listReplaceNesting,` `),m=l):m=l.replace(this.rules.other.tabCharGlobal,` `),i.test(l)||a.test(l)||o.test(l)||f.test(l)||t.test(l)||n.test(l))break;if(m.search(this.rules.other.nonSpaceChar)>=d||!l.trim())s+=` 1098`+m.slice(d);else{if(u||c.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(c)||a.test(c)||n.test(c))break;s+=` 1099`+l}u=!l.trim(),r+=p+` 1100`,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items){this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]);let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1;if(!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=B(t[0]);return{type:`html`,block:!0,raw:e,pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:z(t[0],` 1101`),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=Ne(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(` 1102`):[],a={type:`table`,raw:z(t[0],` 1103`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(Ne(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:z(t[0],` 1104`),depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===` 1105`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=z(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=Pe(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),Ie(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return Ie(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=0,c=r[0][0]===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(r=c.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(a=[...i].length,r[3]||r[4]){o+=a;continue}else if((r[5]||r[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o+s);let t=[...r[0]][0].length,c=e.slice(0,n+r.index+t+a);if(Math.min(n,a)%2){let e=c.slice(1,-1);return{type:`em`,raw:c,text:e,tokens:this.lexer.inlineTokens(e)}}let l=c.slice(2,-2);return{type:`strong`,raw:c,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},V=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||n,this.options.tokenizer=this.options.tokenizer||new Re,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:c,block:L.normal,inline:ke.normal};this.options.pedantic?(t.block=L.pedantic,t.inline=ke.pedantic):this.options.gfm&&(t.block=L.gfm,this.options.breaks?t.inline=ke.breaks:t.inline=ke.gfm),this.tokenizer.rules=t}static get rules(){return{block:L,inline:ke}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(c.carriageReturn,` 1106`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(c.tabCharGlobal,` `).replace(c.spaceLine,``));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(n=>(i=n.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let n=t.at(-1);i.raw.length===1&&n!==void 0?n.raw+=` 1107`:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(` 1108`)?``:` 1109`)+i.raw,n.text+=` 1110`+i.text,this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(` 1111`)?``:` 1112`)+i.raw,n.text+=` 1113`+i.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},t.push(i));continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),t.push(i);continue}let a=e;if(this.options.extensions?.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(a=e.substring(0,t+1))}if(this.state.top&&(i=this.tokenizer.paragraph(a))){let r=t.at(-1);n&&r?.type===`paragraph`?(r.raw+=(r.raw.endsWith(` 1114`)?``:` 1115`)+i.raw,r.text+=` 1116`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(` 1117`)?``:` 1118`)+i.raw,n.text+=` 1119`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``,s=1/0;for(;e;){if(e.length<s)s=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;
vendor: 6,043 bytes, lines 1119-1137
1119this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},ze=class{options;parser;constructor(e){this.options=e||n}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(c.notSpaceStart)?.[0],i=e.replace(c.endingNewline,``)+` 1120`;return r?`<pre><code class="language-`+R(r)+`">`+(n?i:R(i,!0))+`</code></pre> 1121`:`<pre><code>`+(n?i:R(i,!0))+`</code></pre> 1122`}blockquote({tokens:e}){return`<blockquote> 1123${this.parser.parse(e)}</blockquote> 1124`}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}> 1125`}hr(e){return`<hr> 1126`}list(e){let t=e.ordered,n=e.start,r=``;for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let i=t?`ol`:`ul`,a=t&&n!==1?` start="`+n+`"`:``;return`<`+i+a+`> 1127`+r+`</`+i+`> 1128`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li> 1129`}checkbox({checked:e}){return`<input `+(e?`checked="" `:``)+`disabled="" type="checkbox"> `}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p> 1130`}table(e){let t=``,n=``;for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r=``;for(let t=0;t<e.rows.length;t++){let i=e.rows[t];n=``;for(let e=0;e<i.length;e++)n+=this.tablecell(i[e]);r+=this.tablerow({text:n})}return r&&=`<tbody>${r}</tbody>`,`<table> 1131<thead> 1132`+t+`</thead> 1133`+r+`</table> 1134`}tablerow({text:e}){return`<tr> 1135${e}</tr> 1136`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}> 1137`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${R(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=Me(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+R(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=Me(e);if(i===null)return R(n);e=i;let a=`<img src="${e}" alt="${R(n)}"`;return t&&(a+=` title="${R(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:R(e.text)}},H=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},U=class e{options;renderer;textRenderer;constructor(e){this.options=e||n,this.options.renderer=this.options.renderer||new ze,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new H}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},Be=class{options;block;constructor(e){this.options=e||n}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?V.lex:V.lexInline}provideParser(e=this.block){return e?U.parse:U.parseInline}},W=new class{defaults=t();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=U;Renderer=ze;TextRenderer=H;Lexer=V;Tokenizer=Re;Hooks=Be;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;
vendor: 5,579 bytes, lines 1137-1138
1137for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new ze(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new Re(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new Be;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];Be.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&Be.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return V.lex(e,t??this.defaults)}parser(e,t){return U.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?V.lex:V.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?U.parse:U.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?V.lex:V.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?U.parse:U.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=` 1138Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+R(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function G(e,t){return W.parse(e,t)}G.options=G.setOptions=function(e){return W.setOptions(e),G.defaults=W.defaults,r(G.defaults),G},G.getDefaults=t,G.defaults=n,G.use=function(...e){return W.use(...e),G.defaults=W.defaults,r(G.defaults),G},G.walkTokens=function(e,t){return W.walkTokens(e,t)},G.parseInline=W.parseInline,G.Parser=U,G.parser=U.parse,G.Renderer=ze,G.TextRenderer=H,G.Lexer=V,G.lexer=V.lex,G.Tokenizer=Re,G.Hooks=Be,G.parse=G,G.options,G.setOptions,G.use,G.walkTokens,G.parseInline,U.parse,V.lex;function Ve(e){let t=(e??``).trim(),n=t.toLowerCase();return n.startsWith(`https://`)||n.startsWith(`http://`)?t.replace(/&/g,`&`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/</g,`<`).replace(/>/g,`>`):`#`}function He(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ue(e){if(Array.isArray(e))return e}function We(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}
vendor: 4,471 bytes, lines 1138-1139
1138finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Ge(){throw TypeError(`Invalid attempt to destructure non-iterable instance. 1139In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ke(e,t){return Ue(e)||We(e,t)||qe(e,t)||Ge()}function qe(e,t){if(e){if(typeof e==`string`)return He(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?He(e,t):void 0}}var Je=Object.entries,K=Object.setPrototypeOf,Ye=Object.isFrozen,Xe=Object.getPrototypeOf,Ze=Object.getOwnPropertyDescriptor,q=Object.freeze,J=Object.seal,Qe=Object.create,$e=typeof Reflect<`u`&&Reflect,et=$e.apply,tt=$e.construct;q||=function(e){return e},J||=function(e){return e},et||=function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return e.apply(t,r)},tt||=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return new e(...n)};var nt=Z(Array.prototype.forEach),rt=Z(Array.prototype.lastIndexOf),it=Z(Array.prototype.pop),at=Z(Array.prototype.push),ot=Z(Array.prototype.splice),st=Array.isArray,ct=Z(String.prototype.toLowerCase),lt=Z(String.prototype.toString),ut=Z(String.prototype.match),dt=Z(String.prototype.replace),ft=Z(String.prototype.indexOf),pt=Z(String.prototype.trim),mt=Z(Number.prototype.toString),ht=Z(Boolean.prototype.toString),gt=typeof BigInt>`u`?null:Z(BigInt.prototype.toString),_t=typeof Symbol>`u`?null:Z(Symbol.prototype.toString),Y=Z(Object.prototype.hasOwnProperty),vt=Z(Object.prototype.toString),X=Z(RegExp.prototype.test),yt=bt(TypeError);function Z(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return et(e,t,r)}}function bt(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return tt(e,n)}}function Q(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ct;if(K&&K(e,null),!st(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(Ye(t)||(t[r]=e),i=e)}e[i]=!0}return e}function xt(e){for(let t=0;t<e.length;t++)Y(e,t)||(e[t]=null);return e}function $(e){let t=Qe(null);for(let r of Je(e)){var n=Ke(r,2);let i=n[0],a=n[1];Y(e,i)&&(st(a)?t[i]=xt(a):a&&typeof a==`object`&&a.constructor===Object?t[i]=$(a):t[i]=a)}return t}function St(e){switch(typeof e){case`string`:return e;case`number`:return mt(e);case`boolean`:return ht(e);case`bigint`:return gt?gt(e):`0`;case`symbol`:return _t?_t(e):`Symbol()`;case`undefined`:return vt(e);case`function`:case`object`:{if(e===null)return vt(e);let t=e,n=Ct(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:vt(e)}return vt(e)}default:return vt(e)}}function Ct(e,t){for(;e!==null;){let n=Ze(e,t);if(n){if(n.get)return Z(n.get);if(typeof n.value==`function`)return Z(n.value)}e=Xe(e)}function n(){return null}return n}function wt(e){try{return X(e,``),!0}catch{return!1}}var Tt=q(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),Et=q(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),Dt=q([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOff
1139set`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Ot=q([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),kt=q(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),At=q([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),jt=q([`#text`]),Mt=q(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns`.split(`.`)),Nt=q(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Pt=q(`accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Ft=q([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),It=J(/{{[\w\W]*|^[\w\W]*}}/g),Lt=J(/<%[\w\W]*|^[\w\W]*%>/g),Rt=J(/\${[\w\W]*/g),zt=J(/^data-[\-\w.\u00B7-\uFFFF]+$/),Bt=J(/^aria-[\-\w]+$/),Vt=J(/^(?:(?:(?
vendor: 8,867 bytes, line 1139
1139:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ht=J(/^(?:\w+script|data):/i),Ut=J(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Wt=J(/^html$/i),Gt=J(/^[a-z][.\w]*(-[.\w]+)+$/i),Kt=J(/<[/\w!]/g),qt=J(/<[/\w]/g),Jt=J(/<\/no(script|embed|frames)/i),Yt=J(/\/>/i),Xt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Zt=function(){return typeof window>`u`?null:window},Qt=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},$t=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},en=function(e,t,n,r){return Y(e,t)&&st(e[t])?Q(r.base?$(r.base):{},e[t],r.transform):n};function tn(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Zt(),t=e=>tn(e);if(t.version=`3.4.11`,t.removed=[],!e||!e.document||e.document.nodeType!==Xt.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,s=e.Element,c=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let l=e.DOMParser,u=e.trustedTypes,d=s.prototype,f=Ct(d,`cloneNode`),p=Ct(d,`remove`),m=Ct(d,`nextSibling`),h=Ct(d,`childNodes`),g=Ct(d,`parentNode`),ee=Ct(d,`shadowRoot`),_=Ct(d,`attributes`),v=o&&o.prototype?Ct(o.prototype,`nodeType`):null,y=o&&o.prototype?Ct(o.prototype,`nodeName`):null;if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let b,te=``,ne,re=!1,ie=0,x=function(){if(ie>0)throw yt(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},S=function(e){x(),ie++;try{return b.createHTML(e)}finally{ie--}},C=function(e){x(),ie++;try{return b.createScriptURL(e)}finally{ie--}},w=function(){return re||=(ne=Qt(u,i),!0),ne},T=n,ae=T.implementation,oe=T.createNodeIterator,se=T.createDocumentFragment,ce=T.getElementsByTagName,E=r.importNode,D=$t();t.isSupported=typeof Je==`function`&&typeof g==`function`&&ae&&ae.createHTMLDocument!==void 0;let O=It,le=Lt,ue=Rt,de=zt,k=Bt,A=Ht,fe=Ut,pe=Gt,me=Vt,j=null,he=Q({},[...Tt,...Et,...Dt,...kt,...jt]),M=null,ge=Q({},[...Mt,...Nt,...Pt,...Ft]),N=Object.seal(Qe(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),_e=null,P=null,F=Object.seal(Qe(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),ve=!0,ye=!0,be=!1,xe=!0,I=!1,Se=!0,Ce=!1,we=!1,Te=null,Ee=null,De=!1,Oe=!1,L=!1,ke=!1,Ae=!0,je=!1,R=`user-content-`,Me=!0,Ne=!1,z={},B=null,Pe=Q({},`annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp`.split(`.`)),Fe=null,Ie=Q({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Le=null,Re=Q({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),V=`http://www.w3.org/1998/Math/MathML`,ze=`http://www.w3.org/2000/svg`,H=`http://www.w3.org/1999/xhtml`,U=H,Be=!1,W=null,G=Q({},[V,ze,H],lt),Ve=q([`mi`,`mo`,`mn`,`ms`,`mtext`]),He=Q({},Ve),Ue=q([`annotation-xml`]),We=Q({},Ue),Ge=Q({},[`title`,`style`,`font`,`a`,`script`]),Ke=null,qe=[`application/xhtml+xml`,`text/html`],K=null,Ye=null,Xe=n.createElement(`form`),Ze=function(e){return e instanceof RegExp||e instanceof Function},$e=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Ye&&Ye===e)return;(!e||typeof e!=`object`)&&(e={}),e=$(e),Ke=qe.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,K=Ke===`application/xhtml+xml`?lt:ct,j=en(e,`ALLOWED_TAGS`,he,{transform:K}),M=en(e,`ALLOWED_ATTR`,ge,{transform:K}),W=en(e,`ALLOWED_NAMESPACES`,G,{transform:lt}),Le=en(e,`ADD_URI_SAFE_ATTR`,Re,{transform:K,base:Re}),Fe=en(e,`ADD_DATA_URI_TAGS`,Ie,{transform:K,base:Ie}),B=en(e,`FORBID_CONTENTS`,Pe,{transform:K}),_e=en(e,`FORBID_TAGS`,$({}),{transform:K}),P=en(e,`FORBID_ATTR`,$({}),{transform:K}),z=Y(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?$(e.USE_PROFILES):e.USE_PROFILES:!1,ve=e.ALLOW_ARIA_ATTR!==!1,ye=e.ALLOW_DATA_ATTR!==!1,be=e.ALLOW_UNKNOWN_PROTOCOLS||!1,xe=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,I=e.SAFE_FOR_TEMPLATES||!1,Se=e.SAFE_FOR_XML!==!1,Ce=e.WHOLE_DOCUMENT||!1,Oe=e.RETURN_DOM||!1,L=e.RETURN_DOM_FRAGMENT||!1,ke=e.RETURN_TRUSTED_TYPE||!1,De=e.FORCE_BODY||!1,Ae=e.SANITIZE_DOM!==!1,je=e.SANITIZE_NAMED_PROPS||!1,Me=e.KEEP_CONTENT!==!1,Ne=e.IN_PLACE||!1,me=wt(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:Vt,U=typeof e.NAMESPACE==`string`?e.NAMESPACE:H,He=Y(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?$(e.MATHML_TEXT_INTEGRATION_POINTS):Q({},Ve),We=Y(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?$(e.HTML_INTEGRATION_POINTS):Q({},Ue);let t=Y(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?$(e.CUSTOM_ELEMENT_HANDLING):Qe(null);if(N=Qe(null),Y(t,`tagNameCheck`)&&Ze(t.tagNameCheck)&&(N.tagNameCheck=t.tagNameCheck),Y(t,`attributeNameCheck`)&&Ze(t.attributeNameCheck)&&(N.attributeNameCheck=t.attributeNameCheck),Y(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(N.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),J(N),I&&(ye=!1),L&&(Oe=!0),z&&(j=Q({},jt),M=Qe(null),z.html===!0&&(Q(j,Tt),Q(M,Mt)),z.svg===!0&&(Q(j,Et),Q(M,Nt),Q(M,Ft)),z.svgFilters===!0&&(Q(j,Dt),Q(M,Nt),Q(M,Ft)),z.mathMl===!0&&(Q(j,kt),Q(M,Pt),Q(M,Ft))),F.tagCheck=null,F.attributeCheck=null,Y(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?F.tagCheck=e.ADD_TAGS:st(e.ADD_TAGS)&&(j===he&&(j=$(j)),Q(j,e.ADD_TAGS,K))),Y(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?F.attributeCheck=e.ADD_ATTR:st(e.ADD_ATTR)&&(M===ge&&(M=$(M)),Q(M,e.ADD_ATTR,K))),Y(e,`ADD_URI_SAFE_ATTR`)&&st(e.ADD_URI_SAFE_ATTR)&&Q(Le,e.ADD_URI_SAFE_ATTR,K),Y(e,`FORBID_CONTENTS`)&&st(e.FORBID_CONTENTS)&&(B===Pe&&(B=$(B)),Q(B,e.FORBID_CONTENTS,K)),Y(e,`ADD_FORBID_CONTENTS`)&&st(e.ADD_FORBID_CONTENTS)&&(B===Pe&&(B=$(B)),Q(B,e.ADD_FORBID_CONTENTS,K)),Me&&(j[`#text`]=!0),Ce&&Q(j,[`html`,`head`,`body`]),j.table&&(Q(j,[`tbody`]),delete _e.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw yt(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw yt(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=b;b=e.TRUSTED_TYPES_POLICY;try{te=S(``)}catch(e){throw b=t,e}}else e.TRUSTED_TYPES_POLICY===null?(b=void 0,te=``):(b===void 0&&(b=w()),b&&typeof te==`string`&&(te=S(``)));q&&q(e),Ye=e},et=Q({},[...Et,...Dt,...Ot]),tt=Q({},[...kt,...At]),mt=function(e,t,n){return t.namespaceURI===H?e===`svg`:t.namespaceURI===V?e===`svg`&&(n===`annotation-xml`||He[n]):!!et[e]},ht=function(e,t,n){return t.namespaceURI===H?e===`math`:t.namespaceURI===ze?e===`math`&&We[n]:!!tt[e]},gt=function(e,t,n){return t.namespaceURI===ze&&!We[n]||t.namespaceURI===V&&!He[n]?!1:!tt[e]&&(Ge[e]||!et[e])},_t=function(e){let t=g(e);(!t||!t.tagName)&&(t={namespaceURI:U,tagName:`template`});let n=ct(e.tagName),r=ct(t.tagName);return W[e.namespaceURI]?e.namespaceURI===ze?mt(n,t,r):e.namespaceURI===V?ht(n,t,r):e.namespaceURI===H?gt(n,t,r):!!(Ke===`application/xhtml+xml`&&W[e.namespaceURI]):!1},vt=function(e){at(t.removed,{element:e});try{g(e).removeChild(e)}catch{if(p(e),!g(e))throw yt(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},Z=function(e){let t=h(e);if(t){let e=[];nt(t,t=>{at(e,t)}),nt(e,e=>{try{p(e)}catch{}})}let n=_(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;if(typeof i==`string`)try{e.removeAttribute(i)}catch{}}}
vendor: 5,146 bytes, line 1139
1139,bt=function(e,n){try{at(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{at(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(Oe||L)try{vt(n)}catch{}else try{n.setAttribute(e,``)}catch{}},xt=function(e){let t=_(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;if(!(typeof i!=`string`||M[K(i)]))try{e.removeAttribute(i)}catch{}}},nn=function(e){let t=[e];for(;t.length>0;){let e=t.pop();(v?v(e):e.nodeType)===Xt.element&&xt(e);let n=h(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},rn=function(e){let t=null,r=null;if(De)e=`<remove></remove>`+e;else{let t=ut(e,/^[\r\n\t ]+/);r=t&&t[0]}Ke===`application/xhtml+xml`&&U===H&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=b?S(e):e;if(U===H)try{t=new l().parseFromString(i,Ke)}catch{}if(!t||!t.documentElement){t=ae.createDocument(U,`template`,null);try{t.documentElement.innerHTML=Be?te:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),U===H?ce.call(t,Ce?`html`:`body`)[0]:Ce?t.documentElement:a},an=function(e){return oe.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},on=function(e){return e=dt(e,O,` `),e=dt(e,le,` `),e=dt(e,ue,` `),e},sn=function(e){e.normalize();let t=oe.call(e.ownerDocument||e,e,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),n=t.nextNode();for(;n;)n.data=on(n.data),n=t.nextNode();let r=e.querySelectorAll?.call(e,`template`);r&&nt(r,e=>{ln(e.content)&&sn(e.content)})},cn=function(e){let t=y?y(e):null;return typeof t!=`string`||K(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==_(e)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==v(e)||e.childNodes!==h(e)},ln=function(e){if(!v||typeof e!=`object`||!e)return!1;try{return v(e)===Xt.documentFragment}catch{return!1}},un=function(e){if(!v||typeof e!=`object`||!e)return!1;try{return typeof v(e)==`number`}catch{return!1}};function dn(e,n,r){e.length!==0&&nt(e,e=>{e.call(t,n,r,Ye)})}let fn=function(e,t){return!!(Se&&e.hasChildNodes()&&!un(e.firstElementChild)&&X(Kt,e.textContent)&&X(Kt,e.innerHTML)||Se&&e.namespaceURI===H&&t===`style`&&un(e.firstElementChild)||e.nodeType===Xt.processingInstruction||Se&&e.nodeType===Xt.comment&&X(qt,e.data))},pn=function(e,t){if(!_e[t]&&_n(t)&&(N.tagNameCheck instanceof RegExp&&X(N.tagNameCheck,t)||N.tagNameCheck instanceof Function&&N.tagNameCheck(t)))return!1;if(Me&&!B[t]){let t=g(e),n=h(e);if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=Ne?n[i]:f(n[i],!0);t.insertBefore(r,m(e))}}}return vt(e),!0},mn=function(e){if(dn(D.beforeSanitizeElements,e,null),cn(e))return vt(e),!0;let n=K(y?y(e):e.nodeName);if(dn(D.uponSanitizeElement,e,{tagName:n,allowedTags:j}),fn(e,n))return vt(e),!0;if(_e[n]||!(F.tagCheck instanceof Function&&F.tagCheck(n))&&!j[n])return pn(e,n);if((v?v(e):e.nodeType)===Xt.element&&!_t(e)||(n===`noscript`||n===`noembed`||n===`noframes`)&&X(Jt,e.innerHTML))return vt(e),!0;if(I&&e.nodeType===Xt.text){let n=on(e.textContent);e.textContent!==n&&(at(t.removed,{element:e.cloneNode()}),e.textContent=n)}return dn(D.afterSanitizeElements,e,null),!1},hn=function(e,t,r){if(P[t]||Ae&&(t===`id`||t===`name`)&&(r in n||r in Xe))return!1;let i=M[t]||F.attributeCheck instanceof Function&&F.attributeCheck(t,e);if(!(ye&&X(de,t))&&!(ve&&X(k,t))){if(!i){if(!(_n(e)&&(N.tagNameCheck instanceof RegExp&&X(N.tagNameCheck,e)||N.tagNameCheck instanceof Function&&N.tagNameCheck(e))&&(N.attributeNameCheck instanceof RegExp&&X(N.attributeNameCheck,t)||N.attributeNameCheck instanceof Function&&N.attributeNameCheck(t,e))||t===`is`&&N.allowCustomizedBuiltInElements&&(N.tagNameCheck instanceof RegExp&&X(N.tagNameCheck,r)||N.tagNameCheck instanceof Function&&N.tagNameCheck(r))))return!1}else if(!Le[t]&&!X(me,dt(r,fe,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&ft(r,`data:`)===0&&Fe[e])&&!(be&&!X(A,dt(r,fe,``)))&&r)return!1}return!0},gn=Q({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),_n=function(e){return!gn[ct(e)]&&X(pe,e)},vn=function(e,t,n,r){if(b&&typeof u==`object`&&typeof u.getAttributeType==`function`&&!n)switch(u.getAttributeType(e,t)){case`TrustedHTML`:return S(r);case`TrustedScriptURL`:return C(r)}return r},yn=function(e,n,r,i){try{r?e.setAttributeNS(r,n,i):e.setAttribute(n,i),cn(e)?vt(e):it(t.removed)}catch{bt(n,e)}},bn=function(e){dn(D.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||cn(e))return;let n={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:M,forceKeepAttr:void 0},r=t.length,i=K(e.nodeName);for(;r--;){let a=t[r],o=a.name,s=a.namespaceURI,c=a.value,l=K(o),u=c,d=o===`value`?u:pt(u);if(n.attrName=l,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,dn(D.uponSanitizeAttribute,e,n),d=n.attrValue,je&&(l===`id`||l===`
1139name`)&&ft(d,R)!==0&&(bt(o,e),d=R+d),Se&&X(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){bt(o,e);continue}if(l===`attributename`&&ut(d,`href`)){bt(o,e);continue}if(!n.forceKeepAttr){if(!n.keepAttr){bt(o,e);continue}if(!xe&&X(Yt,d)){bt(o,e);continue}if(I&&(d=on(d)),!hn(i,l,d)){bt(o,e);continue}d=vn(i,l,s,d),d!==u&&yn(e,o,s,d)}}dn(D.afterSanitizeAttributes,e,null)},xn=function(e){let t=null,n=an(e);for(dn(D.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(dn(D.uponSanitizeShadowNode,t,null),mn(t),bn(t),ln(t.content)&&xn(t.content),(v?v(t):t.nodeType)===Xt.element){let e=ee(t);ln(e)&&(Sn(e),xn(e))}dn(D.afterSanitizeShadowDOM,e,null)},Sn=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){xn(e.shadow);continue}let n=e.node,r=(v?v(n):n.nodeType)===Xt.element,i=h(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=y?y(n):null;if(typeof e==`string`&&K(e)===`template`){let e=n.content;ln(e)&&t.push({node:e,shadow:null})}}if(r){let e=ee(n);ln(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(Be=!e,Be&&(e=`<!-->`),typeof e!=`string`&&!un(e)&&(e=St(e),typeof e!=`string`))throw yt(`dirty is not a string, aborting`);if(!t.isSupported)return e;we?(j=Te,M=Ee):$e(n),(D.uponSanitizeElement.length>0||D.uponSanitizeAttribute.length>0)&&(j=$(j)),D.uponSanitizeAttribute.length>0&&(M=$(M)),t.removed=[];let c=Ne&&typeof e!=`string`&&un(e);if(c){let t=y?y(e):e.nodeName;if(typeof t==`string`){let e=K(t);if(!j[e]||_e[e])throw yt(`root node is forbidden and cannot be sanitized in-place`)}if(cn(e))throw yt(`root node is clobbered and cannot be sanitized in-place`);try{Sn(e)}catch(t){throw Z(e),t}}else if(un(e))i=rn(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===Xt.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),Sn(a);else{if(!Oe&&!I&&!Ce&&e.indexOf(`<`)===-1)return b&&ke?S(e):e;if(i=rn(e),!i)return Oe?null:ke?te:``}i&&De&&vt(i.firstChild);let l=an(c?e:i);try{for(;o=l.nextNode();)mn(o),bn(o),ln(o.content)&&xn(o.content)}catch(t){throw c&&Z(e),t}if(c)return nt(t.removed,e=>{e.element&&nn(e.element)}),I&&sn(e),e;if(Oe){if(I&&sn(i),L)for(s=se.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(M.shadowroot||M.shadowrootmode)&&(s=E.call(r,s,!0)),s}let u=Ce?i.outerHTML:i.innerHTML;return Ce&&j[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&X(Wt,i.ownerDocument.doctype.name)&&(u=`<!DOCTYPE `+i.ownerDocument.doctype.name+`> 1140`+u),I&&(u=on(u)),b&&ke?S(u):u},t.setConfig=function(){$e(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),we=!0,Te=j,Ee=M},t.clearConfig=function(){Ye=null,we=!1,Te=null,Ee=null,b=ne,te=``},t.isValidAttribute=function(e,t,n){return Ye||$e({}),hn(K(e),K(t),n)},t.addHook=function(e,t){typeof t==`function`&&Y(D,e)&&at(D[e],t)},t.removeHook=function(e,t){if(Y(D,e)){if(t!==void 0){let n=rt(D[e],t);return n===-1?void 0:ot(D[e],n,1)[0]}return it(D[e])}},t.removeHooks=function(e){Y(D,e)&&(D[e]=[])},t.removeAllHooks=function(){D=$t()},t}var nn=tn(),rn=[`p`,`br`,`strong`,`em`,`ul`,`ol`,`li`,`a`,`code`,`pre`,`blockquote`],an=[`table`,`thead`,`tbody`,`tr`,`th`,`td`],on=[`h3`,`h4`],sn=[`href`,`target`,`rel`],cn=`chat-table-scroll`;function ln(e,t={}){let n=nn.sanitize(e,{ALLOWED_TAGS:[...rn,...an,...t.headings?on:[]],ALLOWED_ATTR:[...sn,...t.classes?[`class`]:[]],RETURN_DOM_FRAGMENT:!0});for(let e of n.querySelectorAll(`table`)){let t=document.createElement(`div`);t.className=cn,e.replaceWith(t),t.append(e)}let r=document.createElement(`div`);return r.append(n),r.innerHTML}var un=/^[a-z0-9_]+$/;function dn(e){let t=Array.isArray(e)?e:typeof e==`string`?e.split(`,`):[],n=new Set;for(let e of t){if(typeof e!=`string`)continue;let t=e.trim().toLowerCase();if(!(!t||t.length>64)&&un.test(t)&&(n.add(t),n.size>=10))break}return[...n]}function fn(e){if(typeof e==`boolean`)return e;if(typeof e!=`string`)return;let t=e.trim().toLowerCase();if([`false`,`0`,`no`,`off`].includes(t))return!1;if([`true`,`1`,`yes`,`on`].includes(t))return!0}function pn(e){if(typeof e!=`string`)return;let t=e.trim().toLowerCase();if(t===`auto`||t===`light`||t===`dark`)return t}function mn(e={}){let{renderTrigger:t,theme:n,segments:r,...i}=e,a={...i},o=dn(r);o.length>0&&(a.segments=o);let s=fn(t);s!==void 0&&(a.renderTrigger=s);let c=pn(n);return c===void 0?delete a.theme:a.theme=c,a}function hn(e){if(!e)return{};let{dataset:t}=e,n={};return t.apiUrl&&(n.apiUrl=t.apiUrl),t.language&&(n.language=t.language),t.userId&&(n.userId=t.userId),t.userName&&(n.userName=t.userName),t.userEmail&&(n.userEmail=t.userEmail),t.companyId&&(n.companyId=t.companyId),t.companyName&&(n.companyName=t.companyName),t.plan&&(n.plan=t.plan),t.segments&&(n.segments=t.segments),t.position&&(n.position=t.position),t.theme&&(n.theme=t.theme),t.container&&(n.container=t.container),t.renderTrigger&&(n.renderTrigger=t.renderTrigger),n}function gn(e){if(typeof e!=`string`||!e)throw Error(`expected a non-empty string, got: `+e)}function _n(e){if(typeof e!=`number`)throw Error(`expected a number, got: `+e)}var vn=1,yn=1,bn=`emoji`,xn=`keyvalue`,Sn=`favorites`,Cn=`tokens`,wn=`tokens`,Tn=`unicode`,En=`count`,Dn=`group`,On=`order`,kn=`group-order`,An=`eTag`,jn=`url`,Mn=`skinTone`,Nn=`readonly`,Pn=`readwrite`,Fn=`skinUnicodes`,In=`skinUnicodes`,Ln=`https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json`,Rn=`en`;function zn(e,t){let n=new Set,r=[];for(let i of e){let e=t(i);n.has(e)||(n.add(e),r.push(i))}return r}function Bn(e){return zn(e,e=>e.unicode)}function Vn(e){function t(t,n,r){let i=n?e.createObjectStore(t,{keyPath:n}):e.createObjectStore(t);if(r)for(let[e,[t,n]]of Object.entries(r))i.createIndex(e,t,{multiEntry:n});return i}t(xn),t(bn,Tn,{[wn]:[Cn,!0],[kn]:[[Dn,On]],[Fn]:[In,!0]}),t(Sn,void 0,{[En]:[``]})}var Hn={},Un={},Wn={};function Gn(e,t,n){n.onerror=()=>t(n.error),n.onblocked=()=>t(Error(`IDB blocked`)),n.onsuccess=()=>e(n.result)}async function Kn(e){let t=await new Promise((t,n)=>{let r=indexedDB.open(e,vn);Hn[e]=r,r.onupgradeneeded=e=>{e.oldVersion<yn&&Vn(r.result)},Gn(t,n,r)});return t.onclose=()=>Yn(e),t}function qn(e){return Un[e]||(Un[e]=Kn(e)),Un[e]}function Jn(e,t,n,r){return new Promise((i,a)=>{let o=e.transaction(t,n,{durability:`relaxed`}),s=typeof t==`string`?o.objectStore(t):t.map(e=>o.objectStore(e)),c;r(s,o,e=>{c=e}),o.oncomplete=()=>i(c),o.onerror=()=>a(o.error)})}function Yn(e){let t=Hn[e],n=t&&t.result;if(n){n.close();let t=Wn[e];if(t)for(let e of t)e()}delete Hn[e],delete Un[e],delete Wn[e]}function Xn(e){return new Promise((t,n)=>{Yn(e),Gn(t,n,indexedDB.deleteDatabase(e))})}function Zn(e,t){let n=Wn[e];n||=Wn[e]=[],n.push(t)}var Qn=new Set(`:D.XD.:'D.O:).:X.:P.;P.XP.:L.:Z.:j.8D.XO.8).:B.:O.:S.:'o.Dx.X(.D:.:C.>0).:3.</3.<3.\\M/.:E.8#`.split(`.`));function $n(e){return e.split(/[\s_]+/).map(e=>!e.match(/\w/)||Qn.has(e)?e.toLowerCase():e.replace(/[)(:,]/g,``).replace(/â/g,`'`).toLowerCase()).filter(
1140Boolean)}var er=2;function tr(e){return e.filter(Boolean).map(e=>e.toLowerCase()).filter(e=>e.length>=er)}function nr(e){return e.map(({annotation:e,emoticon:t,group:n,order:r,shortcodes:i,skins:a,tags:o,emoji:s,version:c})=>{let l={annotation:e,group:n,order:r,tags:o,tokens:[...new Set(tr([...(i||[]).map($n).flat(),...(o||[]).map($n).flat(),...$n(e),t]))].sort(),unicode:s,version:c};if(t&&(l.emoticon=t),i&&(l.shortcodes=i),a){l.skinTones=[],l.skinUnicodes=[],l.skinVersions=[];for(let{tone:e,emoji:t,version:n}of a)l.skinTones.push(e),l.skinUnicodes.push(t),l.skinVersions.push(n)}return l})}function rr(e,t,n,r){e[t](n).onsuccess=e=>r&&r(e.target.result)}function ir(e,t,n){rr(e,`get`,t,n)}function ar(e,t,n){rr(e,`getAll`,t,n)}function or(e){e.commit&&e.commit()}function sr(e,t){let n=e[0];for(let r=1;r<e.length;r++){let i=e[r];t(n)>t(i)&&(n=i)}return n}function cr(e,t){let n=sr(e,e=>e.length),r=[];for(let i of n)e.some(e=>e.findIndex(e=>t(e)===t(i))===-1)||r.push(i);return r}async function lr(e){return!await _r(e,xn,jn)}async function ur(e,t,n){let[r,i]=await Promise.all([An,jn].map(t=>_r(e,xn,t)));return r===n&&i===t}async function dr(e,t){return Jn(e,bn,Nn,(e,n,r)=>{let i,a=()=>{e.getAll(i&&IDBKeyRange.lowerBound(i,!0),50).onsuccess=e=>{let n=e.target.result;for(let e of n)if(i=e.unicode,t(e))return r(e);if(n.length<50)return r();a()}};a()})}async function fr(e,t,n,r){try{let i=nr(t);await Jn(e,[bn,xn],Pn,([e,t],a)=>{let o,s,c=0;function l(){++c===2&&u()}function u(){if(!(o===r&&s===n)){e.clear();for(let t of i)e.put(t);t.put(r,An),t.put(n,jn),or(a)}}ir(t,An,e=>{o=e,l()}),ir(t,jn,e=>{s=e,l()})})}finally{}}async function pr(e,t){return Jn(e,bn,Nn,(e,n,r)=>{let i=IDBKeyRange.bound([t,0],[t+1,0],!1,!0);ar(e.index(kn),i,r)})}async function mr(e,t){let n=tr($n(t));return n.length?Jn(e,bn,Nn,(e,t,r)=>{let i=[],a=()=>{i.length===n.length&&o()},o=()=>{r(cr(i,e=>e.unicode).sort((e,t)=>e.order<t.order?-1:1))};for(let t=0;t<n.length;t++){let r=n[t],o=t===n.length-1?IDBKeyRange.bound(r,r+`ï¿¿`,!1,!0):IDBKeyRange.only(r);ar(e.index(wn),o,e=>{i.push(e),a()})}}):[]}async function hr(e,t){let n=await mr(e,t);return n.length?n.filter(e=>(e.shortcodes||[]).map(e=>e.toLowerCase()).includes(t.toLowerCase()))[0]||null:await dr(e,e=>(e.shortcodes||[]).includes(t.toLowerCase()))||null}async function gr(e,t){return Jn(e,bn,Nn,(e,n,r)=>ir(e,t,n=>{if(n)return r(n);ir(e.index(Fn),t,e=>r(e||null))}))}function _r(e,t,n){return Jn(e,t,Nn,(e,t,r)=>ir(e,n,r))}function vr(e,t,n,r){return Jn(e,t,Pn,(e,t)=>{e.put(r,n),or(t)})}function yr(e,t){return Jn(e,Sn,Pn,(e,n)=>ir(e,t,r=>{e.put((r||0)+1,t),or(n)}))}function br(e,t,n){return n===0?[]:Jn(e,[Sn,bn],Nn,([e,r],i,a)=>{let o=[];e.index(En).openCursor(void 0,`prev`).onsuccess=e=>{let i=e.target.result;if(!i)return a(o);function s(e){if(o.push(e),o.length===n)return a(o);i.continue()}let c=i.primaryKey,l=t.byName(c);if(l)return s(l);ir(r,c,e=>{if(e)return s(e);i.continue()})}})}var xr=``;function Sr(e,t){let n=new Map;for(let r of e){let e=t(r);for(let t of e){let e=n;for(let n=0;n<t.length;n++){let r=t.charAt(n),i=e.get(r);i||(i=new Map,e.set(r,i)),e=i}let i=e.get(xr);i||(i=[],e.set(xr,i)),i.push(r)}}return(e,t)=>{let r=n;for(let t=0;t<e.length;t++){let n=e.charAt(t),i=r.get(n);if(i)r=i;else return[]}if(t)return r.get(xr)||[];let i=[],a=[r];for(;a.length;){let e=[...a.shift().entries()].sort((e,t)=>e[0]<t[0]?-1:1);for(let[t,n]of e)t===xr?i.push(...n):a.push(n)}return i}}var Cr=[`name`,`url`];function wr(e){let t=e&&Array.isArray(e),n=t&&e.length&&(!e[0]||Cr.some(t=>!(t in e[0])));if(!t||n)throw Error(`Custom emojis are in the wrong format`)}function Tr(e){wr(e);let t=(e,t)=>e.name.toLowerCase()<t.name.toLowerCase()?-1:1,n=e.sort(t),r=Sr(e,e=>{let t=new Set;if(e.shortcodes)for(let n of e.shortcodes)for(let e of $n(n))t.add(e);return t}),i=e=>r(e,!0),a=e=>r(e,!1),o=e=>{let n=$n(e);return cr(n.map((e,t)=>(t<n.length-1?i:a)(e)),e=>e.name).sort(t)},s=new Map,c=new Map;for(let t of e){c.set(t.name.toLowerCase(),t);for(let e of t.shortcodes||[])s.set(e.toLowerCase(),t)}return{all:n,search:o,byShortcode:e=>s.get(e.toLowerCase()),byName:e=>c.get(e.toLowerCase())}}var Er=typeof wrappedJSObject<`u`;function Dr(e){if(!e)return e;
1140if(Er&&(e=structuredClone(e)),delete e.tokens,e.skinTones){let t=e.skinTones.length;e.skins=Array(t);for(let n=0;n<t;n++)e.skins[n]={tone:e.skinTones[n],unicode:e.skinUnicodes[n],version:e.skinVersions[n]};delete e.skinTones,delete e.skinUnicodes,delete e.skinVersions}return e}function Or(e){e||console.warn(`emoji-picker-element is more efficient if the dataSource server exposes an ETag header.`)}var kr=[`annotation`,`emoji`,`group`,`order`,`version`];function Ar(e){if(!e||!Array.isArray(e)||!e[0]||typeof e[0]!=`object`||kr.some(t=>!(t in e[0])))throw Error(`Emoji data is in the wrong format`)}function jr(e,t){if(Math.floor(e.status/100)!==2)throw Error(`Failed to fetch: `+t+`: `+e.status)}async function Mr(e){let t=await fetch(e,{method:`HEAD`});jr(t,e);let n=t.headers.get(`etag`);return Or(n),n}async function Nr(e){let t=await fetch(e);jr(t,e);let n=t.headers.get(`etag`);Or(n);let r=await t.json();return Ar(r),[n,r]}function Pr(e){for(var t=``,n=new Uint8Array(e),r=n.byteLength,i=-1;++i<r;)t+=String.fromCharCode(n[i]);return t}function Fr(e){for(var t=e.length,n=new ArrayBuffer(t),r=new Uint8Array(n),i=-1;++i<t;)r[i]=e.charCodeAt(i);return n}async function Ir(e){let t=Fr(JSON.stringify(e)),n=Pr(await crypto.subtle.digest(`SHA-1`,t));return btoa(n)}async function Lr(e,t){let n,r=await Mr(t);if(!r){let e=await Nr(t);r=e[0],n=e[1],r||=await Ir(n)}await ur(e,t,r)||(n||=(await Nr(t))[1],await fr(e,n,t,r))}async function Rr(e,t){let[n,r]=await Nr(t);n||=await Ir(r),await fr(e,r,t,n)}async function zr(e,t){try{await Lr(e,t)}catch(e){if(e.name!==`InvalidStateError`)throw e}}var Br=class{constructor({dataSource:e=Ln,locale:t=Rn,customEmoji:n=[]}={}){this.dataSource=e,this.locale=t,this._dbName=`emoji-picker-element-${this.locale}`,this._db=void 0,this._lazyUpdate=void 0,this._custom=Tr(n),this._clear=this._clear.bind(this),this._ready=this._init()}async _init(){let e=this._db=await qn(this._dbName);Zn(this._dbName,this._clear);let t=this.dataSource;await lr(e)?await Rr(e,t):this._lazyUpdate=zr(e,t)}async ready(){let e=async()=>(this._ready||=this._init(),this._ready);await e(),this._db||await e()}async getEmojiByGroup(e){return _n(e),await this.ready(),Bn(await pr(this._db,e)).map(Dr)}async getEmojiBySearchQuery(e){gn(e),await this.ready();let t=this._custom.search(e),n=Bn(await mr(this._db,e)).map(Dr);return[...t,...n]}async getEmojiByShortcode(e){return gn(e),await this.ready(),this._custom.byShortcode(e)||Dr(await hr(this._db,e))}async getEmojiByUnicodeOrName(e){return gn(e),await this.ready(),this._custom.byName(e)||Dr(await gr(this._db,e))}async getPreferredSkinTone(){return await this.ready(),await _r(this._db,xn,Mn)||0}async setPreferredSkinTone(e){return _n(e),await this.ready(),vr(this._db,xn,Mn,e)}async incrementFavoriteEmojiCount(e){return gn(e),await this.ready(),yr(this._db,e)}async getTopFavoriteEmoji(e){return _n(e),await this.ready(),(await br(this._db,this._custom,e)).map(Dr)}set customEmoji(e){this._custom=Tr(e)}get customEmoji(){return this._custom.all}async _shutdown(){await this.ready();try{await this._lazyUpdate}catch{}}_clear(){this._db=this._ready=this._lazyUpdate=void 0}async close(){await this._shutdown(),await Yn(this._dbName)}async delete(){await this._shutdown(),await Xn(this._dbName)}},Vr=[[-1,`â¨`,`custom`],[0,`ð`,`smileys-emotion`],[1,`ð`,`people-body`],[3,`ð±`,`animals-nature`],[4,`ð`,`food-drink`],[5,`ð ï¸`,`travel-places`],[6,`â½`,`activities`],[7,`ð`,`objects`],[8,`âï¸`,`symbols`],[9,`ð`,`flags`]].map(([e,t,n])=>({id:e,emoji:t,name:n})),Hr=Vr.slice(1),Ur=2,Wr=6,Gr=typeof requestIdleCallback==`function`?requestIdleCallback:setTimeout;function Kr(e){return e.unicode.includes(`â`)}var qr={"ð«ª":17,"ð«©":16,"ð«¨":15.1,"ð« ":14,"ð¥²":13.1,"ð¥»":12.1,"ð¥°":11,"ð¤©":5,"ð±ââï¸":4,"ð¤£":3,"ðï¸âð¨ï¸":2,"ð":1,"ðï¸":.7,"ð":.6},Jr=1e3,Yr=`ðï¸`,Xr=8,Zr=[`ð`,`ð`,`â¤ï¸`,`ðï¸`,`ð`,`ð`,`ð`,`âºï¸`,`ð`,`ð©`,`ð`,`ð`,`ð`,`ð`],Qr=`"Twemoji Mozilla","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","EmojiOne Color","Android Emoji",sans-serif`,$r=(e,t)=>e<t?-1:+(e>t),ei=(e,t)=>{let n=document.createElement(`canvas`);n.width=n.height=1;let r=n.getContext(`2d`,{willReadFrequently:!0});return r.textBaseline=`top`,r.font=`100px ${Qr}`,r.fillStyle=t,r.scale(.01,.01),r.fillText(e,0,0),r.getImageData(0,0,1,1).data},ti=(e,t)=>{let n=[...e].join(`,`);return n===[...t].join(`,`)&&!n.startsWith(`0,0,0,`)};function ni(e){let t=ei(e,`#000`),n=ei(e,`#fff`);return t&&n&&ti(t,n)}function ri(){let e=Object.entries(qr);try{for(let[t,n]of e)if(ni(t))return n}catch{}return e[0][1]}var ii,ai=()=>(ii||=new Promise(e=>Gr(()=>e(ri()))),ii),oi=new Map,si=`ï¸`,ci=`\ud83c`,li=`â`,ui=127995,di=57339;function fi(e,t){if(t===0)return e;
1140let n=e.indexOf(li);return n===-1?(e.endsWith(si)&&(e=e.substring(0,e.length-1)),e+ci+String.fromCodePoint(di+t-1)):e.substring(0,n)+String.fromCodePoint(ui+t-1)+e.substring(n)}function pi(e){e.preventDefault(),e.stopPropagation()}function mi(e,t,n){return t+=e?-1:1,t<0?t=n.length-1:t>=n.length&&(t=0),t}function hi(e,t){let n=new Set,r=[];for(let i of e){let e=t(i);n.has(e)||(n.add(e),r.push(i))}return r}function gi(e,t){let n=e=>{let n={};for(let r of e)typeof r.tone==`number`&&r.version<=t&&(n[r.tone]=r.unicode);return n};return e.map(({unicode:e,skins:t,shortcodes:r,url:i,name:a,category:o,annotation:s})=>({unicode:e,name:a,shortcodes:r,url:i,category:o,annotation:s,id:e||a,skins:t&&n(t)}))}var _i=requestAnimationFrame,vi=typeof ResizeObserver==`function`;function yi(e,t,n){let r;vi?(r=new ResizeObserver(n),r.observe(e)):_i(n),t.addEventListener(`abort`,()=>{r&&r.disconnect()})}function bi(e){{let t=document.createRange();return t.selectNode(e.firstChild),t.getBoundingClientRect().width}}var xi=`ð`,Si,Ci;function wi(e,t,n){let r=bi(t);if(!r){if(!Ci){Ci=n.cloneNode(!0);let e=getComputedStyle(n);for(let t of[`font-family`,`line-height`,`width`,`height`,`font-size`,`display`,`align-items`,`justify-content`])Ci.style.setProperty(t,e.getPropertyValue(t),`important`)}try{return document.body.appendChild(Ci),Ci.firstChild.nodeValue=e,bi(Ci)}finally{Ci.remove()}}return r}function Ti(e,t,n){let r=!0;for(let i of e){let e=n(i);if(!e)continue;Si===void 0&&(Si=wi(xi,t,t));let a=wi(i.unicode,e,t)/1.8<Si;oi.set(i.unicode,a),a||(r=!1)}return r}function Ei(e){return hi(e,e=>e)}function Di(e){e&&(e.scrollTop=0)}function Oi(e,t,n){let r=e.get(t);return r||(r=n(),e.set(t,r)),r}function ki(e){return``+e}function Ai(e){let t=document.createElement(`template`);return t.innerHTML=e,t}var ji=new WeakMap,Mi=new WeakMap,Ni=Symbol(`un-keyed`),Pi=`replaceChildren`in Element.prototype;function Fi(e,t){Pi?e.replaceChildren(...t):(e.innerHTML=``,e.append(...t))}function Ii(e,t){let n=e.firstChild,r=0;for(;n;){if(t[r]!==n)return!0;n=n.nextSibling,r++}return r!==t.length}function Li(e,t){let{targetNode:n}=t,{targetParentNode:r}=t,i=!1;r?i=Ii(r,e):(i=!0,t.targetNode=void 0,t.targetParentNode=r=n.parentNode),i&&Fi(r,e)}function Ri(e,t){for(let n of t){let{targetNode:t,currentExpression:r,binding:{expressionIndex:i,attributeName:a,attributeValuePre:o,attributeValuePost:s}}=n,c=e[i];if(r!==c)if(n.currentExpression=c,a)if(c===null)t.removeAttribute(a);else{let e=o+ki(c)+s;t.setAttribute(a,e)}else{let e;Array.isArray(c)?Li(c,n):c instanceof Element?(e=c,t.replaceWith(e)):t.nodeValue=ki(c),e&&(n.targetNode=e)}}}function zi(e){let t=``,n=!1,r=!1,i=-1,a=new Map,o=[],s=0;for(let c=0,l=e.length;c<l;c++){let u=e[c];if(t+=u.slice(s),c===l-1)break;for(let e=0;e<u.length;e++)switch(u.charAt(e)){case`<`:u.charAt(e+1)===`/`?o.pop():(n=!0,o.push(++i));break;case`>`:n=!1,r=!1;break;case`=`:r=!0;break}let d=o[o.length-1],f=Oi(a,d,()=>[]),p,m,h;if(r){let n=/(\S+)="?([^"=]*)$/.exec(u);p=n[1],m=n[2];let r=/^([^">]*)("?)/.exec(e[c+1]);h=r[1],t=t.slice(0,-1*n[0].length),s=r[0].length}else s=0;let g={attributeName:p,attributeValuePre:m,attributeValuePost:h,expressionIndex:c};f.push(g),!n&&!r&&(t+=` `)}return{template:Ai(t),elementsToBindings:a}}function Bi(e,t,n){for(let r=0;r<e.length;r++){let i=e[r],a={binding:i,targetNode:i.attributeName?t:t.firstChild,targetParentNode:void 0,currentExpression:void 0};n.push(a)}}function Vi(e,t){let n=[],r;if(t.size===1&&(r=t.get(0)))Bi(r,e,n);else{let r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT),i=e,a=-1;do{let e=t.get(++a);e&&Bi(e,i,n)}while(i=r.nextNode())}return n}function Hi(e){let{template:t,elementsToBindings:n}=Oi(ji,e,()=>zi(e)),r=t.cloneNode(!0).content.firstElementChild,i=Vi(r,n);return function(e){return Ri(e,i),r}}function Ui(e){let t=Oi(Mi,e,()=>new Map),n=Ni;function r(e,...r){return Oi(Oi(t,e,()=>new Map),n,()=>Hi(e))(r)}function i(e,t,r){return e.map((e,i)=>{let a=n;n=r(e);try{return t(e,i)}finally{n=a}})}return{map:i,html:r}}function Wi(e,t,n,r,i,a,o,s,c){let{labelWithSkin:l,titleForEmoji:u,unicodeWithSkin:d}=n,{html:f,map:p}=Ui(t);function m(e,n,r){return p(e,(e,i)=>f`<button role="${n?`option`:`menuitem`}" aria-selected="${n?i===t.activeSearchItem:null}" aria-label="${l(e,t.currentSkinTone)}" title="${u(e)}" class="${`emoji`+(n&&i===t.activeSearchItem?` active`:``)+(e.unicode?``:` custom-emoji`)}" id="${`${r}-${e.id}`}" style="${e.unicode?null:`--custom-emoji-background: url(${JSON.stringify(e.url)})`}">${e.unicode?d(e,t.currentSkinTone):``}</button>`,e=>`${r}-${e.id}`)}
1140let h=f`<section data-ref="rootElement" class="picker" aria-label="${t.i18n.regionLabel}" style="${t.pickerStyle||``}"><div class="pad-top"></div><div class="search-row"><div class="search-wrapper"><input id="search" class="search" type="search" role="combobox" enterkeyhint="search" placeholder="${t.i18n.searchLabel}" autocapitalize="none" autocomplete="off" spellcheck="true" aria-expanded="${!!(t.searchMode&&t.currentEmojis.length)}" aria-controls="search-results" aria-describedby="search-description" aria-autocomplete="list" aria-activedescendant="${t.activeSearchItemId?`emo-${t.activeSearchItemId}`:null}" data-ref="searchElement" data-on-input="onSearchInput" data-on-keydown="onSearchKeydown"><label class="sr-only" for="search">${t.i18n.searchLabel}</label> <span id="search-description" class="sr-only">${t.i18n.searchDescription}</span></div><div class="skintone-button-wrapper ${t.skinTonePickerExpandedAfterAnimation?`expanded`:``}"><button id="skintone-button" class="emoji ${t.skinTonePickerExpanded?`hide-focus`:``}" aria-label="${t.skinToneButtonLabel}" title="${t.skinToneButtonLabel}" aria-describedby="skintone-description" aria-haspopup="listbox" aria-expanded="${t.skinTonePickerExpanded}" aria-controls="skintone-list" data-on-click="onClickSkinToneButton">${t.skinToneButtonText||``}</button></div><span id="skintone-description" class="sr-only">${t.i18n.skinToneDescription}</span><div data-ref="skinToneDropdown" id="skintone-list" class="skintone-list hide-focus ${t.skinTonePickerExpanded?``:`hidden no-animate`}" style="transform:translateY(${t.skinTonePickerExpanded?0:`calc(-1 * var(--num-skintones) * var(--total-emoji-size))`})" role="listbox" aria-label="${t.i18n.skinTonesLabel}" aria-activedescendant="skintone-${t.activeSkinTone}" aria-hidden="${!t.skinTonePickerExpanded}" tabIndex="-1" data-on-focusout="onSkinToneOptionsFocusOut" data-on-click="onSkinToneOptionsClick" data-on-keydown="onSkinToneOptionsKeydown" data-on-keyup="onSkinToneOptionsKeyup">${p(t.skinTones,(e,n)=>f`<div id="skintone-${n}" class="emoji ${n===t.activeSkinTone?`active`:``}" aria-selected="${n===t.activeSkinTone}" role="option" title="${t.i18n.skinTones[n]}" aria-label="${t.i18n.skinTones[n]}">${e}</div>`,e=>e)}</div></div><div class="nav" role="tablist" style="grid-template-columns:repeat(${t.groups.length},1fr)" aria-label="${t.i18n.categoriesLabel}" data-on-keydown="onNavKeydown" data-on-click="onNavClick">${p(t.groups,e=>f`<button role="tab" class="nav-button" aria-controls="tab-${e.id}" aria-label="${t.i18n.categories[e.name]}" aria-selected="${!t.searchMode&&t.currentGroup.id===e.id}" title="${t.i18n.categories[e.name]}" data-group-id="${e.id}"><div class="nav-emoji emoji">${e.emoji}</div></button>`,e=>e.id)}</div><div class="indicator-wrapper"><div class="indicator" style="transform:translateX(${(t.isRtl?-1:1)*t.currentGroupIndex*100}%)"></div></div><div class="message ${t.message?``:`gone`}" role="alert" aria-live="polite">${t.message||``}</div><div data-ref="tabpanelElement" class="tabpanel ${!t.databaseLoaded||t.message?`gone`:``}" role="${t.searchMode?`region`:`tabpanel`}" aria-label="${t.searchMode?t.i18n.searchResultsLabel:t.i18n.categories[t.currentGroup.name]}" id="${t.searchMode?null:`tab-${t.currentGroup.id}`}" tabIndex="0" data-on-click="onEmojiClick"><div data-action="calculateEmojiGridStyle">${p(t.currentEmojisWithCategories,(e,n)=>f`<div><div id="menu-label-${n}" class="category ${t.currentEmojisWithCategories.length===1&&t.currentEmojisWithCategories[0].category===``?`gone`:``}" aria-hidden="true">${t.searchMode?t.i18n.searchResultsLabel:e.category?e.category:t.currentEmojisWithCategories.length>1?t.i18n.categories.custom:t.i18n.categories[t.currentGroup.name]}</div><div class="emoji-menu ${n!==0&&!t.searchMode&&t.currentGroup.id===-1?`visibility-auto`:``}" style="${`--num-rows: ${Math.ceil(e.emojis.length/t.numColumns)}`}" data-action="updateOnIntersection" role="${t.searchMode?`listbox`:`menu`}" aria-labelledby="menu-label-${n}" id="${t.searchMode?`search-results`:null}">${m(e.emojis,t.searchMode,`emo`)}</div></div>`,e=>e.category)}</div></div><div class="favorites onscreen emoji-menu ${t.message?`gone`:``}" role="menu" aria-label="${t.i18n.favoritesLabel}
1140" data-on-click="onEmojiClick">${m(t.currentFavorites,!1,`fav`)}</div><button data-ref="baselineEmoji" aria-hidden="true" tabindex="-1" class="abs-pos hidden emoji baseline-emoji">ð</button></section>`,g=(t,n)=>{for(let r of e.querySelectorAll(`[${t}]`))n(r,r.getAttribute(t))};if(c){e.appendChild(h);for(let e of[`click`,`focusout`,`input`,`keydown`,`keyup`])g(`data-on-${e}`,(t,n)=>{t.addEventListener(e,r[n])});g(`data-ref`,(e,t)=>{a[t]=e}),o.addEventListener(`abort`,()=>{e.removeChild(h)})}g(`data-action`,(e,t)=>{let n=s.get(t);n||s.set(t,n=new WeakSet),n.has(e)||(n.add(e),i[t](e))})}var Gi=typeof queueMicrotask==`function`?queueMicrotask:e=>Promise.resolve().then(e);function Ki(e){let t=!1,n,r=new Map,i=new Set,a,o=()=>{if(t)return;let e=[...i];i.clear();try{for(let t of e)t()}finally{a=!1,i.size&&(a=!0,Gi(o))}},s=new Proxy({},{get(e,t){if(n){let e=r.get(t);e||(e=new Set,r.set(t,e)),e.add(n)}return e[t]},set(e,t,n){if(e[t]!==n){e[t]=n;let s=r.get(t);if(s){for(let e of s)i.add(e);a||(a=!0,Gi(o))}}return!0}});return e.addEventListener(`abort`,()=>{t=!0}),{state:s,createEffect:e=>{let t=()=>{let r=n;n=t;try{return e()}finally{n=r}};return t()}}}function qi(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}var Ji=new WeakMap;function Yi(e,t,n){{let r=e.closest(`.tabpanel`),i=Ji.get(r);i||(i=new IntersectionObserver(n,{root:r,rootMargin:`50% 0px 50% 0px`,threshold:0}),Ji.set(r,i),t.addEventListener(`abort`,()=>{i.disconnect()})),i.observe(e)}}var Xi=[],{assign:Zi}=Object;function Qi(e,t){let n={},r=new AbortController,i=r.signal,{state:a,createEffect:o}=Ki(i),s=new Map;Zi(a,{skinToneEmoji:void 0,i18n:void 0,database:void 0,customEmoji:void 0,customCategorySorting:void 0,emojiVersion:void 0}),Zi(a,t),Zi(a,{initialLoad:!0,currentEmojis:[],currentEmojisWithCategories:[],rawSearchText:``,searchText:``,searchMode:!1,activeSearchItem:-1,message:void 0,skinTonePickerExpanded:!1,skinTonePickerExpandedAfterAnimation:!1,currentSkinTone:0,activeSkinTone:0,skinToneButtonText:void 0,pickerStyle:void 0,skinToneButtonLabel:``,skinTones:[],currentFavorites:[],defaultFavoriteEmojis:void 0,numColumns:Xr,isRtl:!1,currentGroupIndex:0,groups:Hr,databaseLoaded:!1,activeSearchItemId:void 0}),o(()=>{a.currentGroup!==a.groups[a.currentGroupIndex]&&(a.currentGroup=a.groups[a.currentGroupIndex])});let c=t=>{e.getElementById(t).focus()},l=t=>e.getElementById(`emo-${t.id}`),u=(e,t)=>{n.rootElement.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))},d=(e,t)=>e.id===t.id,f=(e,t)=>{let{category:n,emojis:r}=e,{category:i,emojis:a}=t;return n===i?qi(r,a,d):!1},p=e=>{qi(a.currentEmojis,e,d)||(a.currentEmojis=e)},m=e=>{a.searchMode!==e&&(a.searchMode=e)},h=e=>{qi(a.currentEmojisWithCategories,e,f)||(a.currentEmojisWithCategories=e)},g=(e,t)=>t&&e.skins&&e.skins[t]||e.unicode,ee={labelWithSkin:(e,t)=>Ei([e.name||g(e,t),e.annotation,...e.shortcodes||Xi].filter(Boolean)).join(`, `),titleForEmoji:e=>e.annotation||(e.shortcodes||Xi).join(`, `),unicodeWithSkin:g},_={onClickSkinToneButton:ue,onEmojiClick:D,onNavClick:oe,onNavKeydown:se,onSearchKeydown:ae,onSkinToneOptionsClick:le,onSkinToneOptionsFocusOut:A,onSkinToneOptionsKeydown:de,onSkinToneOptionsKeyup:k,onSearchInput:fe},v={calculateEmojiGridStyle:te,updateOnIntersection:ne},y=!0;o(()=>{Wi(e,a,ee,_,v,n,i,s,y),y=!1}),a.emojiVersion||ai().then(e=>{e||(a.message=a.i18n.emojiUnsupportedMessage)}),o(()=>{async function e(){let e=!1,t=setTimeout(()=>{e=!0,a.message=a.i18n.loadingMessage},Jr);try{await a.database.ready(),a.databaseLoaded=!0}catch(e){console.error(e),a.message=a.i18n.networkErrorMessage}finally{clearTimeout(t),e&&(e=!1,a.message=``)}}a.database&&e()}),o(()=>{a.pickerStyle=` 1141 --num-groups: ${a.groups.length}; 1142 --indicator-opacity: ${+!a.searchMode}; 1143 --num-skintones: ${Wr};`}),o(()=>{a.customEmoji&&a.database&&b()}),o(()=>{a.customEmoji&&a.customEmoji.length?a.groups!==Vr&&(a.groups=Vr):a.groups!==Hr&&(a.currentGroupIndex&&a.currentGroupIndex--,a.groups=Hr)}),o(()=>{async function e(){a.databaseLoaded&&(a.currentSkinTone=await a.database.getPreferredSkinTone())}e()}),o(()=>
1143{a.skinTones=Array(Wr).fill().map((e,t)=>fi(a.skinToneEmoji,t))}),o(()=>{a.skinToneButtonText=a.skinTones[a.currentSkinTone]}),o(()=>{a.skinToneButtonLabel=a.i18n.skinToneLabel.replace(`{skinTone}`,a.i18n.skinTones[a.currentSkinTone])}),o(()=>{async function e(){let{database:e}=a;a.defaultFavoriteEmojis=(await Promise.all(Zr.map(t=>e.getEmojiByUnicodeOrName(t)))).filter(Boolean)}a.databaseLoaded&&e()});function b(){let{customEmoji:e,database:t}=a,n=e||Xi;t.customEmoji!==n&&(t.customEmoji=n)}o(()=>{async function e(){b();let{database:e,defaultFavoriteEmojis:t,numColumns:n}=a;a.currentFavorites=await C(hi([...await e.getTopFavoriteEmoji(n),...t],e=>e.unicode||e.name).slice(0,n))}a.databaseLoaded&&a.defaultFavoriteEmojis&&e()});function te(e){yi(e,i,()=>{{let e=getComputedStyle(n.rootElement),t=parseInt(e.getPropertyValue(`--num-columns`),10),r=e.getPropertyValue(`direction`)===`rtl`;a.numColumns=t,a.isRtl=r}})}function ne(e){Yi(e,i,e=>{for(let{target:t,isIntersecting:n}of e)t.classList.toggle(`onscreen`,n)})}o(()=>{async function e(){let{searchText:e,currentGroup:t,databaseLoaded:n,customEmoji:r}=a;if(!n)a.currentEmojis=[],a.searchMode=!1;else if(e.length>=Ur){let t=await T(e);a.searchText===e&&(p(t),m(!0))}else{let{id:e}=t;if(e!==-1||r&&r.length){let t=await w(e);a.currentGroup.id===e&&(p(t),m(!1))}}}e()});let re=()=>{_i(()=>Di(n.tabpanelElement))};o(()=>{let{currentEmojis:e,emojiVersion:t}=a,n=e.filter(e=>e.unicode).filter(e=>Kr(e)&&!oi.has(e.unicode));!t&&n.length?(p(e),_i(()=>ie(n))):(p(t?e:e.filter(x)),re())});function ie(e){Ti(e,n.baselineEmoji,l)?re():a.currentEmojis=[...a.currentEmojis]}function x(e){return!e.unicode||!Kr(e)||oi.get(e.unicode)}async function S(e){let t=a.emojiVersion||await ai();return e.filter(({version:e})=>!e||e<=t)}async function C(e){return gi(e,a.emojiVersion||await ai())}async function w(e){return C(await S(e===-1?a.customEmoji:await a.database.getEmojiByGroup(e)))}async function T(e){return C(await S(await a.database.getEmojiBySearchQuery(e)))}o(()=>{}),o(()=>{function e(){let{searchMode:e,currentEmojis:t}=a;if(e)return[{category:``,emojis:t}];let n=new Map;for(let e of t){let t=e.category||``,r=n.get(t);r||(r=[],n.set(t,r)),r.push(e)}return[...n.entries()].map(([e,t])=>({category:e,emojis:t})).sort((e,t)=>a.customCategorySorting(e.category,t.category))}h(e())}),o(()=>{a.activeSearchItemId=a.activeSearchItem!==-1&&a.currentEmojis[a.activeSearchItem].id}),o(()=>{let{rawSearchText:e}=a;Gr(()=>{a.searchText=(e||``).trim(),a.activeSearchItem=-1})});function ae(e){if(!a.searchMode||!a.currentEmojis.length)return;let t=t=>{pi(e),a.activeSearchItem=mi(t,a.activeSearchItem,a.currentEmojis)};switch(e.key){case`ArrowDown`:return t(!1);case`ArrowUp`:return t(!0);case`Enter`:if(a.activeSearchItem===-1)a.activeSearchItem=0;else return pi(e),E(a.currentEmojis[a.activeSearchItem].id)}}function oe(e){let{target:t}=e,r=t.closest(`.nav-button`);if(!r)return;let i=parseInt(r.dataset.groupId,10);n.searchElement.value=``,a.rawSearchText=``,a.searchText=``,a.activeSearchItem=-1,a.currentGroupIndex=a.groups.findIndex(e=>e.id===i)}function se(e){let{target:t,key:n}=e,r=t=>{t&&(pi(e),t.focus())};switch(n){case`ArrowLeft`:return r(t.previousElementSibling);case`ArrowRight`:return r(t.nextElementSibling);case`Home`:return r(t.parentElement.firstElementChild);case`End`:return r(t.parentElement.lastElementChild)}}async function ce(e){let t=await a.database.getEmojiByUnicodeOrName(e),n=[...a.currentEmojis,...a.currentFavorites].find(t=>t.id===e),r=n.unicode&&g(n,a.currentSkinTone);return await a.database.incrementFavoriteEmojiCount(e),{emoji:t,skinTone:a.currentSkinTone,...r&&{unicode:r},...n.name&&{name:n.name}}}async function E(e){let t=ce(e);u(`emoji-click-sync`,t),u(`emoji-click`,await t)}function D(e){let{target:t}=e;t.classList.contains(`emoji`)&&(pi(e),E(t.id.substring(4)))}function O(e){a.currentSkinTone=e,a.skinTonePickerExpanded=!1,c(`skintone-button`),u(`skin-tone-change`,{skinTone:e}),a.database.setPreferredSkinTone(e)}function le(e){let{target:{id:t}}=e,n=t&&t.match(/^skintone-(\d)/);n&&(pi(e),O(parseInt(n[1],10)))}function ue(e){a.skinTonePickerExpanded=!a.skinTonePickerExpanded,a.activeSkinTone=a.currentSkinTone,a.skinTonePickerExpanded&&(pi(e),_i(()=>c(`skintone-list`)))}o(()=>{a.skinTonePickerExpanded?n.skinToneDropdown.addEventListener(`transitionend`,()=>{a.skinTonePickerExpandedAfterAnimation=!0},{once:!0}):a.skinTonePickerExpandedAfterAnimation=!1});function de(e){if(!a.skinTonePickerExpanded)return;let t=async t=>{pi(e),a.activeSkinTone=t};switch(e.key){case`ArrowUp`:return t(mi(!0,a.activeSkinTone,a.skinTone
1143s));case`ArrowDown`:return t(mi(!1,a.activeSkinTone,a.skinTones));case`Home`:return t(0);case`End`:return t(a.skinTones.length-1);case`Enter`:return pi(e),O(a.activeSkinTone);case`Escape`:return pi(e),a.skinTonePickerExpanded=!1,c(`skintone-button`)}}function k(e){if(a.skinTonePickerExpanded)switch(e.key){case` `:return pi(e),O(a.activeSkinTone)}}async function A(e){let{relatedTarget:t}=e;(!t||t.id!==`skintone-list`)&&(a.skinTonePickerExpanded=!1)}function fe(e){a.rawSearchText=e.target.value}return{$set(e){Zi(a,e)},$destroy(){r.abort()}}}var $i=`https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json`,ea=`en`,ta={categoriesLabel:`Categories`,emojiUnsupportedMessage:`Your browser does not support color emoji.`,favoritesLabel:`Favorites`,loadingMessage:`Loadingâ¦`,networkErrorMessage:`Could not load emoji.`,regionLabel:`Emoji picker`,searchDescription:`When search results are available, press up or down to select and enter to choose.`,searchLabel:`Search`,searchResultsLabel:`Search results`,skinToneDescription:`When expanded, press up or down to select and enter to choose.`,skinToneLabel:`Choose a skin tone (currently {skinTone})`,skinTonesLabel:`Skin tones`,skinTones:[`Default`,`Light`,`Medium-Light`,`Medium`,`Medium-Dark`,`Dark`],categories:{custom:`Custom`,"smileys-emotion":`Smileys and emoticons`,"people-body":`People and body`,"animals-nature":`Animals and nature`,"food-drink":`Food and drink`,"travel-places":`Travel and places`,activities:`Activities`,objects:`Objects`,symbols:`Symbols`,flags:`Flags`}},na=`:host{--emoji-size:1.375rem;--emoji-padding:0.5rem;--category-emoji-size:var(--emoji-size);--category-emoji-padding:var(--emoji-padding);--indicator-height:3px;--input-border-radius:0.5rem;--input-border-size:1px;--input-font-size:1rem;--input-line-height:1.5;--input-padding:0.25rem;--num-columns:8;--outline-size:2px;--border-size:1px;--border-radius:0;--skintone-border-radius:1rem;--category-font-size:1rem;display:flex;width:min-content;height:400px}:host,:host(.light){color-scheme:light;--background:#fff;--border-color:#e0e0e0;--indicator-color:#385ac1;--input-border-color:#999;--input-font-color:#111;--input-placeholder-color:#999;--outline-color:#999;--category-font-color:#111;--button-active-background:#e6e6e6;--button-hover-background:#d9d9d9}:host(.dark){color-scheme:dark;--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}@media (prefers-color-scheme:dark){:host{color-scheme:dark;--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}}:host([hidden]){display:none}button{margin:0;padding:0;border:0;background:0 0;box-shadow:none;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0}input{padding:0;margin:0;line-height:1.15;font-family:inherit}input[type=search]{-webkit-appearance:none}:focus{outline:var(--outline-color) solid var(--outline-size);outline-offset:calc(-1*var(--outline-size))}:host([data-js-focus-visible]) :focus:not([data-focus-visible-added]){outline:0}:focus:not(:focus-visible){outline:0}.hide-focus{outline:0}*{box-sizing:border-box}.picker{contain:content;display:flex;flex-direction:column;background:var(--background);border:var(--border-size) solid var(--border-color);border-radius:var(--border-radius);width:100%;height:100%;overflow:hidden;--total-emoji-size:calc(var(--emoji-size) + (2 * var(--emoji-padding)));--total-category-emoji-size:calc(var(--category-emoji-size) + (2 * var(--category-emoji-padding)))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{opacity:0;pointer-events:none}.abs-pos{position:absolute;left:0;top:0}.gone{display:none!important}.skintone-button-wrapper,.skintone-list{background:var(--background);z-index:3}.skintone-button-wrapper.expanded{z-index:1}.skintone-list{position:absolute;inset-inline-end:0;
1143top:0;z-index:2;overflow:visible;border-bottom:var(--border-size) solid var(--border-color);border-radius:0 0 var(--skintone-border-radius) var(--skintone-border-radius);will-change:transform;transition:transform .2s ease-in-out;transform-origin:center 0}@media (prefers-reduced-motion:reduce){.skintone-list{transition-duration:.001s}}@supports not (inset-inline-end:0){.skintone-list{right:0}}.skintone-list.no-animate{transition:none}.tabpanel{overflow-y:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;will-change:transform;min-height:0;flex:1;contain:content}.emoji-menu{display:grid;grid-template-columns:repeat(var(--num-columns),var(--total-emoji-size));justify-content:space-around;align-items:flex-start;width:100%}.emoji-menu.visibility-auto{content-visibility:auto;contain-intrinsic-size:calc(var(--num-columns)*var(--total-emoji-size)) calc(var(--num-rows)*var(--total-emoji-size))}.category{padding:var(--emoji-padding);font-size:var(--category-font-size);color:var(--category-font-color)}.emoji,button.emoji{font-size:var(--emoji-size);display:flex;align-items:center;justify-content:center;border-radius:100%;height:var(--total-emoji-size);width:var(--total-emoji-size);line-height:1;overflow:hidden;font-family:var(--emoji-font-family);cursor:pointer}@media (hover:hover) and (pointer:fine){.emoji:hover,button.emoji:hover{background:var(--button-hover-background)}}.emoji.active,.emoji:active,button.emoji.active,button.emoji:active{background:var(--button-active-background)}.onscreen .custom-emoji::after{content:"";width:var(--emoji-size);height:var(--emoji-size);background-repeat:no-repeat;background-position:center center;background-size:contain;background-image:var(--custom-emoji-background)}.nav,.nav-button{align-items:center}.nav{display:grid;justify-content:space-between;contain:content}.nav-button{display:flex;justify-content:center}.nav-emoji{font-size:var(--category-emoji-size);width:var(--total-category-emoji-size);height:var(--total-category-emoji-size)}.indicator-wrapper{display:flex;border-bottom:1px solid var(--border-color)}.indicator{width:calc(100%/var(--num-groups));height:var(--indicator-height);opacity:var(--indicator-opacity);background-color:var(--indicator-color);will-change:transform,opacity;transition:opacity .1s linear,transform .25s ease-in-out}@media (prefers-reduced-motion:reduce){.indicator{will-change:opacity;transition:opacity .1s linear}}.pad-top,input.search{background:var(--background);width:100%}.pad-top{height:var(--emoji-padding);z-index:3}.search-row{display:flex;align-items:center;position:relative;padding-inline-start:var(--emoji-padding);padding-bottom:var(--emoji-padding)}.search-wrapper{flex:1;min-width:0}input.search{padding:var(--input-padding);border-radius:var(--input-border-radius);border:var(--input-border-size) solid var(--input-border-color);color:var(--input-font-color);font-size:var(--input-font-size);line-height:var(--input-line-height)}input.search::placeholder{color:var(--input-placeholder-color)}.favorites{overflow-y:auto;scrollbar-gutter:stable;display:flex;flex-direction:row;border-top:var(--border-size) solid var(--border-color);contain:content}.message{padding:var(--emoji-padding)}`,ra=[`customEmoji`,`customCategorySorting`,`database`,`dataSource`,`i18n`,`locale`,`skinToneEmoji`,`emojiVersion`],ia=`:host{--emoji-font-family:${Qr}}`,aa=class extends HTMLElement{constructor(e){super(),this.attachShadow({mode:`open`});let t=document.createElement(`style`);t.textContent=na+ia,this.shadowRoot.appendChild(t),this._ctx={locale:ea,dataSource:$i,skinToneEmoji:Yr,customCategorySorting:$r,customEmoji:null,i18n:ta,emojiVersion:null,...e};for(let e of ra)e!==`database`&&Object.prototype.hasOwnProperty.call(this,e)&&(this._ctx[e]=this[e],delete this[e]);this._dbFlush()}connectedCallback(){sa(this),this._cmp||=Qi(this.shadowRoot,this._ctx)}disconnectedCallback(){sa(this),Gi(()=>{if(!this.isConnected&&this._cmp){this._cmp.$destroy(),this._cmp=void 0;let{database:e}=this._ctx;e.close().catch(e=>console.error(e))}})}static get observedAttributes(){return[`locale`,`data-source`,`skin-tone-emoji`,`emoji-version`]}attributeChangedCallback(e,t,n){this._set(e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()),e===`emoji-version`?parseFloat(n):n)}_set(e,t){this._ctx[e]=t,this._cmp&&this._cmp.$set({[e]:t}),[`locale`,`dataSource`].includes(e)&&this._dbFlush()}_dbCreate(){let{locale:e,dataSource:t,database:n}=this._ctx;(!n||n.locale!==e||n.dataSource!==t)&&this._set(`database`,new Br({locale:e,dataSource:t}))}_dbFlush(){Gi(()=>this._dbCreate())}},oa={};for(let e of ra)oa[e]={get(){return e===`database`&&this._dbCreate(),this._ctx[e]},set(t){if(e===`database`)throw Error(`database is read-only`);this._set(e,t)}};Object.defineProperties(aa.prototype,oa);function sa(e){e instanceof aa||Object.setPrototypeOf(e,customElements.get(e.tagName.toLowerCase()).prototype)}customElements.get(`emoji-picker`)||customElements.define(`emoji-picker`,aa);var ca=`https://cdn.jsdelivr.net/npm/emoji-picker-element-data@1`,la={categories:{custom:`Eigene`,"smileys-emotion":`Smileys & Gefühle`,"people-body":`Menschen & Körper`,"animals-nature":`Tiere & Natur`,"food-drink":`Essen & Trinken`,"travel-places":`Reisen & Orte`,activities:`Aktivitäten`,objects:`Objekte`,symbols:`Symbole`,flags:`Flaggen`},categoriesLabel:`Kategorien`,emojiUnsupportedMessage:`Dein Browser unterstützt Farb-Emojis nicht.`,favoritesLabel:`Häufig verwendet`,loadingMessage:`Ladeâ¦`,networkErrorMessage:`Emojis konnten nicht geladen werden.`,regionLabel:`Emoji-Auswahl`,searchDescription:`Tippe deinen Suchbegriff. Ergebnisse werden automatisch angezeigt.`,searchLabel:`Suchen`,searchResultsLabel:`Suchergebnisse`,skinToneDescription:`Wenn ausgewählt, werden Skin-Tone-Optionen für Emojis angezeigt.`,skinToneLabel:`Hautfarbe wählen (aktuell {skinTone}
1143)`,skinTonesLabel:`Hautfarben`,skinTones:[`Standard`,`Hell`,`Mittelhell`,`Mittel`,`Mitteldunkel`,`Dunkel`]},ua={categories:{custom:`Personalizados`,"smileys-emotion":`Caras y emociones`,"people-body":`Personas y cuerpo`,"animals-nature":`Animales y naturaleza`,"food-drink":`Comida y bebida`,"travel-places":`Viajes y lugares`,activities:`Actividades`,objects:`Objetos`,symbols:`SÃmbolos`,flags:`Banderas`},categoriesLabel:`CategorÃas`,emojiUnsupportedMessage:`Tu navegador no soporta emojis a color.`,favoritesLabel:`Usados con frecuencia`,loadingMessage:`Cargandoâ¦`,networkErrorMessage:`No se pudieron cargar los emojis.`,regionLabel:`Selector de emojis`,searchDescription:`Escribe tu búsqueda. Los resultados aparecerán automáticamente.`,searchLabel:`Buscar`,searchResultsLabel:`Resultados de búsqueda`,skinToneDescription:`Si está seleccionado, se mostrarán opciones de tono de piel para los emojis.`,skinToneLabel:`Elige el tono de piel (actual: {skinTone})`,skinTonesLabel:`Tonos de piel`,skinTones:[`Por defecto`,`Claro`,`Medio claro`,`Medio`,`Medio oscuro`,`Oscuro`]},da=new G.Renderer;da.link=({href:e,text:t})=>`<a href="${Ve(e)}" target="_blank" rel="noopener noreferrer">${t}</a>`,G.setOptions({renderer:da,breaks:!0,gfm:!0});function fa(e){let t=e.split(` 1144`).filter(e=>!e.trim().startsWith(`>>>`)).join(` 1145`).replace(/\n{3,}/g,` 1146 1147`).trim();return ln(G.parse(t,{async:!1}))}var pa={de:`Hallo! Wie kann ich dir helfen?`,en:`Hello! How can I help you?`,es:`Hola! Como puedo ayudarte?`},ma={de:`Du sprichst mit einem KI-Assistenten.`,en:`You are chatting with an AI assistant.`,es:`Estás hablando con un asistente de IA.`},ha={de:`Deine Frage...`,en:`Your question...`,es:`Tu pregunta...`},ga={de:`Verbindungsfehler. Bitte versuche es erneut.`,en:`Connection error. Please try again.`,es:`Error de conexión. Por favor, inténtalo de nuevo.`},_a={de:`Der Datei-Upload ist fehlgeschlagen. Bitte versuche es erneut.`,en:`The file upload failed. Please try again.`,es:`La subida del archivo falló. Por favor, inténtalo de nuevo.`},va={de:`Erneut versuchen`,en:`Try again`,es:`Intentar de nuevo`},ya={de:`Welches Thema betrifft deine Frage?`,en:`What is your question about?`,es:`¿Sobre qué tema es tu pregunta?`},ba={de:[{value:`Allgemeine Frage`,label:`Allgemeine Frage`},{value:`Technisches Problem`,label:`Technisches Problem`},{value:`Abrechnung & Preise`,label:`Abrechnung & Preise`},{value:`Feature-Anfrage`,label:`Feature-Anfrage`},{value:`Sonstiges`,label:`Sonstiges`}],en:[{value:`General question`,label:`General question`},{value:`Technical problem`,label:`Technical problem`},{value:`Billing & pricing`,label:`Billing & pricing`},{value:`Feature request`,label:`Feature request`},{value:`Other`,label:`Other`}],es:[{value:`Pregunta general`,label:`Pregunta general`},{value:`Problema técnico`,label:`Problema técnico`},{value:`Facturación y precios`,label:`Facturación y precios`},{value:`Solicitud de función`,label:`Solicitud de función`},{value:`Otro`,label:`Otro`}]},xa={de:`Direkt an den Support senden`,en:`Send to our support team`,es:`Enviar al equipo de soporte`},Sa={de:`Deine E-Mail (optional):`,en:`Your email (optional):`,es:`Tu email (opcional):`},Ca={de:`Möchtest du noch etwas hinzufügen?`,en:`Anything you'd like to add?`,es:`¿Quieres añadir algo más?`},wa={de:`Absenden`,en:`Submit`,es:`Enviar`},Ta={de:`Abbrechen`,en:`Cancel`,es:`Cancelar`},Ea={de:`Wird gesendet...`,en:`Sending...`,es:`Enviando...`},Da={de:`Deine Anfrage wurde an unser Support-Team weitergeleitet. Wir melden uns so schnell wie möglich per E-Mail bei dir.`,en:`Your request has been forwarded to our support team. We'll get back to you by email as soon as possible.`,es:`Tu solicitud ha sido enviada a nuestro equipo de soporte. Te responderemos por email lo antes posible.`},Oa={de:`Deine Anfrage wurde weitergeleitet. Da du keine E-Mail-Adresse angegeben hast, können wir dich leider nicht direkt kontaktieren. Bitte schreibe uns an [email protected]`,en:`Your request has been forwarded. Since you didn't provide an email address, we can't contact you directly. Please write to us at [email protected]`,es:`Tu solicitud ha sido envi
1147ada. Como no proporcionaste un email, no podemos contactarte directamente. Por favor escrÃbenos a [email protected]`},ka={de:`Die Anfrage konnte leider nicht gesendet werden. Bitte versuche es erneut.`,en:`The request could not be sent. Please try again.`,es:`No se pudo enviar la solicitud. Por favor, inténtalo de nuevo.`},Aa={de:`Datei hier ablegen`,en:`Drop file here`,es:`Suelta el archivo aquÃ`},ja={de:`Neuen Chat starten`,en:`Start new chat`,es:`Iniciar nuevo chat`},Ma={de:`Datei anhängen`,en:`Attach file`,es:`Adjuntar archivo`},Na={de:`Screenshot der Seite`,en:`Screenshot of the page`,es:`Captura de la página`},Pa={de:`Emoji einfügen`,en:`Insert emoji`,es:`Insertar emoji`},Fa={de:`Screenshot konnte nicht erstellt werden.`,en:`Could not take screenshot.`,es:`No se pudo crear la captura.`},Ia={de:`Datei zu groà (max. 5 MB):`,en:`File too large (max 5 MB):`,es:`Archivo demasiado grande (máx. 5 MB):`},La={de:`Konversation wird analysiert...`,en:`Analyzing conversation...`,es:`Analizando conversación...`},Ra={de:`Toolbereich:`,en:`Tool area:`,es:`Ãrea de herramienta:`},za={de:`Bitte wählen...`,en:`Please select...`,es:`Por favor selecciona...`},Ba={de:`Zusammenfassung:`,en:`Summary:`,es:`Resumen:`},Va={de:`Hilfreich`,en:`Helpful`,es:`Ãtil`},Ha={de:`Nicht hilfreich`,en:`Not helpful`,es:`No útil`},Ua=`fpk-chat-state`;function Wa(){try{let e=new URL(window.location.href);return`${e.origin}${e.pathname}${e.search}`}catch{return``}}function Ga(t={}){let n=mn(t),r=n.apiUrl||window.location.origin+`/api/chat`,i=(n.apiUrl||window.location.origin+`/api/chat`).replace(`/api/chat`,`/api/rate`),a=(n.apiUrl||window.location.origin+`/api/chat`).replace(`/api/chat`,`/api/upload`),o=[],s=[],c=null,l=null,u=!1,d=!1,f=n.userEmail||null,p=null,m=!1,h=!1,g=!1,ee=!1,_=null,v=document.createElement(`div`);v.id=`fpk-chatbot`;let y=v.attachShadow({mode:`closed`}),b=[`bottom-right`,`bottom-left`,`top-right`,`top-left`,`right`,`left`].includes(n.position)?n.position:`bottom-right`,te=`fpk-pos-${b}`,ne=b===`bottom-left`||b===`top-left`||b===`left`,re=b===`top-right`||b===`top-left`,ie=document.createElement(`style`);ie.textContent=e,y.appendChild(ie);let x=document.createElement(`button`);x.className=`fpk-chat-button ${te}`,x.setAttribute(`aria-label`,`Chat öffnen`),x.setAttribute(`aria-expanded`,`false`),x.innerHTML=`<svg viewBox="0 0 256 256" aria-hidden="true"><path d="M201.89,54.66A103.43,103.43,0,0,0,128.79,24H128A104,104,0,0,0,24,128v56a24,24,0,0,0,24,24H64a24,24,0,0,0,24-24V144a24,24,0,0,0-24-24H40.36A88.12,88.12,0,0,1,190.54,65.93,87.39,87.39,0,0,1,215.65,120H192a24,24,0,0,0-24,24v40a24,24,0,0,0,24,24h24a24,24,0,0,1-24,24H136a8,8,0,0,0,0,16h56a40,40,0,0,0,40-40V128A103.41,103.41,0,0,0,201.89,54.66ZM64,136a8,8,0,0,1,8,8v40a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V136Zm128,56a8,8,0,0,1-8-8V144a8,8,0,0,1,8-8h24v56Z"/></svg>`;let S=document.createElement(`div`);S.className=`fpk-chat-window ${te}`,S.setAttribute(`role`,`dialog`),S.setAttribute(`aria-label`,`Chat-Assistent`),S.innerHTML=` 1148 <div class="fpk-resize-handle" aria-hidden="true" title="GröÃe ändern"></div> 1149 <div class="fpk-lightbox" role="dialog" aria-modal="true" aria-label="Bildvorschau" hidden> 1150 <button class="fpk-lightbox-close" aria-label="SchlieÃen" type="button">×</button> 1151 <img class="fpk-lightbox-img" alt="" /> 1152 </div> 1153 <div class="fpk-header"> 1154 <span class="fpk-header-title">Fanpage Karma Support</span> 1155 <div class="fpk-header-actions"> 1156 <button class="fpk-header-close" aria-label="Chat schlieÃen">×</button> 1157 </div> 1158 </div> 1159 <div class="fpk-messages" role="log" aria-live="polite" aria-label="Chat-Nachrichten"></div> 1160 <div class="fpk-prechat-form"></div> 1161 <div class="fpk-ai-hint"></div> 1162 <div class="fpk-escalation-area"></div> 1163 <div class="fpk-attachment-preview"></div> 1164 <div class="fpk-input-area"> 1165 <div class="fpk-composer"> 1166 <textarea class="fpk-input" placeholder="" aria-label="Nachricht eingeben" rows="1"></textarea> 1167 <input class="fpk-file-input" type="file" multiple accept="image/*,.pdf,.txt,.doc,.docx,.xls,.xlsx,.ppt,.pptx" /> 1168 <div class="fpk-composer-toolbar"> 1169 <button class="fpk-attach-btn" aria-label="Datei anhängen" type="button"> 1170 <svg viewBox="0 0 24 24" aria-hidden="true" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48"/></svg> 1171 </button> 1172 <button class="fpk-screenshot-btn" aria-label="Screenshot der Seite" type="button"> 1173 <svg viewBox="0 0 24 24" aria-hidden="true" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg> 1174 </button> 1175 <button class="fpk-emoji-btn" aria-label="Emoji einfuegen" type="button">ð</button>
1176 <span class="fpk-composer-spacer"></span> 1177 <button class="fpk-send" disabled aria-label="Nachricht senden" type="button"> 1178 <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"/></svg> 1179 </button> 1180 </div> 1181 <div class="fpk-emoji-picker"></div> 1182 </div> 1183 </div> 1184 `;let C=n.renderTrigger!==!1;if(y.appendChild(S),C&&y.appendChild(x),C){let e=()=>{window.setTimeout(()=>x.classList.add(`fpk-visible`),1e3)};document.readyState===`complete`?e():window.addEventListener(`load`,e,{once:!0})}let w=S.querySelector(`.fpk-messages`),T=S.querySelector(`.fpk-input`),ae=S.querySelector(`.fpk-send`),oe=S.querySelector(`.fpk-header-close`),se=S.querySelector(`.fpk-ai-hint`),ce=S.querySelector(`.fpk-prechat-form`),E=S.querySelector(`.fpk-escalation-area`),D=S.querySelector(`.fpk-emoji-btn`),O=S.querySelector(`.fpk-emoji-picker`),le=S.querySelector(`.fpk-attach-btn`),ue=S.querySelector(`.fpk-screenshot-btn`),de=S.querySelector(`.fpk-file-input`),k=S.querySelector(`.fpk-attachment-preview`),A=S.querySelector(`.fpk-input-area`),fe=S.querySelector(`.fpk-lightbox`),pe=S.querySelector(`.fpk-lightbox-img`),me=S.querySelector(`.fpk-lightbox-close`);function j(e,t){pe.src=e,pe.alt=t,fe.hidden=!1}function he(){fe.hidden=!0,pe.src=``}fe.addEventListener(`click`,e=>{e.target===fe&&he()}),me.addEventListener(`click`,he);function M(){let e=(n.language||document.documentElement.lang||navigator.language||`en`).toLowerCase();return e.startsWith(`de`)?`de`:e.startsWith(`es`)?`es`:`en`}let ge=y.host;function N(e){ge.classList.toggle(`fpk-theme-dark`,e),ge.classList.toggle(`fpk-theme-light`,!e)}function _e(){let e=document.documentElement;return e.classList.contains(`dark`)||e.getAttribute(`data-theme`)===`dark`}n.theme===`dark`?N(!0):n.theme===`light`?N(!1):(N(_e()),typeof MutationObserver==`function`&&new MutationObserver(()=>N(_e())).observe(document.documentElement,{attributes:!0,attributeFilter:[`class`,`data-theme`]}));let P=M();se.textContent=ma[P]||ma.de,T.placeholder=ha[P]||ha.de,y.host.style.setProperty(`--fpk-drag-label`,`"${(Aa[P]||Aa.de).replace(/"/g,`\\"`)}"`),le.setAttribute(`data-fpk-tooltip`,Ma[P]||Ma.de),le.setAttribute(`aria-label`,Ma[P]||Ma.de),D.setAttribute(`data-fpk-tooltip`,Pa[P]||Pa.de),D.setAttribute(`aria-label`,Pa[P]||Pa.de);function F(){if(o.length===0){localStorage.removeItem(Ua);return}let e={messages:o,sessionId:c,sessionToken:l};f&&(e.userEmail=f),g&&(e.escalated=!0),localStorage.setItem(Ua,JSON.stringify(e))}function ve(){try{let e=localStorage.getItem(Ua);if(!e)return;let t=JSON.parse(e);if(!Array.isArray(t.messages)||t.messages.length===0)return;c=t.sessionId||null,l=t.sessionToken||null,t.userEmail&&(f=t.userEmail),g=!!t.escalated;for(let e of t.messages)o.push(e)}catch{}}function ye(){for(let e=0;e<o.length;e++){let t=o[e];Le(t.role,t.content,t.messageId,e,t.attachmentUrls)}}function be(){if(m||h)return;m=!0;let e=ba[P]||ba.de,t=ya[P]||ya.de;p=e[0].value,ce.innerHTML=` 1185 <div class="fpk-prechat-container"> 1186 <label class="fpk-prechat-label" for="fpk-topic-select">${t}</label> 1187 <select class="fpk-prechat-select" id="fpk-topic-select" aria-label="${t}"> 1188 ${e.map(e=>`<option value="${e.value}">${e.label}</option>`).join(``)} 1189 </select> 1190 </div> 1191 `;let n=ce.querySelector(`.fpk-prechat-select`);n.addEventListener(`change`,()=>{p=n.value})}function xe(){ce.innerHTML=``}let I=[],Se=[`Analytics`,`Engage`,`Pushling`,`Discovery`,`Data API`,`Einstellungen`,`Ãbergreifend`],Ce={de:{},en:{Einstellungen:`Settings`,Ãbergreifend:`General`},es:{Einstellungen:`Ajustes`,Ãbergreifend:`General`}};function we(e){return Ce[P]?.[e]??e}function Te(e){return e.replace(/[&<>"']/g,e=>({"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`})[e])}(async()=>{try{let e=r.replace(`/api/chat`,`/api/widget-config`),t=await fetch(e);if(t.ok){let e=await t.json();Array.isArray(e.mappings)&&(I=e.mappings),Array.isArray(e.toolAreas)&&e.toolAreas.length>0&&(Se=e.toolAreas)}}catch{}})();function Ee(){let e=window.location.pathname.toLowerCase();for(let t of I)if(e.startsWith(t.urlPattern.toLowerCase()))return t.toolArea;return``}let De=/(leider\s+(?:habe\s+ich\s+)?keine\s+(?:passende|ausreichende|genuegend|genügend|spez
1191ifische|konkrete)?\s*(?:antwort|information|details?|angabe))|(?:keine\s+spezifischen\s+informationen)|(dazu\s+(?:habe\s+ich\s+)?(?:leider\s+)?keine)|(in\s+meiner\s+wissensgrundlage\s+nicht)|(unfortunately[, ].*(?:cannot|can'?t|don'?t\s+have|no\s+information))|(i\s+(?:cannot|can'?t)\s+(?:find|provide))|(no\s+tengo\s+informaci)/i;function Oe(){for(let e=o.length-1;e>=0;e--)if(o[e].role===`assistant`)return De.test(o[e].content||``);return!1}function L(e){if(!(g||ee)){if(!e?.force){let e=o.filter(e=>e.role===`user`).length;if(!Oe()&&e<2)return}E.innerHTML=` 1192 <button class="fpk-escalation-link" type="button"> 1193 <svg viewBox="0 0 24 24" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 2 11 13"/><path d="M22 2 15 22l-4-9-9-4 20-7z"/></svg> 1194 ${xa[P]||xa.de} 1195 </button> 1196 `,E.querySelector(`.fpk-escalation-link`).addEventListener(`click`,ke)}}function ke(){ee=!0,A.style.display=`none`,k.style.display=`none`,E.innerHTML=` 1197 <div class="fpk-escalation-form"> 1198 <p class="fpk-escalation-loading">${La[P]||La.de}</p> 1199 </div> 1200 `;let e=(n.apiUrl||window.location.origin+`/api/chat`).replace(`/api/chat`,`/api/extract-context`);(async()=>{let t=Ee(),n=``,r=``;try{let t=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:c,sessionToken:l,language:P})});if(t.ok){let e=await t.json();n=e.toolArea||``;let i=[];e.summary&&i.push(e.summary),e.steps&&i.push(e.steps),e.errorMessage&&i.push(e.errorMessage),r=i.join(` 1201 1202`)}}catch{}!n&&t&&(n=t),Ae(n,r)})();let t=()=>{ee=!1,_=null,E.innerHTML=``,A.style.display=``,k.style.display=``,L()};E.addEventListener(`click`,e=>{e.target.classList.contains(`fpk-escalation-cancel`)&&t()},{once:!0})}function Ae(e,t){E.innerHTML=` 1203 <div class="fpk-escalation-form"> 1204 <label class="fpk-escalation-label">${Ra[P]||Ra.de}</label> 1205 <select class="fpk-escalation-select" required> 1206 <option value="">${za[P]||za.de}</option> 1207 ${Se.map(t=>`<option value="${Te(t)}"${t===e?` selected`:``}>${Te(we(t))}</option>`).join(``)} 1208 </select> 1209 <label class="fpk-escalation-label fpk-escalation-msg-label">${Ba[P]||Ba.de}</label> 1210 <textarea class="fpk-escalation-summary" rows="3" maxlength="1000">${t}</textarea> 1211 <label class="fpk-escalation-label">${Sa[P]||Sa.de}</label> 1212 <input class="fpk-escalation-email" type="email" placeholder="[email protected]" value="${f||``}" /> 1213 <label class="fpk-escalation-label fpk-escalation-msg-label">${Ca[P]||Ca.de}</label> 1214 <textarea class="fpk-escalation-textarea" rows="2" maxlength="500"></textarea> 1215 <div class="fpk-escalation-file-area"> 1216 <input class="fpk-escalation-file-input" type="file" multiple accept="image/*,.pdf,.txt,.doc,.docx,.xls,.xlsx,.ppt,.pptx" /> 1217 <button class="fpk-escalation-attach-btn" type="button"> 1218 <svg viewBox="0 0 24 24" aria-hidden="true" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48"/></svg> 1219 ${Ma[P]||Ma.de} 1220 </button> 1221 <div class="fpk-escalation-file-list"></div> 1222 <div class="fpk-escalation-file-error" role="alert"></div> 1223 </div> 1224 <div class="fpk-escalation-actions"> 1225 <button class="fpk-escalation-submit" disabled>${wa[P]||wa.de}</button> 1226 <button class="fpk-escalation-cancel">${Ta[P]||Ta.de}</button> 1227 </div> 1228 </div> 1229 `;let n=E.querySelector(`.fpk-escalation-submit`),r=E.querySelector(`.fpk-escalation-cancel`),i=E.querySelector(`.fpk-escalation-email`),a=E.querySelector(`.fpk-escalation-textarea`),o=E.querySelector(`.fpk-escalation-select`),s=E.querySelector(`.fpk-escalation-summary`);s.scrollTop=0;let c=E.querySelector(`.fpk-escalation-file-input`),l=E.querySelector(`.fpk-escalation-attach-btn`),u=E.querySelector(`.fpk-escalation-file-list`),d=E.querySelector(`.fpk-escalation-file-error`),p=[];function m(){n.disabled=!o.value}o.addEventListener(`change`,m),m();function h(e){if(!e)return;let t=[];for(let n of Array.from(e))n.size<=5*1024*1024?p.push(n):t.push(n.name);d.textContent=t.length>0?`${Ia[P]||Ia.de} ${t.join(`, `)}`:``,g()}_=h,l.addEventListener(`click`,()=>c.click()),c.addEventListener(`change`,()=>{h(c.files),c.value=``});function g(){u.innerHTML=``;for(let e=0;e<p.length;e++){let t=document.createElement(`div`);t.className=`fpk-attach-chip`,t.innerHTML=`<span class="fpk-attach-name">${p[e].name}</span><button class="fpk-attach-remove">×</button>`,t.querySelector(`.fpk-attach-remove`).addEventListener(`click`,()=>{p.splice(e,1),g()}),u.appendChild(t)}}n.addEventListener(`click`,()=>je(i.value.trim(),a.value.trim(),n,p,o.value,s.value.trim())),r.addEventListener(`click`,()=>{ee=!1,_=null,E.innerHTML=``,A.style.display=``,k.style.display=``,L()})}
1229async function je(e,t,r,i,a,s){if(!(!c||!l)){r.disabled=!0,r.textContent=Ea[P]||Ea.de;try{let u=[];if(i&&i.length>0){let e=(n.apiUrl||window.location.origin+`/api/chat`).replace(`/api/chat`,`/api/upload`),t=new FormData;t.append(`sessionId`,c),t.append(`sessionToken`,l);for(let e of i)t.append(`files`,e);let r=await(await fetch(e,{method:`POST`,body:t})).json();u=Array.isArray(r.files)?r.files:[]}let d=(n.apiUrl||window.location.origin+`/api/chat`).replace(`/api/chat`,`/api/escalate`);if((await(await fetch(d,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:c,sessionToken:l,email:e||void 0,message:t||void 0,toolArea:a||void 0,summary:s||void 0,attachmentUrls:u,pageUrl:Wa()})})).json()).ok){g=!0,ee=!1,_=null,e&&e.includes(`@`)&&(f=e);let t=e&&e.includes(`@`)?Da[P]||Da.de:Oa[P]||Oa.de;o.push({role:`assistant`,content:t}),F(),E.innerHTML=`<div class="fpk-escalation-success"> 1230 <svg viewBox="0 0 24 24" width="32" height="32" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg> 1231 <span>${t}</span> 1232 </div>`,se.textContent=``,k.innerHTML=``,setTimeout(()=>{E.innerHTML=``,Le(`assistant`,t),R()},2e3)}else r.disabled=!1,r.textContent=wa[P]||wa.de,Le(`assistant`,ka[P]||ka.de),A.style.display=``}catch{r.disabled=!1,r.textContent=wa[P]||wa.de,Le(`assistant`,ka[P]||ka.de),A.style.display=``}}}function R(){A.innerHTML=`<button class="fpk-new-chat-btn">${ja[P]||ja.de}</button>`,A.style.display=``,se.textContent=``,A.querySelector(`.fpk-new-chat-btn`).addEventListener(`click`,()=>{o.length=0,c=void 0,l=void 0,g=!1,ee=!1,_=null,m=!1,h=!1,f=``,localStorage.removeItem(Ua),w.innerHTML=``,E.innerHTML=``,k.innerHTML=``,A.innerHTML=``;let e=document.createElement(`div`);e.className=`fpk-composer`;let t=document.createElement(`div`);t.className=`fpk-composer-toolbar`;let n=document.createElement(`span`);n.className=`fpk-composer-spacer`,t.appendChild(le),t.appendChild(D),t.appendChild(n),t.appendChild(ae),e.appendChild(T),e.appendChild(de),e.appendChild(t),e.appendChild(O),A.appendChild(e),T.value=``,ae.disabled=!0,se.textContent=ma[P]||ma.de,ze(),be(),Ne(!0),T.focus()})}let Me=!1;w.addEventListener(`scroll`,()=>{Me=!(w.scrollHeight-w.scrollTop-w.clientHeight<60)});function Ne(e=!1){!e&&Me||requestAnimationFrame(()=>{w.scrollTop=w.scrollHeight})}let z=!0,B=0,Pe=0;w.addEventListener(`wheel`,()=>{z=!1},{passive:!0}),w.addEventListener(`touchmove`,()=>{z=!1},{passive:!0});function Fe(e){if(!z)return;let t=w.scrollHeight-w.clientHeight,n=Math.max(0,e.offsetTop-12);if(Pe=Math.min(t,n),B)return;let r=()=>{if(!z){B=0;return}let e=w.scrollTop,t=Pe-e;if(Math.abs(t)<1){w.scrollTop=Pe,B=0;return}w.scrollTop=e+t*.25,B=requestAnimationFrame(r)};B=requestAnimationFrame(r)}function Ie(e,t){let n=document.createElement(`div`);n.className=`fpk-rating`,n.dataset.messageId=e;let r=document.createElement(`button`);r.className=`fpk-rating-btn`,r.setAttribute(`aria-label`,Va[P]||Va.de),r.title=Va[P]||Va.de,r.innerHTML=`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 10v12"/><path d="M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"/></svg>`;let a=document.createElement(`button`);a.className=`fpk-rating-btn`,a.setAttribute(`aria-label`,Ha[P]||Ha.de),a.title=Ha[P]||Ha.de,a.innerHTML=`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 14V2"/><path d="M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z"/></svg>`;function s(){let e=o[t]?.rating??null;r.classList.toggle(`fpk-rating-active`,e===1),a.classList.toggle(`fpk-rating-active`,e===-1)}async function u(n){let r=o[t];if(!r)return;let a=r.rating===n?null:n;r.rating=a,s(),F(),a===-1&&L({force:!0});try{if(!c||!l)return;await fetch(i,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:c,sessionToken:l,messageId:e,rating:a})})}catch{r.rating=a===null?n:null,s(),F()}}return r.addEventListener(`click`,()=>u(1)),a.addEventListener(`click`,()=>u(-1)),n.appendChild(r),n.appendChild(a),s(),n}function Le(e,t,n,r,i){let a=document.createElement(`div`);if(a.className=`fpk-msg fpk-msg-${e===`user`?`user`:`bot`}`,e===`assistant`)a.innerHTML=fa(t);else{let e=t.replace(/\s*\[\d+\s*Anhang:[^\]]+\]\s*$/m,``).trim();if(e&&(a.textContent=e),i&&i.length>0){let e=document.createElement(`div`);e.className=`fpk-msg-attachments`;for(let t of i)if((t.type||``).startsWith(`image/`)){let n=document.createElement(`button`);n.type=`button`,n.className=`fpk-msg-attach-image`,n.setAttribute(`aria-label`,t.name);let r=document.createElement(`img`);r.src=t.url,r.alt=t.name,r.loading=`lazy`,n.appendChild(r),n.addEventListener(`click`,()=>j(t.url,t.name)),e.appendChild(n)}else{let n=document.createElement(`a`);n.className=`fpk-msg-attach-chip`,n.href=t.url,n.target=`_blank`,n.rel=`noopener noreferrer`,n.title=t.name,n.innerHTML=`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg><span></span>`,n.querySelector(`span`).textContent=t.name,e.appendChild(n)}a.appendChild(e)}}let s=w.querySelector(`.fpk-welcome`);s&&s.remove();let c=w.querySelector(`.fpk-typing`);
1232if(c&&c.remove(),w.appendChild(a),e===`assistant`&&n){let e=Ie(n,r??o.length-1);w.appendChild(e)}return Ne(!0),a}function Re(){let e=document.createElement(`div`);e.className=`fpk-typing`,e.innerHTML=`<div class="fpk-typing-dot"></div><div class="fpk-typing-dot"></div><div class="fpk-typing-dot"></div>`,w.appendChild(e),Ne(!0)}function V(){let e=w.querySelector(`.fpk-typing`);e&&e.remove()}function ze(){let e=document.createElement(`div`);e.className=`fpk-welcome`,e.textContent=pa[P]||pa.de,w.appendChild(e)}function H(){w.querySelectorAll(`.fpk-quick-replies`).forEach(e=>e.remove())}function U(e,t){if(H(),e.length===0)return;let n=document.createElement(`div`);n.className=`fpk-quick-replies`;for(let t of e){let e=document.createElement(`button`);e.className=`fpk-quick-reply-btn`,e.textContent=t,e.addEventListener(`click`,()=>{H(),T.value=t,ae.disabled=!1,Ye()}),n.appendChild(e)}t.insertAdjacentElement(`afterend`,n)}let Be=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`,`application/pdf`,`text/plain`,`application/msword`,`application/vnd.openxmlformats-officedocument.wordprocessingml.document`,`application/vnd.ms-excel`,`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,`application/vnd.ms-powerpoint`,`application/vnd.openxmlformats-officedocument.presentationml.presentation`]);function W(e){e&&Array.from(e).forEach(e=>{if(e.size>5*1024*1024||e.type&&!Be.has(e.type))return;let t={name:e.name,type:e.type,file:e};if(e.type.startsWith(`image/`)){let n=new FileReader;n.onload=()=>{t.dataUrl=n.result,s.push(t),He(),Ue()},n.readAsDataURL(e)}else s.push(t),He(),Ue()})}function G(){W(de.files),de.value=``}function Ve(e){s.splice(e,1),He(),Ue()}function He(){if(s.length===0){k.innerHTML=``,k.classList.remove(`fpk-preview-visible`);return}k.classList.add(`fpk-preview-visible`),k.innerHTML=``,s.forEach((e,t)=>{let n=document.createElement(`div`);if(n.className=`fpk-attach-chip`,e.dataUrl){let t=document.createElement(`img`);t.src=e.dataUrl,t.className=`fpk-attach-thumb`,t.alt=e.name,n.appendChild(t)}let r=document.createElement(`span`);r.className=`fpk-attach-name`,r.textContent=e.name,n.appendChild(r);let i=document.createElement(`button`);i.className=`fpk-attach-remove`,i.textContent=`Ã`,i.setAttribute(`aria-label`,`Entfernen`),i.addEventListener(`click`,()=>Ve(t)),n.appendChild(i),k.appendChild(n)})}function Ue(){ae.disabled=!T.value.trim()&&s.length===0||d}async function We(){if(s.length===0)return[];let e=new FormData;c&&e.append(`sessionId`,c),l&&e.append(`sessionToken`,l);for(let t of s)e.append(`file`,t.file,t.name);try{let t=await(await fetch(a,{method:`POST`,body:e})).json();return t.sessionId&&t.sessionToken&&(c=t.sessionId,l=t.sessionToken),t.files||[]}catch{return[]}}function Ge(e){k.classList.add(`fpk-preview-visible`),k.innerHTML=``;let t=document.createElement(`div`);t.className=`fpk-screenshot-error`,t.textContent=e,k.appendChild(t),window.setTimeout(()=>{s.length===0&&He()},4e3)}async function Ke(){if(typeof navigator.mediaDevices?.getDisplayMedia!=`function`)return;let e=y.host,t=null;try{e.style.visibility=`hidden`,t=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:`browser`},audio:!1,preferCurrentTab:!0});let n=document.createElement(`video`);n.srcObject=t,await new Promise(e=>{n.onloadedmetadata=()=>e()}),await n.play(),await new Promise(e=>requestAnimationFrame(()=>e(null)));let r=Math.min(1,1920/(n.videoWidth||1920)),i=document.createElement(`canvas`);i.width=Math.round(n.videoWidth*r),i.height=Math.round(n.videoHeight*r);let a=i.getContext(`2d`);if(!a)throw Error(`no 2d context`);a.drawImage(n,0,0,i.width,i.height),n.srcObject=null;let o=await new Promise(e=>i.toBlob(t=>e(t),`image/jpeg`,.9));if(!o)throw Error(`toBlob failed`);W([new File([o],`screenshot-${Date.now()}.jpg`,{type:`image/jpeg`})])}catch(e){e?.name!==`NotAllowedError`&&Ge(Fa[P]||Fa.de)}finally{t?.getTracks().forEach(e=>e.stop()),e.style.visibility=``}}le.addEventListener(`click`,()=>de.click()),de.addEventListener(`change`,G);let qe=/Mobi|Android|iPhone|iPod/i.test(navigator.userAgent);typeof navigator.mediaDevices?.getDisplayMedia==`function`&&!qe?(ue.setAttribute(`aria-label`,Na[P]||Na.de),ue.setAttribute(`data-fpk-tooltip`,Na[P]||Na.de),ue.addEventListener(`click`,Ke)):ue.style.display=`none`;let Je=0;function K(e){let t=e.dataTransfer?.types;if(!t)return!1;for(let e of t)if(e===`Files`)return!0;return!1}S.addEventListener(`dragenter`,e=>{!u||!K(e)||(e.preventDefault(),Je++,S.classList.add(`fpk-drag-over`))}),S.addEventListener(`dragover`,e=>{!u||!K(e)||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`))}),S.addEventListener(`dragleave`,e=>{!u||!K(e)||(Je=Math.max(0,Je-1),Je===0&&S.classList.remove(`fpk-drag-over`))}),S.addEventListener(`drop`,e=>{if(u){if(e.preventDefault(),Je=0,S.classList.remove(`fpk-drag-over`),_){_(e.dataTransfer?.files);return}W(e.dataTransfer?.files)}});async function Ye(){let e=T.value.trim();if(!e&&s.length===0||d)return;Me=!1;let t=s.length>0,n=await We();if(t&&n.length===0){Le(`assistant`,_a[P]||_a.de);return}let r=s.length>0,i=e;r&&e?i=`${e}\n\n[${s.length} Anhang: ${s.map(e=>e.name).join(`, `)}]`:r&&!e&&(i=`[${s.length} Anhang: ${s.map(e=>e.name).join(`, `)}]`),o.length===0&&p&&(i=`[Thema: ${p}] ${i}`,xe()),H();let a={role:`user`,content:i};n.length>0&&(a.attachmentUrls=n),o.push(a),Le(`user`,e||i,void 0,void 0,n).scrollIntoView({behavior:`smooth`,block:`start`}),T.value=``,rt(),s.length=0,He(),F(),await Xe(n)}async function Xe(e){ae.disabled=!0,d=!0,z=!0,B&&=(cancelAnimationFrame(B),0),Re();let t=null;try{let i={messages:[{role:`user`,content:o[o.length-1]?.content??``}
1232],language:P,stream:!0};i.currentUrl=Wa(),c&&l&&(i.sessionId=c,i.sessionToken=l),n.userId&&(i.userId=n.userId),n.userName&&(i.userName=n.userName),n.companyId&&(i.companyId=n.companyId),n.companyName&&(i.companyName=n.companyName),n.plan&&(i.plan=n.plan),n.segments?.length&&(i.segments=n.segments),f&&(i.userEmail=f),e.length>0&&(i.attachmentUrls=e);let a=await fetch(r,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(i)});if(!a.ok||!a.body)throw Error(`Stream failed`);let s=!1,u=a.body.getReader(),d=new TextDecoder,p=``,m=``,h,g=!1;for(;;){let{done:e,value:n}=await u.read();if(e)break;p+=d.decode(n,{stream:!0});let r=p.split(` 1233`);p=r.pop()||``;for(let e of r)if(e.startsWith(`data: `))try{let n=JSON.parse(e.slice(6));if(n.type===`session`&&n.sessionId)c=n.sessionId,l=n.sessionToken||null;else if(n.type===`token`){if(!s){s=!0,V(),t=document.createElement(`div`),t.className=`fpk-msg fpk-msg-bot`;let e=w.querySelector(`.fpk-welcome`);e&&e.remove(),w.appendChild(t)}m+=n.text,t.innerHTML=fa(m),Fe(t)}else n.type===`saved`&&n.messageId?h=n.messageId:n.type===`done`?(n.hasAnswer===!1||n.offerEscalation===!0)&&(g=!0):n.type===`quick_replies`&&Array.isArray(n.replies)&&(m=m.split(` 1234`).filter(e=>!e.trim().startsWith(`>>>`)).join(` 1235`).replace(/\n{3,}/g,` 1236 1237`).trim(),t&&(t.innerHTML=fa(m),U(n.replies,t)))}catch{}}if(!t){V(),t=document.createElement(`div`),t.className=`fpk-msg fpk-msg-bot`;let e=w.querySelector(`.fpk-welcome`);e&&e.remove(),w.appendChild(t)}if(m||(m=`Entschuldigung, ein Fehler ist aufgetreten.`,t.innerHTML=fa(m)),o.push({role:`assistant`,content:m,messageId:h,rating:null}),F(),h){let e=o.length-1,n=Ie(h,e);t.insertAdjacentElement(`afterend`,n)}L(g?{force:!0}:void 0),t&&Fe(t)}catch{V(),t&&t.remove(),Ze(e)}finally{d=!1}}function Ze(e){let t=document.createElement(`div`);t.className=`fpk-msg fpk-msg-bot fpk-msg-error`;let n=document.createElement(`div`);n.textContent=ga[P]||ga.de,t.appendChild(n);let r=document.createElement(`button`);r.className=`fpk-retry-btn`,r.type=`button`,r.innerHTML=`<svg viewBox="0 0 24 24" width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 12a9 9 0 1 0 3-6.7L3 8"/><path d="M3 3v5h5"/></svg><span></span>`,r.querySelector(`span`).textContent=va[P]||va.de,r.addEventListener(`click`,()=>{t.remove(),Xe(e)}),t.appendChild(r),w.appendChild(t),Ne(!0)}ve(),o.length>0&&(h=!0,ye(),g&&R());function q(){u=!u,C&&x.setAttribute(`aria-expanded`,String(u)),u?(S.classList.add(`fpk-open`),o.length===0?(ze(),be()):L(),T.focus(),window.dispatchEvent(new CustomEvent(`fpk-chat:opened`))):(S.classList.remove(`fpk-open`),C&&x.focus(),window.dispatchEvent(new CustomEvent(`fpk-chat:closed`)))}let J=new AbortController,Qe={open(){u||q()},close(){u&&q()},toggle(){q()},isOpen(){return u},destroy(){J.abort();try{v.remove()}catch{}let e=window;e.fpkChat===Qe&&delete e.fpkChat,window.dispatchEvent(new CustomEvent(`fpk-chat:destroyed`))}};window.fpkChat=Qe,document.addEventListener(`click`,e=>{let t=e.target?.closest?.(`[data-fpk-chat]`);if(!t)return;let n=(t.getAttribute(`data-fpk-chat`)||`open`).toLowerCase();(n===`open`||n===`close`||n===`toggle`)&&(e.preventDefault(),Qe[n]())},{signal:J.signal}),window.dispatchEvent(new CustomEvent(`fpk-chat:ready`,{detail:Qe}));function $e(){O.innerHTML=``;let e=document.createElement(`emoji-picker`),t=P===`de`||P===`es`?P:`en`;e.dataSource=`${ca}/${t}/cldr/data.json`,e.locale=t,P===`de`?e.i18n=la:P===`es`&&(e.i18n=ua),e.classList.add(`fpk-emoji-picker-host`),e.addEventListener(`emoji-click`,e=>{let t=e.detail;t?.unicode&&et(t.unicode)}),O.appendChild(e)}function et(e){let t=T.selectionStart??T.value.length,n=T.selectionEnd??t,r=T.value.slice(0,t),i=T.value.slice(n);T.value=r+e+i;let a=t+e.length;T.setSelectionRange(a,a),T.focus(),rt(),Ue()}function tt(){O.classList.contains(`fpk-picker-open`)?O.classList.remove(`fpk-picker-open`):O.classList.add(`fpk-picker-open`)}function nt(){O.classList.remove(`fpk-picker-open`)}$e(),D.addEventListener(`click`,e=>{e.stopPropagation(),tt()}),y.addEventListener(`click`,e=>{let t=e.target;!O.contains(t)&&t!==D&&nt()}
1237),y.addEventListener(`keydown`,e=>{if(e.key===`Escape`){if(!fe.hidden){he();return}if(O.classList.contains(`fpk-picker-open`)){nt();return}u&&q()}}),C&&x.addEventListener(`click`,q),oe.addEventListener(`click`,q),ae.addEventListener(`click`,Ye);function rt(){T.style.height=`auto`,T.style.height=Math.min(T.scrollHeight,140)+`px`}let it=`fpkChatSize`;function at(){return Math.max(window.innerWidth-32,280)}function ot(){return Math.max(window.innerHeight-48,320)}function st(){return window.innerWidth<480||window.innerHeight<600}function ct(){if(st()){S.style.width=``,S.style.height=``;return}try{let e=localStorage.getItem(it);if(!e)return;let{w:t,h:n}=JSON.parse(e),r=at(),i=ot();t&&(S.style.width=Math.min(Math.max(t,380),r)+`px`),n&&(S.style.height=Math.min(Math.max(n,520),i)+`px`)}catch{}}ct(),window.addEventListener(`resize`,ct);let lt=S.querySelector(`.fpk-resize-handle`);if(lt){let e=0,t=0,n=0,r=0,i=!1;lt.addEventListener(`pointerdown`,a=>{i=!0,e=a.clientX,t=a.clientY,n=S.offsetWidth,r=S.offsetHeight,S.classList.add(`fpk-resizing`),lt.setPointerCapture(a.pointerId),a.preventDefault()}),lt.addEventListener(`pointermove`,a=>{if(!i)return;let o=ne?a.clientX-e:e-a.clientX,s=re?a.clientY-t:t-a.clientY,c=window.innerWidth-32,l=window.innerHeight-48,u=Math.min(c,Math.max(380,n+o)),d=Math.min(l,Math.max(520,r+s));S.style.width=u+`px`,S.style.height=d+`px`});function ut(e){if(i){i=!1,S.classList.remove(`fpk-resizing`);try{lt.releasePointerCapture(e.pointerId)}catch{}try{localStorage.setItem(it,JSON.stringify({w:S.offsetWidth,h:S.offsetHeight}))}catch{}}}lt.addEventListener(`pointerup`,ut),lt.addEventListener(`pointercancel`,ut)}T.addEventListener(`keydown`,e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),Ye())}),T.addEventListener(`input`,()=>{rt(),Ue()}),T.addEventListener(`paste`,e=>{let t=e.clipboardData?.items;if(!t)return;let n=[];for(let e of t)if(e.kind===`file`&&e.type.startsWith(`image/`)){let t=e.getAsFile();t&&n.push(t)}n.length!==0&&(e.preventDefault(),W(n))});let dt=typeof n.container==`string`?document.querySelector(n.container):n.container;dt?(C&&x.classList.add(`fpk-inline`),dt.appendChild(v)):document.body.appendChild(v)}var Ka=hn(document.currentScript),qa=()=>mn({...Ka,...window.__fpkChat||{}});document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,()=>Ga(qa())):Ga(qa())})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.