removed dist
Browse files- dist/assets/index-BhbZavTP.css +0 -728
- dist/assets/index-NR4DZ1UN.js +0 -1431
- dist/favicon.svg +0 -40
- dist/index.html +0 -15
dist/assets/index-BhbZavTP.css
DELETED
|
@@ -1,728 +0,0 @@
|
|
| 1 |
-
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
|
| 2 |
-
/***
|
| 3 |
-
The new CSS reset - version 1.11.3 (last updated 25.08.2024)
|
| 4 |
-
GitHub page: https://github.com/elad2412/the-new-css-reset
|
| 5 |
-
***/
|
| 6 |
-
/*
|
| 7 |
-
Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
|
| 8 |
-
- The "symbol *" part is to solve Firefox SVG sprite bug
|
| 9 |
-
- The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
|
| 10 |
-
*/
|
| 11 |
-
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
|
| 12 |
-
all: unset;
|
| 13 |
-
display: revert;
|
| 14 |
-
}
|
| 15 |
-
/* Preferred box-sizing value */
|
| 16 |
-
*,
|
| 17 |
-
*::before,
|
| 18 |
-
*::after {
|
| 19 |
-
box-sizing: border-box;
|
| 20 |
-
}
|
| 21 |
-
/* Fix mobile Safari increase font-size on landscape mode */
|
| 22 |
-
html {
|
| 23 |
-
-moz-text-size-adjust: none;
|
| 24 |
-
-webkit-text-size-adjust: none;
|
| 25 |
-
text-size-adjust: none;
|
| 26 |
-
}
|
| 27 |
-
/* Reapply the pointer cursor for anchor tags */
|
| 28 |
-
a, button {
|
| 29 |
-
cursor: revert;
|
| 30 |
-
}
|
| 31 |
-
/* Remove list styles (bullets/numbers) */
|
| 32 |
-
ol, ul, menu, summary {
|
| 33 |
-
list-style: none;
|
| 34 |
-
}
|
| 35 |
-
/* Firefox: solve issue where nested ordered lists continue numbering from parent (https://bugzilla.mozilla.org/show_bug.cgi?id=1881517) */
|
| 36 |
-
ol {
|
| 37 |
-
counter-reset: revert;
|
| 38 |
-
}
|
| 39 |
-
/* For images to not be able to exceed their container */
|
| 40 |
-
img {
|
| 41 |
-
max-inline-size: 100%;
|
| 42 |
-
max-block-size: 100%;
|
| 43 |
-
}
|
| 44 |
-
/* removes spacing between cells in tables */
|
| 45 |
-
table {
|
| 46 |
-
border-collapse: collapse;
|
| 47 |
-
}
|
| 48 |
-
/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
|
| 49 |
-
input, textarea {
|
| 50 |
-
-webkit-user-select: auto;
|
| 51 |
-
}
|
| 52 |
-
/* revert the 'white-space' property for textarea elements on Safari */
|
| 53 |
-
textarea {
|
| 54 |
-
white-space: revert;
|
| 55 |
-
}
|
| 56 |
-
/* minimum style to allow to style meter element */
|
| 57 |
-
meter {
|
| 58 |
-
-webkit-appearance: revert;
|
| 59 |
-
appearance: revert;
|
| 60 |
-
}
|
| 61 |
-
/* preformatted text - use only for this feature */
|
| 62 |
-
:where(pre) {
|
| 63 |
-
all: revert;
|
| 64 |
-
box-sizing: border-box;
|
| 65 |
-
}
|
| 66 |
-
/* reset default text opacity of input placeholder */
|
| 67 |
-
::placeholder {
|
| 68 |
-
color: unset;
|
| 69 |
-
}
|
| 70 |
-
/* fix the feature of 'hidden' attribute.
|
| 71 |
-
display:revert; revert to element instead of attribute */
|
| 72 |
-
:where([hidden]) {
|
| 73 |
-
display: none;
|
| 74 |
-
}
|
| 75 |
-
/* revert for bug in Chromium browsers
|
| 76 |
-
- fix for the content editable attribute will work properly.
|
| 77 |
-
- webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
|
| 78 |
-
:where([contenteditable]:not([contenteditable=false])) {
|
| 79 |
-
-moz-user-modify: read-write;
|
| 80 |
-
-webkit-user-modify: read-write;
|
| 81 |
-
overflow-wrap: break-word;
|
| 82 |
-
-webkit-line-break: after-white-space;
|
| 83 |
-
-webkit-user-select: auto;
|
| 84 |
-
}
|
| 85 |
-
/* apply back the draggable feature - exist only in Chromium and Safari */
|
| 86 |
-
:where([draggable=true]) {
|
| 87 |
-
-webkit-user-drag: element;
|
| 88 |
-
}
|
| 89 |
-
/* Revert Modal native behavior */
|
| 90 |
-
:where(dialog:modal) {
|
| 91 |
-
all: revert;
|
| 92 |
-
box-sizing: border-box;
|
| 93 |
-
}
|
| 94 |
-
/* Remove details summary webkit styles */
|
| 95 |
-
::-webkit-details-marker {
|
| 96 |
-
display: none;
|
| 97 |
-
}
|
| 98 |
-
:root {
|
| 99 |
-
color-scheme: dark;
|
| 100 |
-
--body-bg: #22252a;
|
| 101 |
-
--text-primary: #3d87f5;
|
| 102 |
-
--text-hover-primary: #5596f6;
|
| 103 |
-
--text-secondary: #f66031;
|
| 104 |
-
--text-hover-secondary: #f7734a;
|
| 105 |
-
--text-danger: #e4606d;
|
| 106 |
-
--text-hover-danger: #dc3545;
|
| 107 |
-
--text-dark: #e0e0e0;
|
| 108 |
-
--text-hover-dark: #fff;
|
| 109 |
-
--text-light: #000;
|
| 110 |
-
--bg-color-light: #272a30;
|
| 111 |
-
--bg-color-light-transparent: rgba(39, 42, 48, 0);
|
| 112 |
-
--bg-color: #22252a;
|
| 113 |
-
--text-color: #f2f2f2;
|
| 114 |
-
--border-color: #4a4c4f;
|
| 115 |
-
--border-even-color: #454f5e;
|
| 116 |
-
--border-highlighted-color: #765d3f;
|
| 117 |
-
--block-bg-color: #2e3238;
|
| 118 |
-
--block-even-bg-color: #363e49;
|
| 119 |
-
--block-highlighted-bg-color: #594126;
|
| 120 |
-
--block-bg-color-hover: #353941;
|
| 121 |
-
--block-bg-color-hover-dark: #454b54;
|
| 122 |
-
--text-muted-color: #9e9e9e;
|
| 123 |
-
--text-muted-hover-color: #bababa;
|
| 124 |
-
--text-blockquote-color: #c7c7d1;
|
| 125 |
-
--link-color: #7dc3f7;
|
| 126 |
-
--link-hover-bg-color: #4c5767;
|
| 127 |
-
--header-bg-color: #18191b;
|
| 128 |
-
--header-bottom-bg-color: #000;
|
| 129 |
-
--header-bottom-bg-color-hover: #303236;
|
| 130 |
-
--video-footer-bg-color: #1d1e20;
|
| 131 |
-
--layout-bg-color: #292d32;
|
| 132 |
-
--disabled-bg-color: #1d1e20;
|
| 133 |
-
--disabled-text-color: #787e87;
|
| 134 |
-
--disabled-border-color: #787e87;
|
| 135 |
-
--ad-bg-color: #18191b;
|
| 136 |
-
--ad-border-color: #000;
|
| 137 |
-
--game-header-bg-color: #2c2f35;
|
| 138 |
-
--bg-light: #2c2f35;
|
| 139 |
-
--game-tab-hover-bg-color: #17191c;
|
| 140 |
-
--price-color: #9fafc6;
|
| 141 |
-
--blue-light: #414a58;
|
| 142 |
-
--live-color: #ff4d4d;
|
| 143 |
-
--live-hover-color: #ff1a1a;
|
| 144 |
-
--gauge-bg-color: #616161;
|
| 145 |
-
--blue-gray-color: #9fafc6;
|
| 146 |
-
--message-delete: #104e60;
|
| 147 |
-
--message-delete-border: #092a34;
|
| 148 |
-
--message-delete-gta: #46435b;
|
| 149 |
-
--message-delete-gta-border: #191820;
|
| 150 |
-
--input-bg-color: #303236;
|
| 151 |
-
--input-border-color: #636569;
|
| 152 |
-
--input-text-color: #f2f2f2;
|
| 153 |
-
--input-placeholder-color: #616161;
|
| 154 |
-
--form-select-indicator: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath stroke=%27%23e0e0e0%27 stroke-width=%272px%27 d=%27M2 5l6 6 6-6%27 fill=%27none%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3e%3c/svg%3e");
|
| 155 |
-
--form-switch-bg-image: url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27><circle r=%273%27 fill=%27%23636569%27/></svg>");
|
| 156 |
-
--admin-color: #f24444;
|
| 157 |
-
--modo-color: #42b228;
|
| 158 |
-
--ad-placeholder-opacity: 0.4;
|
| 159 |
-
--alert-brightness: 0.85;
|
| 160 |
-
--filters-bg-color: #16191d;
|
| 161 |
-
--gray-100: #f8f9fa;
|
| 162 |
-
--gray-200: #e9ecef;
|
| 163 |
-
--gray-300: #dee2e6;
|
| 164 |
-
--gray-400: #ced4da;
|
| 165 |
-
--gray-500: #adb5bd;
|
| 166 |
-
--gray-600: #6c757d;
|
| 167 |
-
--gray-700: #495057;
|
| 168 |
-
--gray-800: #343a40;
|
| 169 |
-
--gray-900: #212529;
|
| 170 |
-
--white-rgb: #fff;
|
| 171 |
-
--black-rgb: #000;
|
| 172 |
-
--body-color-rgb: var(--text-color);
|
| 173 |
-
--body-bg-rgb: var(--body-bg);
|
| 174 |
-
--font-sans-serif: "Roboto", Arial, Helvetica, sans-serif;
|
| 175 |
-
--font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
| 176 |
-
--gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
|
| 177 |
-
--root-font-size: 1rem;
|
| 178 |
-
--body-font-family: "Roboto", Arial, Helvetica, sans-serif;
|
| 179 |
-
--body-font-size: 0.9375rem;
|
| 180 |
-
--body-font-weight: 400;
|
| 181 |
-
--body-line-height: 1.5;
|
| 182 |
-
--body-color: var(--text-color);
|
| 183 |
-
--border-width: 0.0625rem;
|
| 184 |
-
--border-style: solid;
|
| 185 |
-
--border-color-translucent: rgba(0, 0, 0, 0.175);
|
| 186 |
-
--border-radius: 0.75rem;
|
| 187 |
-
--border-radius-sm: 0.5rem;
|
| 188 |
-
--border-radius-lg: 0.75rem;
|
| 189 |
-
--border-radius-xl: 1rem;
|
| 190 |
-
--border-radius-2xl: 2rem;
|
| 191 |
-
--border-radius-pill: 50rem;
|
| 192 |
-
--link-hover-color: var(--text-hover-secondary);
|
| 193 |
-
--code-color: #d63384;
|
| 194 |
-
--highlight-bg: #fff3cd;
|
| 195 |
-
--topic-font-size: 0.8125rem;
|
| 196 |
-
--topic-font-weight: 700;
|
| 197 |
-
--topic-line-height: 1.25;
|
| 198 |
-
--topic-gap: 0.625rem;
|
| 199 |
-
--topic-title-font-size: 0.9375rem;
|
| 200 |
-
--topic-title-font-weight: 500;
|
| 201 |
-
}
|
| 202 |
-
body {
|
| 203 |
-
margin: 0;
|
| 204 |
-
font-family: var(--body-font-family), sans-serif;
|
| 205 |
-
font-size: var(--body-font-size);
|
| 206 |
-
font-weight: var(--body-font-weight);
|
| 207 |
-
line-height: var(--body-line-height);
|
| 208 |
-
color: var(--body-color);
|
| 209 |
-
text-align: var(--body-text-align);
|
| 210 |
-
background-color: var(--body-bg);
|
| 211 |
-
-webkit-text-size-adjust: 100%;
|
| 212 |
-
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
| 213 |
-
}
|
| 214 |
-
hr {
|
| 215 |
-
height: 1px;
|
| 216 |
-
width: 100%;
|
| 217 |
-
background-color: var(--border-color);
|
| 218 |
-
display: block;
|
| 219 |
-
margin: 1.5rem 0;
|
| 220 |
-
}
|
| 221 |
-
h2 {
|
| 222 |
-
font-size: 1.59375rem;
|
| 223 |
-
line-height: 1.25;
|
| 224 |
-
font-weight: 500;
|
| 225 |
-
color: var(--text-color);
|
| 226 |
-
padding-bottom: 1.5rem;
|
| 227 |
-
}._header_1hnaa_1 {
|
| 228 |
-
background-color: var(--header-bg-color);
|
| 229 |
-
color: var(--text-color);
|
| 230 |
-
}
|
| 231 |
-
|
| 232 |
-
._logo_1hnaa_6 {
|
| 233 |
-
font-size: 2rem;
|
| 234 |
-
font-weight: 700;
|
| 235 |
-
}._container_1putz_1 {
|
| 236 |
-
margin: 0 auto;
|
| 237 |
-
min-width: 20rem;
|
| 238 |
-
max-width: 73.5rem;
|
| 239 |
-
padding: 0 0.5rem;
|
| 240 |
-
}._spinnerSquare_4vgl0_1 {
|
| 241 |
-
display: flex;
|
| 242 |
-
flex-direction: row;
|
| 243 |
-
width: 90px;
|
| 244 |
-
height: 120px;
|
| 245 |
-
}
|
| 246 |
-
._spinnerSquare_4vgl0_1 > div {
|
| 247 |
-
width: 17px;
|
| 248 |
-
height: 80px;
|
| 249 |
-
margin: auto auto;
|
| 250 |
-
border-radius: 4px;
|
| 251 |
-
}
|
| 252 |
-
|
| 253 |
-
._square1_4vgl0_14 {
|
| 254 |
-
animation: _square-anim_4vgl0_1 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0s infinite;
|
| 255 |
-
}
|
| 256 |
-
|
| 257 |
-
._square2_4vgl0_18 {
|
| 258 |
-
animation: _square-anim_4vgl0_1 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 200ms infinite;
|
| 259 |
-
}
|
| 260 |
-
|
| 261 |
-
._square3_4vgl0_22 {
|
| 262 |
-
animation: _square-anim_4vgl0_1 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 400ms infinite;
|
| 263 |
-
}
|
| 264 |
-
|
| 265 |
-
@keyframes _square-anim_4vgl0_1 {
|
| 266 |
-
0% {
|
| 267 |
-
height: 80px;
|
| 268 |
-
background-color: var(--text-secondary);
|
| 269 |
-
}
|
| 270 |
-
20% {
|
| 271 |
-
height: 80px;
|
| 272 |
-
}
|
| 273 |
-
40% {
|
| 274 |
-
height: 120px;
|
| 275 |
-
background-color: var(--text-hover-secondary);
|
| 276 |
-
}
|
| 277 |
-
80% {
|
| 278 |
-
height: 80px;
|
| 279 |
-
}
|
| 280 |
-
100% {
|
| 281 |
-
height: 80px;
|
| 282 |
-
background-color: var(--text-secondary);
|
| 283 |
-
}
|
| 284 |
-
}._spinner_1pqws_1 {
|
| 285 |
-
margin: 5rem auto;
|
| 286 |
-
}
|
| 287 |
-
|
| 288 |
-
._list_1pqws_5 {
|
| 289 |
-
display: grid;
|
| 290 |
-
grid-template-columns: 10fr 3fr 1fr 3fr;
|
| 291 |
-
list-style-type: none;
|
| 292 |
-
background: var(--block-bg-color);
|
| 293 |
-
border: 0.0625rem solid var(--border-color);
|
| 294 |
-
border-radius: 0.75rem;
|
| 295 |
-
width: 100%;
|
| 296 |
-
padding: 0;
|
| 297 |
-
overflow: hidden;
|
| 298 |
-
margin-bottom: 1.5rem;
|
| 299 |
-
}
|
| 300 |
-
._list_1pqws_5 > li {
|
| 301 |
-
display: contents;
|
| 302 |
-
list-style: none;
|
| 303 |
-
padding: 0;
|
| 304 |
-
margin: 0;
|
| 305 |
-
}
|
| 306 |
-
._list_1pqws_5 > li > span {
|
| 307 |
-
font-weight: var(--topic-font-weight);
|
| 308 |
-
font-size: var(--topic-font-size);
|
| 309 |
-
padding: var(--topic-gap);
|
| 310 |
-
}
|
| 311 |
-
._list_1pqws_5 > li > span a {
|
| 312 |
-
overflow: hidden;
|
| 313 |
-
display: -webkit-box;
|
| 314 |
-
-webkit-line-clamp: var(--topic-title-lines);
|
| 315 |
-
-webkit-box-orient: vertical;
|
| 316 |
-
color: var(--link-color);
|
| 317 |
-
text-decoration: none;
|
| 318 |
-
font-size: var(--topic-title-font-size);
|
| 319 |
-
font-weight: var(--topic-title-font-weight);
|
| 320 |
-
}
|
| 321 |
-
._list_1pqws_5 > li > span a:hover {
|
| 322 |
-
color: var(--text-hover-secondary);
|
| 323 |
-
}
|
| 324 |
-
._list_1pqws_5 > li:nth-child(even) > span {
|
| 325 |
-
background: var(--block-even-bg-color);
|
| 326 |
-
}
|
| 327 |
-
._list_1pqws_5 > li._highlight_1pqws_44 > span {
|
| 328 |
-
background: var(--block-highlighted-bg-color);
|
| 329 |
-
}
|
| 330 |
-
|
| 331 |
-
._head_1pqws_48 > span {
|
| 332 |
-
text-transform: uppercase;
|
| 333 |
-
}
|
| 334 |
-
|
| 335 |
-
._generationSettings_1pqws_52 {
|
| 336 |
-
display: grid;
|
| 337 |
-
grid-template-columns: 1fr 1fr;
|
| 338 |
-
}._btn_1ts7o_1 {
|
| 339 |
-
position: relative;
|
| 340 |
-
display: inline-flex;
|
| 341 |
-
justify-content: center;
|
| 342 |
-
align-items: center;
|
| 343 |
-
padding: 0 1.25rem;
|
| 344 |
-
margin: 0;
|
| 345 |
-
border: 0.0625rem solid var(--text-secondary);
|
| 346 |
-
height: 2.25rem;
|
| 347 |
-
line-height: 2.25rem;
|
| 348 |
-
font-size: 0.9375rem;
|
| 349 |
-
text-decoration: none;
|
| 350 |
-
color: var(--text-secondary);
|
| 351 |
-
border-radius: 1.125rem;
|
| 352 |
-
white-space: nowrap;
|
| 353 |
-
cursor: pointer;
|
| 354 |
-
}
|
| 355 |
-
._btn_1ts7o_1:not(._disabled_1ts7o_18):hover {
|
| 356 |
-
border-color: var(--text-hover-secondary);
|
| 357 |
-
color: var(--text-hover-secondary);
|
| 358 |
-
}
|
| 359 |
-
._btn_1ts7o_1._secondary_1ts7o_22 {
|
| 360 |
-
color: #fff;
|
| 361 |
-
background-color: var(--text-secondary);
|
| 362 |
-
}
|
| 363 |
-
._btn_1ts7o_1._secondary_1ts7o_22:not(._disabled_1ts7o_18):hover {
|
| 364 |
-
border-color: var(--text-hover-secondary);
|
| 365 |
-
background: var(--text-hover-secondary);
|
| 366 |
-
color: #fff;
|
| 367 |
-
}
|
| 368 |
-
|
| 369 |
-
._spinner_1ts7o_32 {
|
| 370 |
-
font-size: 10px;
|
| 371 |
-
margin-right: 1em;
|
| 372 |
-
width: 1.5em;
|
| 373 |
-
height: 1.5em;
|
| 374 |
-
border-radius: 50%;
|
| 375 |
-
background: #ffffff;
|
| 376 |
-
background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
|
| 377 |
-
position: relative;
|
| 378 |
-
animation: _load3_1ts7o_1 1.4s infinite linear;
|
| 379 |
-
transform: translateZ(0);
|
| 380 |
-
}
|
| 381 |
-
._spinner_1ts7o_32:before {
|
| 382 |
-
width: 50%;
|
| 383 |
-
height: 50%;
|
| 384 |
-
background: #ffffff;
|
| 385 |
-
border-radius: 100% 0 0 0;
|
| 386 |
-
position: absolute;
|
| 387 |
-
top: 0;
|
| 388 |
-
left: 0;
|
| 389 |
-
content: "";
|
| 390 |
-
}
|
| 391 |
-
._spinner_1ts7o_32:after {
|
| 392 |
-
background: var(--text-secondary);
|
| 393 |
-
width: 75%;
|
| 394 |
-
height: 75%;
|
| 395 |
-
border-radius: 50%;
|
| 396 |
-
content: "";
|
| 397 |
-
margin: auto;
|
| 398 |
-
position: absolute;
|
| 399 |
-
top: 0;
|
| 400 |
-
left: 0;
|
| 401 |
-
bottom: 0;
|
| 402 |
-
right: 0;
|
| 403 |
-
}
|
| 404 |
-
|
| 405 |
-
@keyframes _load3_1ts7o_1 {
|
| 406 |
-
0% {
|
| 407 |
-
transform: rotate(0deg);
|
| 408 |
-
}
|
| 409 |
-
100% {
|
| 410 |
-
transform: rotate(360deg);
|
| 411 |
-
}
|
| 412 |
-
}
|
| 413 |
-
._disabled_1ts7o_18 {
|
| 414 |
-
cursor: not-allowed;
|
| 415 |
-
}
|
| 416 |
-
._disabled_1ts7o_18:after {
|
| 417 |
-
content: "";
|
| 418 |
-
position: absolute;
|
| 419 |
-
width: 100%;
|
| 420 |
-
height: 100%;
|
| 421 |
-
background: #4f4f4f;
|
| 422 |
-
border: 0.0625rem solid #4f4f4f;
|
| 423 |
-
border-radius: 1.125rem;
|
| 424 |
-
opacity: 0.5;
|
| 425 |
-
box-sizing: content-box;
|
| 426 |
-
}._formGroup_b3g81_1 {
|
| 427 |
-
display: flex;
|
| 428 |
-
flex-direction: column;
|
| 429 |
-
margin-bottom: 1rem;
|
| 430 |
-
justify-content: space-between;
|
| 431 |
-
}
|
| 432 |
-
._formGroup_b3g81_1 > * {
|
| 433 |
-
flex-grow: 0;
|
| 434 |
-
}
|
| 435 |
-
._formGroup_b3g81_1 label {
|
| 436 |
-
font-size: 1rem;
|
| 437 |
-
margin-bottom: 1rem;
|
| 438 |
-
}._slider_1hlzr_1 {
|
| 439 |
-
--ticks-count: calc(var(--max) - var(--min)) / var(--step);
|
| 440 |
-
--too-many-ticks: min(1, Max(var(--ticks-count) - 30, 0));
|
| 441 |
-
--x-step: max(var(--step), var(--too-many-ticks) * (var(--max) - var(--min)));
|
| 442 |
-
position: relative;
|
| 443 |
-
background: linear-gradient(to right, var(--text-muted-color) 1px, transparent 1px) repeat-x;
|
| 444 |
-
background-size: calc((100% - 20px) / ((var(--max) - var(--min)) / var(--x-step))) 5px;
|
| 445 |
-
background-position-x: calc(10px - 0.5px);
|
| 446 |
-
background-position-y: bottom;
|
| 447 |
-
font-weight: 700;
|
| 448 |
-
color: var(--text-muted-color);
|
| 449 |
-
font-size: 0.8125rem;
|
| 450 |
-
height: 22px;
|
| 451 |
-
margin-top: 2.5ch;
|
| 452 |
-
margin-bottom: 2.5ch;
|
| 453 |
-
}
|
| 454 |
-
._slider_1hlzr_1::before, ._slider_1hlzr_1::after {
|
| 455 |
-
content: counter(x);
|
| 456 |
-
position: absolute;
|
| 457 |
-
bottom: calc(-2.5ch - 2px);
|
| 458 |
-
top: calc(2.5ch + 2px);
|
| 459 |
-
opacity: 0.5;
|
| 460 |
-
transform: translateX(calc(50% * var(--before, -1) * -1));
|
| 461 |
-
pointer-events: none;
|
| 462 |
-
}
|
| 463 |
-
._slider_1hlzr_1::before {
|
| 464 |
-
--before: 1;
|
| 465 |
-
counter-reset: x var(--min);
|
| 466 |
-
left: 10px;
|
| 467 |
-
}
|
| 468 |
-
._slider_1hlzr_1::after {
|
| 469 |
-
counter-reset: x var(--max);
|
| 470 |
-
right: 10px;
|
| 471 |
-
}
|
| 472 |
-
|
| 473 |
-
._outputContainer_1hlzr_36 {
|
| 474 |
-
position: absolute;
|
| 475 |
-
top: 0;
|
| 476 |
-
left: 10px;
|
| 477 |
-
right: 10px;
|
| 478 |
-
height: 10px;
|
| 479 |
-
pointer-events: none;
|
| 480 |
-
}
|
| 481 |
-
|
| 482 |
-
._output_1hlzr_36 {
|
| 483 |
-
pointer-events: none;
|
| 484 |
-
position: absolute;
|
| 485 |
-
z-index: 5;
|
| 486 |
-
width: 20px;
|
| 487 |
-
height: 20px;
|
| 488 |
-
left: calc((var(--value) - var(--min)) / (var(--max) - var(--min)) * 100% - 10px);
|
| 489 |
-
bottom: 16px;
|
| 490 |
-
text-align: center;
|
| 491 |
-
}
|
| 492 |
-
|
| 493 |
-
._progress_1hlzr_56 {
|
| 494 |
-
--completed-a: calc((clamp(var(--min), var(--value, 0), var(--max)) - var(--min)) / (var(--max) - var(--min)) * 100);
|
| 495 |
-
--completed-b: calc((var(--value) - var(--min)) / (var(--max) - var(--min)) * 100);
|
| 496 |
-
--cb: max(var(--completed-a), var(--completed-b));
|
| 497 |
-
--start-end: 10px;
|
| 498 |
-
--clip-end: calc(100% - (var(--cb)) * 1%);
|
| 499 |
-
--clip: inset(-20px var(--clip-end) -20px 0);
|
| 500 |
-
position: absolute;
|
| 501 |
-
width: 100%;
|
| 502 |
-
height: 10px;
|
| 503 |
-
background: var(--text-color);
|
| 504 |
-
border-radius: 10px;
|
| 505 |
-
z-index: -1;
|
| 506 |
-
}
|
| 507 |
-
._progress_1hlzr_56::before {
|
| 508 |
-
content: "";
|
| 509 |
-
position: absolute;
|
| 510 |
-
left: 0;
|
| 511 |
-
right: 0;
|
| 512 |
-
clip-path: var(--clip);
|
| 513 |
-
top: 0;
|
| 514 |
-
bottom: 0;
|
| 515 |
-
background: var(--text-secondary);
|
| 516 |
-
z-index: 1;
|
| 517 |
-
border-radius: inherit;
|
| 518 |
-
}
|
| 519 |
-
|
| 520 |
-
._input_1hlzr_83 {
|
| 521 |
-
--thumb-shadow: 0 0 3px rgba(0, 0, 0, 0.4), 0 0 1px rgba(0, 0, 0, 0.5) inset, 0 0 0 99px var(--text-color) inset;
|
| 522 |
-
-webkit-appearance: none;
|
| 523 |
-
width: 100%;
|
| 524 |
-
height: 20px;
|
| 525 |
-
margin: 0;
|
| 526 |
-
position: absolute;
|
| 527 |
-
left: 0;
|
| 528 |
-
cursor: grab;
|
| 529 |
-
outline: none;
|
| 530 |
-
background: none;
|
| 531 |
-
}
|
| 532 |
-
._input_1hlzr_83::-webkit-slider-thumb {
|
| 533 |
-
appearance: none;
|
| 534 |
-
height: 20px;
|
| 535 |
-
width: 20px;
|
| 536 |
-
transform: translateY(-5px);
|
| 537 |
-
border-radius: 50%;
|
| 538 |
-
background: var(--text-color);
|
| 539 |
-
box-shadow: var(--thumb-shadow);
|
| 540 |
-
border: none;
|
| 541 |
-
pointer-events: auto;
|
| 542 |
-
}
|
| 543 |
-
._input_1hlzr_83::-moz-range-thumb {
|
| 544 |
-
appearance: none;
|
| 545 |
-
height: 20px;
|
| 546 |
-
width: 20px;
|
| 547 |
-
transform: translateY(-5px);
|
| 548 |
-
border-radius: 50%;
|
| 549 |
-
background: var(--text-color);
|
| 550 |
-
box-shadow: var(--thumb-shadow);
|
| 551 |
-
border: none;
|
| 552 |
-
pointer-events: auto;
|
| 553 |
-
}
|
| 554 |
-
._input_1hlzr_83::-ms-thumb {
|
| 555 |
-
appearance: none;
|
| 556 |
-
height: 20px;
|
| 557 |
-
width: 20px;
|
| 558 |
-
transform: translateY(-5px);
|
| 559 |
-
border-radius: 50%;
|
| 560 |
-
background: var(--text-color);
|
| 561 |
-
box-shadow: var(--thumb-shadow);
|
| 562 |
-
border: none;
|
| 563 |
-
pointer-events: auto;
|
| 564 |
-
}
|
| 565 |
-
._input_1hlzr_83:active {
|
| 566 |
-
--thumb-shadow: 0 0 0 5px inset var(--text-color), 0 0 0 99px var(--text-secondary) inset, 0 0 3px rgba(0, 0, 0, 0.4);
|
| 567 |
-
cursor: grabbing;
|
| 568 |
-
}._post_uuidr_1 {
|
| 569 |
-
margin-bottom: 0.9375rem;
|
| 570 |
-
font-size: 0.9375rem;
|
| 571 |
-
line-height: 1.5;
|
| 572 |
-
background: var(--block-bg-color);
|
| 573 |
-
border: 0.0625rem solid var(--border-color);
|
| 574 |
-
border-radius: 0.5rem;
|
| 575 |
-
overflow: hidden;
|
| 576 |
-
padding: 0.75rem;
|
| 577 |
-
}
|
| 578 |
-
|
| 579 |
-
._postHeader_uuidr_12 {
|
| 580 |
-
border-bottom: 0.0625rem dotted var(--border-color);
|
| 581 |
-
height: 3.625rem;
|
| 582 |
-
margin-bottom: 0.75rem;
|
| 583 |
-
display: grid;
|
| 584 |
-
grid-template-areas: "avatar user" "avatar date";
|
| 585 |
-
grid-template-rows: 1.5rem 1.5rem;
|
| 586 |
-
grid-template-columns: auto 1fr;
|
| 587 |
-
column-gap: 0.625rem;
|
| 588 |
-
}
|
| 589 |
-
|
| 590 |
-
._avatar_uuidr_23 {
|
| 591 |
-
grid-area: avatar;
|
| 592 |
-
height: 3rem;
|
| 593 |
-
width: 3rem;
|
| 594 |
-
object-fit: cover;
|
| 595 |
-
border-radius: 50%;
|
| 596 |
-
}
|
| 597 |
-
|
| 598 |
-
._user_uuidr_31 {
|
| 599 |
-
grid-area: user;
|
| 600 |
-
font-size: 1.0625rem;
|
| 601 |
-
font-weight: 500;
|
| 602 |
-
font-family: "Roboto", Arial, Helvetica, sans-serif;
|
| 603 |
-
line-height: 1.25;
|
| 604 |
-
}
|
| 605 |
-
|
| 606 |
-
._date_uuidr_39 {
|
| 607 |
-
grid-area: date;
|
| 608 |
-
color: var(--link-color);
|
| 609 |
-
text-decoration: none;
|
| 610 |
-
font-size: 0.8125rem;
|
| 611 |
-
}
|
| 612 |
-
|
| 613 |
-
._generationSettings_uuidr_46 {
|
| 614 |
-
display: grid;
|
| 615 |
-
grid-template-columns: 1fr 1fr;
|
| 616 |
-
}._wrapper_cfqzy_1 .bloc-spoil-jv {
|
| 617 |
-
margin-bottom: 0;
|
| 618 |
-
display: inline;
|
| 619 |
-
}
|
| 620 |
-
._wrapper_cfqzy_1 .bloc-spoil-jv .open-spoil {
|
| 621 |
-
position: absolute;
|
| 622 |
-
left: -999rem;
|
| 623 |
-
}
|
| 624 |
-
._wrapper_cfqzy_1 .bloc-spoil-jv .barre-head {
|
| 625 |
-
height: auto;
|
| 626 |
-
line-height: inherit;
|
| 627 |
-
text-align: center;
|
| 628 |
-
cursor: pointer;
|
| 629 |
-
position: relative;
|
| 630 |
-
display: inline;
|
| 631 |
-
}
|
| 632 |
-
._wrapper_cfqzy_1 .bloc-spoil-jv .barre-head .txt-spoil {
|
| 633 |
-
position: static;
|
| 634 |
-
display: inline;
|
| 635 |
-
padding: 0.125rem 1.25rem;
|
| 636 |
-
line-height: inherit;
|
| 637 |
-
top: 0;
|
| 638 |
-
left: 0;
|
| 639 |
-
width: 4.6875rem;
|
| 640 |
-
font-size: 0.9285em;
|
| 641 |
-
text-align: center;
|
| 642 |
-
color: #fff;
|
| 643 |
-
text-transform: uppercase;
|
| 644 |
-
background: #fd374e;
|
| 645 |
-
font-weight: 700;
|
| 646 |
-
border-radius: 0.25rem;
|
| 647 |
-
}
|
| 648 |
-
._wrapper_cfqzy_1 .bloc-spoil-jv .contenu-spoil {
|
| 649 |
-
background: #f4d6da;
|
| 650 |
-
color: #212121;
|
| 651 |
-
padding: 0.625rem;
|
| 652 |
-
display: none;
|
| 653 |
-
text-align: left;
|
| 654 |
-
overflow: hidden;
|
| 655 |
-
}
|
| 656 |
-
._wrapper_cfqzy_1 .bloc-spoil-jv .open-spoil:checked ~ .contenu-spoil {
|
| 657 |
-
display: inline;
|
| 658 |
-
}
|
| 659 |
-
._wrapper_cfqzy_1 blockquote {
|
| 660 |
-
text-align: left;
|
| 661 |
-
border-left: 0.3125rem solid rgba(0, 0, 0, 0.2);
|
| 662 |
-
color: var(--text-blockquote-color);
|
| 663 |
-
padding: 0.625rem;
|
| 664 |
-
background: none;
|
| 665 |
-
font-style: normal;
|
| 666 |
-
font-size: inherit;
|
| 667 |
-
margin: 0 0 0.9375rem 1rem;
|
| 668 |
-
}
|
| 669 |
-
._wrapper_cfqzy_1 a {
|
| 670 |
-
color: var(--link-color);
|
| 671 |
-
text-decoration: none;
|
| 672 |
-
}
|
| 673 |
-
._wrapper_cfqzy_1 a:hover {
|
| 674 |
-
color: var(--text-hover-secondary);
|
| 675 |
-
text-decoration: none;
|
| 676 |
-
}._wrapper_1dmrl_1 {
|
| 677 |
-
position: relative;
|
| 678 |
-
margin-bottom: 0.9375rem;
|
| 679 |
-
}
|
| 680 |
-
|
| 681 |
-
._icon_1dmrl_6 {
|
| 682 |
-
position: absolute;
|
| 683 |
-
top: 0.625rem;
|
| 684 |
-
left: 0.625rem;
|
| 685 |
-
font-size: 1.125rem;
|
| 686 |
-
line-height: 1em;
|
| 687 |
-
}
|
| 688 |
-
|
| 689 |
-
._input_1dmrl_14 {
|
| 690 |
-
display: block;
|
| 691 |
-
width: 100%;
|
| 692 |
-
font-weight: 400;
|
| 693 |
-
line-height: 1.5;
|
| 694 |
-
color: var(--input-text-color);
|
| 695 |
-
background-color: var(--input-bg-color);
|
| 696 |
-
background-clip: padding-box;
|
| 697 |
-
border: 0.0625rem solid var(--input-border-color);
|
| 698 |
-
-webkit-appearance: none;
|
| 699 |
-
appearance: none;
|
| 700 |
-
border-radius: 0.75rem;
|
| 701 |
-
box-shadow: inset 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.075);
|
| 702 |
-
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
| 703 |
-
padding-top: 0;
|
| 704 |
-
padding-right: 0.3125rem;
|
| 705 |
-
padding-left: 2.5rem;
|
| 706 |
-
padding-bottom: 0;
|
| 707 |
-
font-weight: 700;
|
| 708 |
-
height: 2.5rem;
|
| 709 |
-
font-size: 1rem;
|
| 710 |
-
}
|
| 711 |
-
._input_1dmrl_14::placeholder {
|
| 712 |
-
color: var(--input-placeholder-color);
|
| 713 |
-
font-weight: 400;
|
| 714 |
-
}._breadcrumbs_145yl_1 {
|
| 715 |
-
font-weight: 700;
|
| 716 |
-
color: var(--text-muted-color);
|
| 717 |
-
font-size: 0.8125rem;
|
| 718 |
-
margin-top: 1.25rem;
|
| 719 |
-
margin-bottom: 0.9375rem;
|
| 720 |
-
display: flex;
|
| 721 |
-
}
|
| 722 |
-
|
| 723 |
-
._actions_145yl_10 {
|
| 724 |
-
margin-left: auto;
|
| 725 |
-
}
|
| 726 |
-
._actions_145yl_10 a:hover {
|
| 727 |
-
color: var(--text-muted-hover-color);
|
| 728 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dist/assets/index-NR4DZ1UN.js
DELETED
|
@@ -1,1431 +0,0 @@
|
|
| 1 |
-
(function polyfill() {
|
| 2 |
-
const relList = document.createElement("link").relList;
|
| 3 |
-
if (relList && relList.supports && relList.supports("modulepreload")) {
|
| 4 |
-
return;
|
| 5 |
-
}
|
| 6 |
-
for (const link of document.querySelectorAll('link[rel="modulepreload"]')) {
|
| 7 |
-
processPreload(link);
|
| 8 |
-
}
|
| 9 |
-
new MutationObserver((mutations) => {
|
| 10 |
-
for (const mutation of mutations) {
|
| 11 |
-
if (mutation.type !== "childList") {
|
| 12 |
-
continue;
|
| 13 |
-
}
|
| 14 |
-
for (const node of mutation.addedNodes) {
|
| 15 |
-
if (node.tagName === "LINK" && node.rel === "modulepreload")
|
| 16 |
-
processPreload(node);
|
| 17 |
-
}
|
| 18 |
-
}
|
| 19 |
-
}).observe(document, { childList: true, subtree: true });
|
| 20 |
-
function getFetchOpts(link) {
|
| 21 |
-
const fetchOpts = {};
|
| 22 |
-
if (link.integrity) fetchOpts.integrity = link.integrity;
|
| 23 |
-
if (link.referrerPolicy) fetchOpts.referrerPolicy = link.referrerPolicy;
|
| 24 |
-
if (link.crossOrigin === "use-credentials")
|
| 25 |
-
fetchOpts.credentials = "include";
|
| 26 |
-
else if (link.crossOrigin === "anonymous") fetchOpts.credentials = "omit";
|
| 27 |
-
else fetchOpts.credentials = "same-origin";
|
| 28 |
-
return fetchOpts;
|
| 29 |
-
}
|
| 30 |
-
function processPreload(link) {
|
| 31 |
-
if (link.ep)
|
| 32 |
-
return;
|
| 33 |
-
link.ep = true;
|
| 34 |
-
const fetchOpts = getFetchOpts(link);
|
| 35 |
-
fetch(link.href, fetchOpts);
|
| 36 |
-
}
|
| 37 |
-
})();
|
| 38 |
-
var n, l$1, u$2, i$1, r$1, o$1, e$1, f$2, c$1, s$1, a$1, p$1 = {}, v$1 = [], y$1 = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, d$1 = Array.isArray;
|
| 39 |
-
function w$1(n2, l2) {
|
| 40 |
-
for (var u2 in l2) n2[u2] = l2[u2];
|
| 41 |
-
return n2;
|
| 42 |
-
}
|
| 43 |
-
function _(n2) {
|
| 44 |
-
n2 && n2.parentNode && n2.parentNode.removeChild(n2);
|
| 45 |
-
}
|
| 46 |
-
function g(l2, u2, t2) {
|
| 47 |
-
var i2, r2, o2, e2 = {};
|
| 48 |
-
for (o2 in u2) "key" == o2 ? i2 = u2[o2] : "ref" == o2 ? r2 = u2[o2] : e2[o2] = u2[o2];
|
| 49 |
-
if (arguments.length > 2 && (e2.children = arguments.length > 3 ? n.call(arguments, 2) : t2), "function" == typeof l2 && null != l2.defaultProps) for (o2 in l2.defaultProps) void 0 === e2[o2] && (e2[o2] = l2.defaultProps[o2]);
|
| 50 |
-
return m$1(l2, e2, i2, r2, null);
|
| 51 |
-
}
|
| 52 |
-
function m$1(n2, t2, i2, r2, o2) {
|
| 53 |
-
var e2 = { type: n2, props: t2, key: i2, ref: r2, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: null == o2 ? ++u$2 : o2, __i: -1, __u: 0 };
|
| 54 |
-
return null == o2 && null != l$1.vnode && l$1.vnode(e2), e2;
|
| 55 |
-
}
|
| 56 |
-
function k$1(n2) {
|
| 57 |
-
return n2.children;
|
| 58 |
-
}
|
| 59 |
-
function x(n2, l2) {
|
| 60 |
-
this.props = n2, this.context = l2;
|
| 61 |
-
}
|
| 62 |
-
function C$1(n2, l2) {
|
| 63 |
-
if (null == l2) return n2.__ ? C$1(n2.__, n2.__i + 1) : null;
|
| 64 |
-
for (var u2; l2 < n2.__k.length; l2++) if (null != (u2 = n2.__k[l2]) && null != u2.__e) return u2.__e;
|
| 65 |
-
return "function" == typeof n2.type ? C$1(n2) : null;
|
| 66 |
-
}
|
| 67 |
-
function S(n2) {
|
| 68 |
-
var l2, u2;
|
| 69 |
-
if (null != (n2 = n2.__) && null != n2.__c) {
|
| 70 |
-
for (n2.__e = n2.__c.base = null, l2 = 0; l2 < n2.__k.length; l2++) if (null != (u2 = n2.__k[l2]) && null != u2.__e) {
|
| 71 |
-
n2.__e = n2.__c.base = u2.__e;
|
| 72 |
-
break;
|
| 73 |
-
}
|
| 74 |
-
return S(n2);
|
| 75 |
-
}
|
| 76 |
-
}
|
| 77 |
-
function M(n2) {
|
| 78 |
-
(!n2.__d && (n2.__d = true) && i$1.push(n2) && !P.__r++ || r$1 !== l$1.debounceRendering) && ((r$1 = l$1.debounceRendering) || o$1)(P);
|
| 79 |
-
}
|
| 80 |
-
function P() {
|
| 81 |
-
var n2, u2, t2, r2, o2, f2, c2, s2;
|
| 82 |
-
for (i$1.sort(e$1); n2 = i$1.shift(); ) n2.__d && (u2 = i$1.length, r2 = void 0, f2 = (o2 = (t2 = n2).__v).__e, c2 = [], s2 = [], t2.__P && ((r2 = w$1({}, o2)).__v = o2.__v + 1, l$1.vnode && l$1.vnode(r2), j$1(t2.__P, r2, o2, t2.__n, t2.__P.namespaceURI, 32 & o2.__u ? [f2] : null, c2, null == f2 ? C$1(o2) : f2, !!(32 & o2.__u), s2), r2.__v = o2.__v, r2.__.__k[r2.__i] = r2, z$1(c2, r2, s2), r2.__e != f2 && S(r2)), i$1.length > u2 && i$1.sort(e$1));
|
| 83 |
-
P.__r = 0;
|
| 84 |
-
}
|
| 85 |
-
function $(n2, l2, u2, t2, i2, r2, o2, e2, f2, c2, s2) {
|
| 86 |
-
var a2, h2, y2, d2, w2, _2, g2 = t2 && t2.__k || v$1, m2 = l2.length;
|
| 87 |
-
for (f2 = I(u2, l2, g2, f2, m2), a2 = 0; a2 < m2; a2++) null != (y2 = u2.__k[a2]) && (h2 = -1 === y2.__i ? p$1 : g2[y2.__i] || p$1, y2.__i = a2, _2 = j$1(n2, y2, h2, i2, r2, o2, e2, f2, c2, s2), d2 = y2.__e, y2.ref && h2.ref != y2.ref && (h2.ref && V(h2.ref, null, y2), s2.push(y2.ref, y2.__c || d2, y2)), null == w2 && null != d2 && (w2 = d2), 4 & y2.__u || h2.__k === y2.__k ? f2 = A(y2, f2, n2) : "function" == typeof y2.type && void 0 !== _2 ? f2 = _2 : d2 && (f2 = d2.nextSibling), y2.__u &= -7);
|
| 88 |
-
return u2.__e = w2, f2;
|
| 89 |
-
}
|
| 90 |
-
function I(n2, l2, u2, t2, i2) {
|
| 91 |
-
var r2, o2, e2, f2, c2, s2 = u2.length, a2 = s2, h2 = 0;
|
| 92 |
-
for (n2.__k = new Array(i2), r2 = 0; r2 < i2; r2++) null != (o2 = l2[r2]) && "boolean" != typeof o2 && "function" != typeof o2 ? (f2 = r2 + h2, (o2 = n2.__k[r2] = "string" == typeof o2 || "number" == typeof o2 || "bigint" == typeof o2 || o2.constructor == String ? m$1(null, o2, null, null, null) : d$1(o2) ? m$1(k$1, { children: o2 }, null, null, null) : void 0 === o2.constructor && o2.__b > 0 ? m$1(o2.type, o2.props, o2.key, o2.ref ? o2.ref : null, o2.__v) : o2).__ = n2, o2.__b = n2.__b + 1, e2 = null, -1 !== (c2 = o2.__i = L(o2, u2, f2, a2)) && (a2--, (e2 = u2[c2]) && (e2.__u |= 2)), null == e2 || null === e2.__v ? (-1 == c2 && h2--, "function" != typeof o2.type && (o2.__u |= 4)) : c2 != f2 && (c2 == f2 - 1 ? h2-- : c2 == f2 + 1 ? h2++ : (c2 > f2 ? h2-- : h2++, o2.__u |= 4))) : n2.__k[r2] = null;
|
| 93 |
-
if (a2) for (r2 = 0; r2 < s2; r2++) null != (e2 = u2[r2]) && 0 == (2 & e2.__u) && (e2.__e == t2 && (t2 = C$1(e2)), q$1(e2, e2));
|
| 94 |
-
return t2;
|
| 95 |
-
}
|
| 96 |
-
function A(n2, l2, u2) {
|
| 97 |
-
var t2, i2;
|
| 98 |
-
if ("function" == typeof n2.type) {
|
| 99 |
-
for (t2 = n2.__k, i2 = 0; t2 && i2 < t2.length; i2++) t2[i2] && (t2[i2].__ = n2, l2 = A(t2[i2], l2, u2));
|
| 100 |
-
return l2;
|
| 101 |
-
}
|
| 102 |
-
n2.__e != l2 && (l2 && n2.type && !u2.contains(l2) && (l2 = C$1(n2)), u2.insertBefore(n2.__e, l2 || null), l2 = n2.__e);
|
| 103 |
-
do {
|
| 104 |
-
l2 = l2 && l2.nextSibling;
|
| 105 |
-
} while (null != l2 && 8 == l2.nodeType);
|
| 106 |
-
return l2;
|
| 107 |
-
}
|
| 108 |
-
function L(n2, l2, u2, t2) {
|
| 109 |
-
var i2, r2, o2 = n2.key, e2 = n2.type, f2 = l2[u2];
|
| 110 |
-
if (null === f2 || f2 && o2 == f2.key && e2 === f2.type && 0 == (2 & f2.__u)) return u2;
|
| 111 |
-
if (t2 > (null != f2 && 0 == (2 & f2.__u) ? 1 : 0)) for (i2 = u2 - 1, r2 = u2 + 1; i2 >= 0 || r2 < l2.length; ) {
|
| 112 |
-
if (i2 >= 0) {
|
| 113 |
-
if ((f2 = l2[i2]) && 0 == (2 & f2.__u) && o2 == f2.key && e2 === f2.type) return i2;
|
| 114 |
-
i2--;
|
| 115 |
-
}
|
| 116 |
-
if (r2 < l2.length) {
|
| 117 |
-
if ((f2 = l2[r2]) && 0 == (2 & f2.__u) && o2 == f2.key && e2 === f2.type) return r2;
|
| 118 |
-
r2++;
|
| 119 |
-
}
|
| 120 |
-
}
|
| 121 |
-
return -1;
|
| 122 |
-
}
|
| 123 |
-
function T$1(n2, l2, u2) {
|
| 124 |
-
"-" == l2[0] ? n2.setProperty(l2, null == u2 ? "" : u2) : n2[l2] = null == u2 ? "" : "number" != typeof u2 || y$1.test(l2) ? u2 : u2 + "px";
|
| 125 |
-
}
|
| 126 |
-
function F(n2, l2, u2, t2, i2) {
|
| 127 |
-
var r2;
|
| 128 |
-
n: if ("style" == l2) if ("string" == typeof u2) n2.style.cssText = u2;
|
| 129 |
-
else {
|
| 130 |
-
if ("string" == typeof t2 && (n2.style.cssText = t2 = ""), t2) for (l2 in t2) u2 && l2 in u2 || T$1(n2.style, l2, "");
|
| 131 |
-
if (u2) for (l2 in u2) t2 && u2[l2] === t2[l2] || T$1(n2.style, l2, u2[l2]);
|
| 132 |
-
}
|
| 133 |
-
else if ("o" == l2[0] && "n" == l2[1]) r2 = l2 != (l2 = l2.replace(f$2, "$1")), l2 = l2.toLowerCase() in n2 || "onFocusOut" == l2 || "onFocusIn" == l2 ? l2.toLowerCase().slice(2) : l2.slice(2), n2.l || (n2.l = {}), n2.l[l2 + r2] = u2, u2 ? t2 ? u2.u = t2.u : (u2.u = c$1, n2.addEventListener(l2, r2 ? a$1 : s$1, r2)) : n2.removeEventListener(l2, r2 ? a$1 : s$1, r2);
|
| 134 |
-
else {
|
| 135 |
-
if ("http://www.w3.org/2000/svg" == i2) l2 = l2.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s");
|
| 136 |
-
else if ("width" != l2 && "height" != l2 && "href" != l2 && "list" != l2 && "form" != l2 && "tabIndex" != l2 && "download" != l2 && "rowSpan" != l2 && "colSpan" != l2 && "role" != l2 && "popover" != l2 && l2 in n2) try {
|
| 137 |
-
n2[l2] = null == u2 ? "" : u2;
|
| 138 |
-
break n;
|
| 139 |
-
} catch (n3) {
|
| 140 |
-
}
|
| 141 |
-
"function" == typeof u2 || (null == u2 || false === u2 && "-" != l2[4] ? n2.removeAttribute(l2) : n2.setAttribute(l2, "popover" == l2 && 1 == u2 ? "" : u2));
|
| 142 |
-
}
|
| 143 |
-
}
|
| 144 |
-
function O(n2) {
|
| 145 |
-
return function(u2) {
|
| 146 |
-
if (this.l) {
|
| 147 |
-
var t2 = this.l[u2.type + n2];
|
| 148 |
-
if (null == u2.t) u2.t = c$1++;
|
| 149 |
-
else if (u2.t < t2.u) return;
|
| 150 |
-
return t2(l$1.event ? l$1.event(u2) : u2);
|
| 151 |
-
}
|
| 152 |
-
};
|
| 153 |
-
}
|
| 154 |
-
function j$1(n2, u2, t2, i2, r2, o2, e2, f2, c2, s2) {
|
| 155 |
-
var a2, h2, p2, v2, y2, g2, m2, b, C2, S2, M2, P2, I2, A2, H, L2, T2, F2 = u2.type;
|
| 156 |
-
if (void 0 !== u2.constructor) return null;
|
| 157 |
-
128 & t2.__u && (c2 = !!(32 & t2.__u), o2 = [f2 = u2.__e = t2.__e]), (a2 = l$1.__b) && a2(u2);
|
| 158 |
-
n: if ("function" == typeof F2) try {
|
| 159 |
-
if (b = u2.props, C2 = "prototype" in F2 && F2.prototype.render, S2 = (a2 = F2.contextType) && i2[a2.__c], M2 = a2 ? S2 ? S2.props.value : a2.__ : i2, t2.__c ? m2 = (h2 = u2.__c = t2.__c).__ = h2.__E : (C2 ? u2.__c = h2 = new F2(b, M2) : (u2.__c = h2 = new x(b, M2), h2.constructor = F2, h2.render = B$1), S2 && S2.sub(h2), h2.props = b, h2.state || (h2.state = {}), h2.context = M2, h2.__n = i2, p2 = h2.__d = true, h2.__h = [], h2._sb = []), C2 && null == h2.__s && (h2.__s = h2.state), C2 && null != F2.getDerivedStateFromProps && (h2.__s == h2.state && (h2.__s = w$1({}, h2.__s)), w$1(h2.__s, F2.getDerivedStateFromProps(b, h2.__s))), v2 = h2.props, y2 = h2.state, h2.__v = u2, p2) C2 && null == F2.getDerivedStateFromProps && null != h2.componentWillMount && h2.componentWillMount(), C2 && null != h2.componentDidMount && h2.__h.push(h2.componentDidMount);
|
| 160 |
-
else {
|
| 161 |
-
if (C2 && null == F2.getDerivedStateFromProps && b !== v2 && null != h2.componentWillReceiveProps && h2.componentWillReceiveProps(b, M2), !h2.__e && (null != h2.shouldComponentUpdate && false === h2.shouldComponentUpdate(b, h2.__s, M2) || u2.__v == t2.__v)) {
|
| 162 |
-
for (u2.__v != t2.__v && (h2.props = b, h2.state = h2.__s, h2.__d = false), u2.__e = t2.__e, u2.__k = t2.__k, u2.__k.some(function(n3) {
|
| 163 |
-
n3 && (n3.__ = u2);
|
| 164 |
-
}), P2 = 0; P2 < h2._sb.length; P2++) h2.__h.push(h2._sb[P2]);
|
| 165 |
-
h2._sb = [], h2.__h.length && e2.push(h2);
|
| 166 |
-
break n;
|
| 167 |
-
}
|
| 168 |
-
null != h2.componentWillUpdate && h2.componentWillUpdate(b, h2.__s, M2), C2 && null != h2.componentDidUpdate && h2.__h.push(function() {
|
| 169 |
-
h2.componentDidUpdate(v2, y2, g2);
|
| 170 |
-
});
|
| 171 |
-
}
|
| 172 |
-
if (h2.context = M2, h2.props = b, h2.__P = n2, h2.__e = false, I2 = l$1.__r, A2 = 0, C2) {
|
| 173 |
-
for (h2.state = h2.__s, h2.__d = false, I2 && I2(u2), a2 = h2.render(h2.props, h2.state, h2.context), H = 0; H < h2._sb.length; H++) h2.__h.push(h2._sb[H]);
|
| 174 |
-
h2._sb = [];
|
| 175 |
-
} else do {
|
| 176 |
-
h2.__d = false, I2 && I2(u2), a2 = h2.render(h2.props, h2.state, h2.context), h2.state = h2.__s;
|
| 177 |
-
} while (h2.__d && ++A2 < 25);
|
| 178 |
-
h2.state = h2.__s, null != h2.getChildContext && (i2 = w$1(w$1({}, i2), h2.getChildContext())), C2 && !p2 && null != h2.getSnapshotBeforeUpdate && (g2 = h2.getSnapshotBeforeUpdate(v2, y2)), f2 = $(n2, d$1(L2 = null != a2 && a2.type === k$1 && null == a2.key ? a2.props.children : a2) ? L2 : [L2], u2, t2, i2, r2, o2, e2, f2, c2, s2), h2.base = u2.__e, u2.__u &= -161, h2.__h.length && e2.push(h2), m2 && (h2.__E = h2.__ = null);
|
| 179 |
-
} catch (n3) {
|
| 180 |
-
if (u2.__v = null, c2 || null != o2) if (n3.then) {
|
| 181 |
-
for (u2.__u |= c2 ? 160 : 128; f2 && 8 == f2.nodeType && f2.nextSibling; ) f2 = f2.nextSibling;
|
| 182 |
-
o2[o2.indexOf(f2)] = null, u2.__e = f2;
|
| 183 |
-
} else for (T2 = o2.length; T2--; ) _(o2[T2]);
|
| 184 |
-
else u2.__e = t2.__e, u2.__k = t2.__k;
|
| 185 |
-
l$1.__e(n3, u2, t2);
|
| 186 |
-
}
|
| 187 |
-
else null == o2 && u2.__v == t2.__v ? (u2.__k = t2.__k, u2.__e = t2.__e) : f2 = u2.__e = N(t2.__e, u2, t2, i2, r2, o2, e2, c2, s2);
|
| 188 |
-
return (a2 = l$1.diffed) && a2(u2), 128 & u2.__u ? void 0 : f2;
|
| 189 |
-
}
|
| 190 |
-
function z$1(n2, u2, t2) {
|
| 191 |
-
for (var i2 = 0; i2 < t2.length; i2++) V(t2[i2], t2[++i2], t2[++i2]);
|
| 192 |
-
l$1.__c && l$1.__c(u2, n2), n2.some(function(u3) {
|
| 193 |
-
try {
|
| 194 |
-
n2 = u3.__h, u3.__h = [], n2.some(function(n3) {
|
| 195 |
-
n3.call(u3);
|
| 196 |
-
});
|
| 197 |
-
} catch (n3) {
|
| 198 |
-
l$1.__e(n3, u3.__v);
|
| 199 |
-
}
|
| 200 |
-
});
|
| 201 |
-
}
|
| 202 |
-
function N(u2, t2, i2, r2, o2, e2, f2, c2, s2) {
|
| 203 |
-
var a2, h2, v2, y2, w2, g2, m2, b = i2.props, k2 = t2.props, x2 = t2.type;
|
| 204 |
-
if ("svg" == x2 ? o2 = "http://www.w3.org/2000/svg" : "math" == x2 ? o2 = "http://www.w3.org/1998/Math/MathML" : o2 || (o2 = "http://www.w3.org/1999/xhtml"), null != e2) {
|
| 205 |
-
for (a2 = 0; a2 < e2.length; a2++) if ((w2 = e2[a2]) && "setAttribute" in w2 == !!x2 && (x2 ? w2.localName == x2 : 3 == w2.nodeType)) {
|
| 206 |
-
u2 = w2, e2[a2] = null;
|
| 207 |
-
break;
|
| 208 |
-
}
|
| 209 |
-
}
|
| 210 |
-
if (null == u2) {
|
| 211 |
-
if (null == x2) return document.createTextNode(k2);
|
| 212 |
-
u2 = document.createElementNS(o2, x2, k2.is && k2), c2 && (l$1.__m && l$1.__m(t2, e2), c2 = false), e2 = null;
|
| 213 |
-
}
|
| 214 |
-
if (null === x2) b === k2 || c2 && u2.data === k2 || (u2.data = k2);
|
| 215 |
-
else {
|
| 216 |
-
if (e2 = e2 && n.call(u2.childNodes), b = i2.props || p$1, !c2 && null != e2) for (b = {}, a2 = 0; a2 < u2.attributes.length; a2++) b[(w2 = u2.attributes[a2]).name] = w2.value;
|
| 217 |
-
for (a2 in b) if (w2 = b[a2], "children" == a2) ;
|
| 218 |
-
else if ("dangerouslySetInnerHTML" == a2) v2 = w2;
|
| 219 |
-
else if (!(a2 in k2)) {
|
| 220 |
-
if ("value" == a2 && "defaultValue" in k2 || "checked" == a2 && "defaultChecked" in k2) continue;
|
| 221 |
-
F(u2, a2, null, w2, o2);
|
| 222 |
-
}
|
| 223 |
-
for (a2 in k2) w2 = k2[a2], "children" == a2 ? y2 = w2 : "dangerouslySetInnerHTML" == a2 ? h2 = w2 : "value" == a2 ? g2 = w2 : "checked" == a2 ? m2 = w2 : c2 && "function" != typeof w2 || b[a2] === w2 || F(u2, a2, w2, b[a2], o2);
|
| 224 |
-
if (h2) c2 || v2 && (h2.__html === v2.__html || h2.__html === u2.innerHTML) || (u2.innerHTML = h2.__html), t2.__k = [];
|
| 225 |
-
else if (v2 && (u2.innerHTML = ""), $(u2, d$1(y2) ? y2 : [y2], t2, i2, r2, "foreignObject" == x2 ? "http://www.w3.org/1999/xhtml" : o2, e2, f2, e2 ? e2[0] : i2.__k && C$1(i2, 0), c2, s2), null != e2) for (a2 = e2.length; a2--; ) _(e2[a2]);
|
| 226 |
-
c2 || (a2 = "value", "progress" == x2 && null == g2 ? u2.removeAttribute("value") : void 0 !== g2 && (g2 !== u2[a2] || "progress" == x2 && !g2 || "option" == x2 && g2 !== b[a2]) && F(u2, a2, g2, b[a2], o2), a2 = "checked", void 0 !== m2 && m2 !== u2[a2] && F(u2, a2, m2, b[a2], o2));
|
| 227 |
-
}
|
| 228 |
-
return u2;
|
| 229 |
-
}
|
| 230 |
-
function V(n2, u2, t2) {
|
| 231 |
-
try {
|
| 232 |
-
if ("function" == typeof n2) {
|
| 233 |
-
var i2 = "function" == typeof n2.__u;
|
| 234 |
-
i2 && n2.__u(), i2 && null == u2 || (n2.__u = n2(u2));
|
| 235 |
-
} else n2.current = u2;
|
| 236 |
-
} catch (n3) {
|
| 237 |
-
l$1.__e(n3, t2);
|
| 238 |
-
}
|
| 239 |
-
}
|
| 240 |
-
function q$1(n2, u2, t2) {
|
| 241 |
-
var i2, r2;
|
| 242 |
-
if (l$1.unmount && l$1.unmount(n2), (i2 = n2.ref) && (i2.current && i2.current !== n2.__e || V(i2, null, u2)), null != (i2 = n2.__c)) {
|
| 243 |
-
if (i2.componentWillUnmount) try {
|
| 244 |
-
i2.componentWillUnmount();
|
| 245 |
-
} catch (n3) {
|
| 246 |
-
l$1.__e(n3, u2);
|
| 247 |
-
}
|
| 248 |
-
i2.base = i2.__P = null;
|
| 249 |
-
}
|
| 250 |
-
if (i2 = n2.__k) for (r2 = 0; r2 < i2.length; r2++) i2[r2] && q$1(i2[r2], u2, t2 || "function" != typeof n2.type);
|
| 251 |
-
t2 || _(n2.__e), n2.__c = n2.__ = n2.__e = void 0;
|
| 252 |
-
}
|
| 253 |
-
function B$1(n2, l2, u2) {
|
| 254 |
-
return this.constructor(n2, u2);
|
| 255 |
-
}
|
| 256 |
-
function D$1(u2, t2, i2) {
|
| 257 |
-
var r2, o2, e2, f2;
|
| 258 |
-
t2 == document && (t2 = document.documentElement), l$1.__ && l$1.__(u2, t2), o2 = (r2 = false) ? null : t2.__k, e2 = [], f2 = [], j$1(t2, u2 = t2.__k = g(k$1, null, [u2]), o2 || p$1, p$1, t2.namespaceURI, o2 ? null : t2.firstChild ? n.call(t2.childNodes) : null, e2, o2 ? o2.__e : t2.firstChild, r2, f2), z$1(e2, u2, f2);
|
| 259 |
-
}
|
| 260 |
-
n = v$1.slice, l$1 = { __e: function(n2, l2, u2, t2) {
|
| 261 |
-
for (var i2, r2, o2; l2 = l2.__; ) if ((i2 = l2.__c) && !i2.__) try {
|
| 262 |
-
if ((r2 = i2.constructor) && null != r2.getDerivedStateFromError && (i2.setState(r2.getDerivedStateFromError(n2)), o2 = i2.__d), null != i2.componentDidCatch && (i2.componentDidCatch(n2, t2 || {}), o2 = i2.__d), o2) return i2.__E = i2;
|
| 263 |
-
} catch (l3) {
|
| 264 |
-
n2 = l3;
|
| 265 |
-
}
|
| 266 |
-
throw n2;
|
| 267 |
-
} }, u$2 = 0, x.prototype.setState = function(n2, l2) {
|
| 268 |
-
var u2;
|
| 269 |
-
u2 = null != this.__s && this.__s !== this.state ? this.__s : this.__s = w$1({}, this.state), "function" == typeof n2 && (n2 = n2(w$1({}, u2), this.props)), n2 && w$1(u2, n2), null != n2 && this.__v && (l2 && this._sb.push(l2), M(this));
|
| 270 |
-
}, x.prototype.forceUpdate = function(n2) {
|
| 271 |
-
this.__v && (this.__e = true, n2 && this.__h.push(n2), M(this));
|
| 272 |
-
}, x.prototype.render = k$1, i$1 = [], o$1 = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, e$1 = function(n2, l2) {
|
| 273 |
-
return n2.__v.__b - l2.__v.__b;
|
| 274 |
-
}, P.__r = 0, f$2 = /(PointerCapture)$|Capture$/i, c$1 = 0, s$1 = O(false), a$1 = O(true);
|
| 275 |
-
var f$1 = 0;
|
| 276 |
-
function u$1(e2, t2, n2, o2, i2, u2) {
|
| 277 |
-
t2 || (t2 = {});
|
| 278 |
-
var a2, c2, p2 = t2;
|
| 279 |
-
if ("ref" in p2) for (c2 in p2 = {}, t2) "ref" == c2 ? a2 = t2[c2] : p2[c2] = t2[c2];
|
| 280 |
-
var l2 = { type: e2, props: p2, key: n2, ref: a2, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --f$1, __i: -1, __u: 0, __source: i2, __self: u2 };
|
| 281 |
-
if ("function" == typeof e2 && (a2 = e2.defaultProps)) for (c2 in a2) void 0 === p2[c2] && (p2[c2] = a2[c2]);
|
| 282 |
-
return l$1.vnode && l$1.vnode(l2), l2;
|
| 283 |
-
}
|
| 284 |
-
var t, r, u, i, o = 0, f = [], c = l$1, e = c.__b, a = c.__r, v = c.diffed, l = c.__c, m = c.unmount, s = c.__;
|
| 285 |
-
function d(n2, t2) {
|
| 286 |
-
c.__h && c.__h(r, n2, o || t2), o = 0;
|
| 287 |
-
var u2 = r.__H || (r.__H = { __: [], __h: [] });
|
| 288 |
-
return n2 >= u2.__.length && u2.__.push({}), u2.__[n2];
|
| 289 |
-
}
|
| 290 |
-
function h(n2) {
|
| 291 |
-
return o = 1, p(D, n2);
|
| 292 |
-
}
|
| 293 |
-
function p(n2, u2, i2) {
|
| 294 |
-
var o2 = d(t++, 2);
|
| 295 |
-
if (o2.t = n2, !o2.__c && (o2.__ = [D(void 0, u2), function(n3) {
|
| 296 |
-
var t2 = o2.__N ? o2.__N[0] : o2.__[0], r2 = o2.t(t2, n3);
|
| 297 |
-
t2 !== r2 && (o2.__N = [r2, o2.__[1]], o2.__c.setState({}));
|
| 298 |
-
}], o2.__c = r, !r.u)) {
|
| 299 |
-
var f2 = function(n3, t2, r2) {
|
| 300 |
-
if (!o2.__c.__H) return true;
|
| 301 |
-
var u3 = o2.__c.__H.__.filter(function(n4) {
|
| 302 |
-
return !!n4.__c;
|
| 303 |
-
});
|
| 304 |
-
if (u3.every(function(n4) {
|
| 305 |
-
return !n4.__N;
|
| 306 |
-
})) return !c2 || c2.call(this, n3, t2, r2);
|
| 307 |
-
var i3 = o2.__c.props !== n3;
|
| 308 |
-
return u3.forEach(function(n4) {
|
| 309 |
-
if (n4.__N) {
|
| 310 |
-
var t3 = n4.__[0];
|
| 311 |
-
n4.__ = n4.__N, n4.__N = void 0, t3 !== n4.__[0] && (i3 = true);
|
| 312 |
-
}
|
| 313 |
-
}), c2 && c2.call(this, n3, t2, r2) || i3;
|
| 314 |
-
};
|
| 315 |
-
r.u = true;
|
| 316 |
-
var c2 = r.shouldComponentUpdate, e2 = r.componentWillUpdate;
|
| 317 |
-
r.componentWillUpdate = function(n3, t2, r2) {
|
| 318 |
-
if (this.__e) {
|
| 319 |
-
var u3 = c2;
|
| 320 |
-
c2 = void 0, f2(n3, t2, r2), c2 = u3;
|
| 321 |
-
}
|
| 322 |
-
e2 && e2.call(this, n3, t2, r2);
|
| 323 |
-
}, r.shouldComponentUpdate = f2;
|
| 324 |
-
}
|
| 325 |
-
return o2.__N || o2.__;
|
| 326 |
-
}
|
| 327 |
-
function y(n2, u2) {
|
| 328 |
-
var i2 = d(t++, 3);
|
| 329 |
-
!c.__s && C(i2.__H, u2) && (i2.__ = n2, i2.i = u2, r.__H.__h.push(i2));
|
| 330 |
-
}
|
| 331 |
-
function T(n2, r2) {
|
| 332 |
-
var u2 = d(t++, 7);
|
| 333 |
-
return C(u2.__H, r2) && (u2.__ = n2(), u2.__H = r2, u2.__h = n2), u2.__;
|
| 334 |
-
}
|
| 335 |
-
function q(n2, t2) {
|
| 336 |
-
return o = 8, T(function() {
|
| 337 |
-
return n2;
|
| 338 |
-
}, t2);
|
| 339 |
-
}
|
| 340 |
-
function j() {
|
| 341 |
-
for (var n2; n2 = f.shift(); ) if (n2.__P && n2.__H) try {
|
| 342 |
-
n2.__H.__h.forEach(z), n2.__H.__h.forEach(B), n2.__H.__h = [];
|
| 343 |
-
} catch (t2) {
|
| 344 |
-
n2.__H.__h = [], c.__e(t2, n2.__v);
|
| 345 |
-
}
|
| 346 |
-
}
|
| 347 |
-
c.__b = function(n2) {
|
| 348 |
-
r = null, e && e(n2);
|
| 349 |
-
}, c.__ = function(n2, t2) {
|
| 350 |
-
n2 && t2.__k && t2.__k.__m && (n2.__m = t2.__k.__m), s && s(n2, t2);
|
| 351 |
-
}, c.__r = function(n2) {
|
| 352 |
-
a && a(n2), t = 0;
|
| 353 |
-
var i2 = (r = n2.__c).__H;
|
| 354 |
-
i2 && (u === r ? (i2.__h = [], r.__h = [], i2.__.forEach(function(n3) {
|
| 355 |
-
n3.__N && (n3.__ = n3.__N), n3.i = n3.__N = void 0;
|
| 356 |
-
})) : (i2.__h.forEach(z), i2.__h.forEach(B), i2.__h = [], t = 0)), u = r;
|
| 357 |
-
}, c.diffed = function(n2) {
|
| 358 |
-
v && v(n2);
|
| 359 |
-
var t2 = n2.__c;
|
| 360 |
-
t2 && t2.__H && (t2.__H.__h.length && (1 !== f.push(t2) && i === c.requestAnimationFrame || ((i = c.requestAnimationFrame) || w)(j)), t2.__H.__.forEach(function(n3) {
|
| 361 |
-
n3.i && (n3.__H = n3.i), n3.i = void 0;
|
| 362 |
-
})), u = r = null;
|
| 363 |
-
}, c.__c = function(n2, t2) {
|
| 364 |
-
t2.some(function(n3) {
|
| 365 |
-
try {
|
| 366 |
-
n3.__h.forEach(z), n3.__h = n3.__h.filter(function(n4) {
|
| 367 |
-
return !n4.__ || B(n4);
|
| 368 |
-
});
|
| 369 |
-
} catch (r2) {
|
| 370 |
-
t2.some(function(n4) {
|
| 371 |
-
n4.__h && (n4.__h = []);
|
| 372 |
-
}), t2 = [], c.__e(r2, n3.__v);
|
| 373 |
-
}
|
| 374 |
-
}), l && l(n2, t2);
|
| 375 |
-
}, c.unmount = function(n2) {
|
| 376 |
-
m && m(n2);
|
| 377 |
-
var t2, r2 = n2.__c;
|
| 378 |
-
r2 && r2.__H && (r2.__H.__.forEach(function(n3) {
|
| 379 |
-
try {
|
| 380 |
-
z(n3);
|
| 381 |
-
} catch (n4) {
|
| 382 |
-
t2 = n4;
|
| 383 |
-
}
|
| 384 |
-
}), r2.__H = void 0, t2 && c.__e(t2, r2.__v));
|
| 385 |
-
};
|
| 386 |
-
var k = "function" == typeof requestAnimationFrame;
|
| 387 |
-
function w(n2) {
|
| 388 |
-
var t2, r2 = function() {
|
| 389 |
-
clearTimeout(u2), k && cancelAnimationFrame(t2), setTimeout(n2);
|
| 390 |
-
}, u2 = setTimeout(r2, 100);
|
| 391 |
-
k && (t2 = requestAnimationFrame(r2));
|
| 392 |
-
}
|
| 393 |
-
function z(n2) {
|
| 394 |
-
var t2 = r, u2 = n2.__c;
|
| 395 |
-
"function" == typeof u2 && (n2.__c = void 0, u2()), r = t2;
|
| 396 |
-
}
|
| 397 |
-
function B(n2) {
|
| 398 |
-
var t2 = r;
|
| 399 |
-
n2.__c = n2.__(), r = t2;
|
| 400 |
-
}
|
| 401 |
-
function C(n2, t2) {
|
| 402 |
-
return !n2 || n2.length !== t2.length || t2.some(function(t3, r2) {
|
| 403 |
-
return t3 !== n2[r2];
|
| 404 |
-
});
|
| 405 |
-
}
|
| 406 |
-
function D(n2, t2) {
|
| 407 |
-
return "function" == typeof t2 ? t2(n2) : t2;
|
| 408 |
-
}
|
| 409 |
-
const header = "_header_1hnaa_1";
|
| 410 |
-
const logo = "_logo_1hnaa_6";
|
| 411 |
-
const style$a = {
|
| 412 |
-
header,
|
| 413 |
-
logo
|
| 414 |
-
};
|
| 415 |
-
const container = "_container_1putz_1";
|
| 416 |
-
const style$9 = {
|
| 417 |
-
container
|
| 418 |
-
};
|
| 419 |
-
function Container(props) {
|
| 420 |
-
return /* @__PURE__ */ u$1("div", { class: style$9.container, children: props.children });
|
| 421 |
-
}
|
| 422 |
-
const itemKey$1 = "topics";
|
| 423 |
-
function loadTopics() {
|
| 424 |
-
const storedTopics = localStorage.getItem(itemKey$1);
|
| 425 |
-
if (storedTopics) {
|
| 426 |
-
return JSON.parse(storedTopics);
|
| 427 |
-
} else {
|
| 428 |
-
return [];
|
| 429 |
-
}
|
| 430 |
-
}
|
| 431 |
-
function saveTopics(topics) {
|
| 432 |
-
localStorage.setItem(itemKey$1, JSON.stringify(topics));
|
| 433 |
-
}
|
| 434 |
-
function getDefaultExportFromCjs(x2) {
|
| 435 |
-
return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
|
| 436 |
-
}
|
| 437 |
-
var classnames = { exports: {} };
|
| 438 |
-
/*!
|
| 439 |
-
Copyright (c) 2018 Jed Watson.
|
| 440 |
-
Licensed under the MIT License (MIT), see
|
| 441 |
-
http://jedwatson.github.io/classnames
|
| 442 |
-
*/
|
| 443 |
-
var hasRequiredClassnames;
|
| 444 |
-
function requireClassnames() {
|
| 445 |
-
if (hasRequiredClassnames) return classnames.exports;
|
| 446 |
-
hasRequiredClassnames = 1;
|
| 447 |
-
(function(module) {
|
| 448 |
-
(function() {
|
| 449 |
-
var hasOwn = {}.hasOwnProperty;
|
| 450 |
-
function classNames() {
|
| 451 |
-
var classes = "";
|
| 452 |
-
for (var i2 = 0; i2 < arguments.length; i2++) {
|
| 453 |
-
var arg = arguments[i2];
|
| 454 |
-
if (arg) {
|
| 455 |
-
classes = appendClass(classes, parseValue(arg));
|
| 456 |
-
}
|
| 457 |
-
}
|
| 458 |
-
return classes;
|
| 459 |
-
}
|
| 460 |
-
function parseValue(arg) {
|
| 461 |
-
if (typeof arg === "string" || typeof arg === "number") {
|
| 462 |
-
return arg;
|
| 463 |
-
}
|
| 464 |
-
if (typeof arg !== "object") {
|
| 465 |
-
return "";
|
| 466 |
-
}
|
| 467 |
-
if (Array.isArray(arg)) {
|
| 468 |
-
return classNames.apply(null, arg);
|
| 469 |
-
}
|
| 470 |
-
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
|
| 471 |
-
return arg.toString();
|
| 472 |
-
}
|
| 473 |
-
var classes = "";
|
| 474 |
-
for (var key in arg) {
|
| 475 |
-
if (hasOwn.call(arg, key) && arg[key]) {
|
| 476 |
-
classes = appendClass(classes, key);
|
| 477 |
-
}
|
| 478 |
-
}
|
| 479 |
-
return classes;
|
| 480 |
-
}
|
| 481 |
-
function appendClass(value, newClass) {
|
| 482 |
-
if (!newClass) {
|
| 483 |
-
return value;
|
| 484 |
-
}
|
| 485 |
-
if (value) {
|
| 486 |
-
return value + " " + newClass;
|
| 487 |
-
}
|
| 488 |
-
return value + newClass;
|
| 489 |
-
}
|
| 490 |
-
if (module.exports) {
|
| 491 |
-
classNames.default = classNames;
|
| 492 |
-
module.exports = classNames;
|
| 493 |
-
} else {
|
| 494 |
-
window.classNames = classNames;
|
| 495 |
-
}
|
| 496 |
-
})();
|
| 497 |
-
})(classnames);
|
| 498 |
-
return classnames.exports;
|
| 499 |
-
}
|
| 500 |
-
var classnamesExports = requireClassnames();
|
| 501 |
-
const cn = /* @__PURE__ */ getDefaultExportFromCjs(classnamesExports);
|
| 502 |
-
const spinnerSquare = "_spinnerSquare_4vgl0_1";
|
| 503 |
-
const square1 = "_square1_4vgl0_14";
|
| 504 |
-
const square2 = "_square2_4vgl0_18";
|
| 505 |
-
const square3 = "_square3_4vgl0_22";
|
| 506 |
-
const style$8 = {
|
| 507 |
-
spinnerSquare,
|
| 508 |
-
square1,
|
| 509 |
-
"square-anim": "_square-anim_4vgl0_1",
|
| 510 |
-
square2,
|
| 511 |
-
square3
|
| 512 |
-
};
|
| 513 |
-
function Spinner(props) {
|
| 514 |
-
return /* @__PURE__ */ u$1("div", { className: cn(style$8.spinnerSquare, props.className), children: [
|
| 515 |
-
/* @__PURE__ */ u$1("div", { className: style$8.square1 }),
|
| 516 |
-
/* @__PURE__ */ u$1("div", { className: style$8.square2 }),
|
| 517 |
-
/* @__PURE__ */ u$1("div", { className: style$8.square3 })
|
| 518 |
-
] });
|
| 519 |
-
}
|
| 520 |
-
const spinner$1 = "_spinner_1pqws_1";
|
| 521 |
-
const list = "_list_1pqws_5";
|
| 522 |
-
const highlight = "_highlight_1pqws_44";
|
| 523 |
-
const head = "_head_1pqws_48";
|
| 524 |
-
const generationSettings$1 = "_generationSettings_1pqws_52";
|
| 525 |
-
const style$7 = {
|
| 526 |
-
spinner: spinner$1,
|
| 527 |
-
list,
|
| 528 |
-
highlight,
|
| 529 |
-
head,
|
| 530 |
-
generationSettings: generationSettings$1
|
| 531 |
-
};
|
| 532 |
-
const routes = {
|
| 533 |
-
home: "home",
|
| 534 |
-
topic: "topic",
|
| 535 |
-
settings: "settings"
|
| 536 |
-
};
|
| 537 |
-
const btn = "_btn_1ts7o_1";
|
| 538 |
-
const disabled = "_disabled_1ts7o_18";
|
| 539 |
-
const secondary = "_secondary_1ts7o_22";
|
| 540 |
-
const spinner = "_spinner_1ts7o_32";
|
| 541 |
-
const load3 = "_load3_1ts7o_1";
|
| 542 |
-
const style$6 = {
|
| 543 |
-
btn,
|
| 544 |
-
disabled,
|
| 545 |
-
secondary,
|
| 546 |
-
spinner,
|
| 547 |
-
load3
|
| 548 |
-
};
|
| 549 |
-
function Button(props) {
|
| 550 |
-
const disabled2 = props.disabled || props.loading;
|
| 551 |
-
const buttonClass = cn(style$6.btn, { [style$6.secondary]: props.secondary }, "button", props.className, { [style$6.disabled]: disabled2 });
|
| 552 |
-
let spinner2 = void 0;
|
| 553 |
-
if (props.loading) {
|
| 554 |
-
spinner2 = /* @__PURE__ */ u$1("span", { className: style$6.spinner });
|
| 555 |
-
}
|
| 556 |
-
return /* @__PURE__ */ u$1(
|
| 557 |
-
"button",
|
| 558 |
-
{
|
| 559 |
-
type: "button",
|
| 560 |
-
onClick: () => {
|
| 561 |
-
if (!disabled2) {
|
| 562 |
-
props.onClick();
|
| 563 |
-
}
|
| 564 |
-
},
|
| 565 |
-
className: buttonClass,
|
| 566 |
-
disabled: disabled2,
|
| 567 |
-
title: props.title,
|
| 568 |
-
children: [
|
| 569 |
-
spinner2,
|
| 570 |
-
props.children
|
| 571 |
-
]
|
| 572 |
-
}
|
| 573 |
-
);
|
| 574 |
-
}
|
| 575 |
-
const iso8601ToFrenchRegex = /(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})/;
|
| 576 |
-
function iso8601ToFrench(iso8601) {
|
| 577 |
-
console.log("iso8601ToTokens", iso8601);
|
| 578 |
-
const matches = iso8601.match(iso8601ToFrenchRegex);
|
| 579 |
-
const year = matches[1];
|
| 580 |
-
const month = months[parseInt(matches[2], 10) - 1];
|
| 581 |
-
const day = matches[3];
|
| 582 |
-
const hours = matches[4];
|
| 583 |
-
const minutes = matches[5];
|
| 584 |
-
const seconds = matches[6];
|
| 585 |
-
return `${day} ${month} ${year} à ${hours}:${minutes}:${seconds}`;
|
| 586 |
-
}
|
| 587 |
-
const frenchToIso8601Regex = /(\d{1,2}) ([a-zA-Z\u00C0-\u024F]+) (\d{4}) à (\d{2}):(\d{2}):(\d{2})/;
|
| 588 |
-
function frenchToIso8601(french) {
|
| 589 |
-
console.log("tokensToIso8601", french);
|
| 590 |
-
const match = french.match(frenchToIso8601Regex);
|
| 591 |
-
if (!match) {
|
| 592 |
-
throw new Error("Invalid date format");
|
| 593 |
-
}
|
| 594 |
-
const [, day, month, year, hours, minutes, seconds] = match;
|
| 595 |
-
const monthNumber = (months.indexOf(month) + 1).toString();
|
| 596 |
-
if (!monthNumber) {
|
| 597 |
-
throw new Error("Invalid month name");
|
| 598 |
-
}
|
| 599 |
-
const isoDate = `${year}-${monthNumber.padStart(2, "0")}-${day.padStart(2, "0")}T${hours}:${minutes}:${seconds}`;
|
| 600 |
-
return isoDate;
|
| 601 |
-
}
|
| 602 |
-
const months = [
|
| 603 |
-
"janvier",
|
| 604 |
-
"février",
|
| 605 |
-
"mars",
|
| 606 |
-
"avril",
|
| 607 |
-
"mai",
|
| 608 |
-
"juin",
|
| 609 |
-
"juillet",
|
| 610 |
-
"août",
|
| 611 |
-
"septembre",
|
| 612 |
-
"octobre",
|
| 613 |
-
"novembre",
|
| 614 |
-
"décembre"
|
| 615 |
-
];
|
| 616 |
-
const formGroup = "_formGroup_b3g81_1";
|
| 617 |
-
const style$5 = {
|
| 618 |
-
formGroup
|
| 619 |
-
};
|
| 620 |
-
function FormGroup(props) {
|
| 621 |
-
return /* @__PURE__ */ u$1("div", { className: style$5.formGroup, children: props.children });
|
| 622 |
-
}
|
| 623 |
-
const slider = "_slider_1hlzr_1";
|
| 624 |
-
const outputContainer = "_outputContainer_1hlzr_36";
|
| 625 |
-
const output = "_output_1hlzr_36";
|
| 626 |
-
const progress = "_progress_1hlzr_56";
|
| 627 |
-
const input$1 = "_input_1hlzr_83";
|
| 628 |
-
const style$4 = {
|
| 629 |
-
slider,
|
| 630 |
-
outputContainer,
|
| 631 |
-
output,
|
| 632 |
-
progress,
|
| 633 |
-
input: input$1
|
| 634 |
-
};
|
| 635 |
-
function Slider(props) {
|
| 636 |
-
return /* @__PURE__ */ u$1(
|
| 637 |
-
"div",
|
| 638 |
-
{
|
| 639 |
-
className: cn(style$4.slider, props.className),
|
| 640 |
-
style: {
|
| 641 |
-
"--value": props.value,
|
| 642 |
-
"--min": props.min,
|
| 643 |
-
"--max": props.max,
|
| 644 |
-
"--step": props.step
|
| 645 |
-
},
|
| 646 |
-
children: [
|
| 647 |
-
/* @__PURE__ */ u$1(
|
| 648 |
-
"input",
|
| 649 |
-
{
|
| 650 |
-
type: "range",
|
| 651 |
-
className: style$4.input,
|
| 652 |
-
name: props.name,
|
| 653 |
-
min: props.min,
|
| 654 |
-
max: props.max,
|
| 655 |
-
step: props.step,
|
| 656 |
-
value: props.value,
|
| 657 |
-
onInput: (e2) => props.onChange(Number(e2.target.value))
|
| 658 |
-
}
|
| 659 |
-
),
|
| 660 |
-
/* @__PURE__ */ u$1("div", { className: style$4.progress }),
|
| 661 |
-
/* @__PURE__ */ u$1("div", { className: style$4.outputContainer, children: /* @__PURE__ */ u$1("output", { className: style$4.output, children: props.value }) })
|
| 662 |
-
]
|
| 663 |
-
}
|
| 664 |
-
);
|
| 665 |
-
}
|
| 666 |
-
function Topics(props) {
|
| 667 |
-
const sortedTopics = T(() => {
|
| 668 |
-
if (props.topics === null || props.topics.length < 1) {
|
| 669 |
-
return props.topics;
|
| 670 |
-
}
|
| 671 |
-
return props.topics.sort((topicA, topicB) => {
|
| 672 |
-
if (topicA.posts.length < 1 || topicB.posts.length < 1) {
|
| 673 |
-
return 0;
|
| 674 |
-
}
|
| 675 |
-
return topicB.posts[topicB.posts.length - 1].date.localeCompare(topicA.posts[topicA.posts.length - 1].date);
|
| 676 |
-
});
|
| 677 |
-
}, [props.topics]);
|
| 678 |
-
return /* @__PURE__ */ u$1("div", { children: [
|
| 679 |
-
sortedTopics === null ? /* @__PURE__ */ u$1(Spinner, { className: style$7.spinner }) : /* @__PURE__ */ u$1(
|
| 680 |
-
List,
|
| 681 |
-
{
|
| 682 |
-
topics: sortedTopics,
|
| 683 |
-
setRoute: props.setRoute,
|
| 684 |
-
latestGeneratedTopicId: props.latestGeneratedTopicId
|
| 685 |
-
}
|
| 686 |
-
),
|
| 687 |
-
/* @__PURE__ */ u$1("div", { children: [
|
| 688 |
-
/* @__PURE__ */ u$1("h2", { children: "Nouveau sujet" }),
|
| 689 |
-
/* @__PURE__ */ u$1("div", { className: style$7.generationSettings, children: /* @__PURE__ */ u$1(FormGroup, { children: [
|
| 690 |
-
/* @__PURE__ */ u$1("label", { for: "postCount", children: "Nombre de posts" }),
|
| 691 |
-
/* @__PURE__ */ u$1(
|
| 692 |
-
Slider,
|
| 693 |
-
{
|
| 694 |
-
name: "postCount",
|
| 695 |
-
value: props.settings.postCount,
|
| 696 |
-
onChange: (v2) => props.setSettings({ ...props.settings, postCount: v2 }),
|
| 697 |
-
min: 1,
|
| 698 |
-
max: 10,
|
| 699 |
-
step: 1
|
| 700 |
-
}
|
| 701 |
-
)
|
| 702 |
-
] }) }),
|
| 703 |
-
/* @__PURE__ */ u$1(
|
| 704 |
-
Button,
|
| 705 |
-
{
|
| 706 |
-
onClick: () => props.generateTopic(props.settings.postCount),
|
| 707 |
-
secondary: true,
|
| 708 |
-
loading: props.pendingGeneration,
|
| 709 |
-
children: "Générer"
|
| 710 |
-
}
|
| 711 |
-
)
|
| 712 |
-
] }),
|
| 713 |
-
/* @__PURE__ */ u$1("hr", {})
|
| 714 |
-
] });
|
| 715 |
-
}
|
| 716 |
-
function List(props) {
|
| 717 |
-
return /* @__PURE__ */ u$1("ul", { className: style$7.list, children: [
|
| 718 |
-
/* @__PURE__ */ u$1("li", { className: style$7.head, children: [
|
| 719 |
-
/* @__PURE__ */ u$1("span", { children: "Sujet" }),
|
| 720 |
-
/* @__PURE__ */ u$1("span", { children: "Auteur" }),
|
| 721 |
-
/* @__PURE__ */ u$1("span", { children: "NB" }),
|
| 722 |
-
/* @__PURE__ */ u$1("span", { children: "Dernier msg" })
|
| 723 |
-
] }),
|
| 724 |
-
props.topics.length < 1 && /* @__PURE__ */ u$1("li", { children: [
|
| 725 |
-
/* @__PURE__ */ u$1("span", { children: "Aucun sujet" }),
|
| 726 |
-
/* @__PURE__ */ u$1("span", {}),
|
| 727 |
-
/* @__PURE__ */ u$1("span", {}),
|
| 728 |
-
/* @__PURE__ */ u$1("span", {})
|
| 729 |
-
] }),
|
| 730 |
-
props.topics.map((topic) => /* @__PURE__ */ u$1("li", { className: cn({ [style$7.highlight]: topic.id === props.latestGeneratedTopicId }), children: [
|
| 731 |
-
/* @__PURE__ */ u$1("span", { children: /* @__PURE__ */ u$1("a", { href: "#", onClick: (e2) => {
|
| 732 |
-
e2.preventDefault();
|
| 733 |
-
props.setRoute(routes.topic, 0, topic.id);
|
| 734 |
-
}, children: topic.title }) }),
|
| 735 |
-
/* @__PURE__ */ u$1("span", { children: topic.posts[0].user }),
|
| 736 |
-
/* @__PURE__ */ u$1("span", { children: topic.posts.length }),
|
| 737 |
-
/* @__PURE__ */ u$1("span", { children: iso8601ToFrench(topic.posts[topic.posts.length - 1].date) })
|
| 738 |
-
] }))
|
| 739 |
-
] });
|
| 740 |
-
}
|
| 741 |
-
const post = "_post_uuidr_1";
|
| 742 |
-
const postHeader = "_postHeader_uuidr_12";
|
| 743 |
-
const avatar = "_avatar_uuidr_23";
|
| 744 |
-
const user = "_user_uuidr_31";
|
| 745 |
-
const date = "_date_uuidr_39";
|
| 746 |
-
const generationSettings = "_generationSettings_uuidr_46";
|
| 747 |
-
const style$3 = {
|
| 748 |
-
post,
|
| 749 |
-
postHeader,
|
| 750 |
-
avatar,
|
| 751 |
-
user,
|
| 752 |
-
date,
|
| 753 |
-
generationSettings
|
| 754 |
-
};
|
| 755 |
-
const wrapper$1 = "_wrapper_cfqzy_1";
|
| 756 |
-
const style$2 = {
|
| 757 |
-
wrapper: wrapper$1
|
| 758 |
-
};
|
| 759 |
-
const smileysMap = [
|
| 760 |
-
[":)", "1"],
|
| 761 |
-
// https://image.jeuxvideo.com/smileys_img/1.gif
|
| 762 |
-
[":snif:", "20"],
|
| 763 |
-
[":gba:", "17"],
|
| 764 |
-
[":g)", "3"],
|
| 765 |
-
[":-)", "46"],
|
| 766 |
-
[":snif2:", "13"],
|
| 767 |
-
[":bravo:", "69"],
|
| 768 |
-
[":d)", "4"],
|
| 769 |
-
[":hap:", "18"],
|
| 770 |
-
[":ouch:", "22"],
|
| 771 |
-
[":pacg:", "9"],
|
| 772 |
-
[":cd:", "5"],
|
| 773 |
-
[":-)))", "23"],
|
| 774 |
-
[":ouch2:", "57"],
|
| 775 |
-
[":pacd:", "10"],
|
| 776 |
-
[":cute:", "nyu"],
|
| 777 |
-
[":content:", "24"],
|
| 778 |
-
[":p)", "7"],
|
| 779 |
-
[":-p", "31"],
|
| 780 |
-
[":noel:", "11"],
|
| 781 |
-
[":oui:", "37"],
|
| 782 |
-
[":(", "45"],
|
| 783 |
-
[":peur:", "47"],
|
| 784 |
-
[":question:", "2"],
|
| 785 |
-
[":cool:", "26"],
|
| 786 |
-
[":-(", "14"],
|
| 787 |
-
[":coeur:", "54"],
|
| 788 |
-
[":mort:", "21"],
|
| 789 |
-
[":rire:", "39"],
|
| 790 |
-
[":-((", "15"],
|
| 791 |
-
[":fou:", "50"],
|
| 792 |
-
[":sleep:", "27"],
|
| 793 |
-
[":-D", "40"],
|
| 794 |
-
[":nonnon:", "25"],
|
| 795 |
-
[":fier:", "53"],
|
| 796 |
-
[":honte:", "30"],
|
| 797 |
-
[":rire2:", "41"],
|
| 798 |
-
[":non2:", "33"],
|
| 799 |
-
[":sarcastic:", "43"],
|
| 800 |
-
[":monoeil:", "34"],
|
| 801 |
-
[":o))", "12"],
|
| 802 |
-
[":nah:", "19"],
|
| 803 |
-
[":doute:", "28"],
|
| 804 |
-
[":rouge:", "55"],
|
| 805 |
-
[":ok:", "36"],
|
| 806 |
-
[":non:", "35"],
|
| 807 |
-
[":malade:", "8"],
|
| 808 |
-
[":fete:", "66"],
|
| 809 |
-
[":sournois:", "67"],
|
| 810 |
-
[":hum:", "68"],
|
| 811 |
-
[":ange:", "60"],
|
| 812 |
-
[":diable:", "61"],
|
| 813 |
-
[":gni:", "62"],
|
| 814 |
-
[":play:", "play"],
|
| 815 |
-
[":desole:", "65"],
|
| 816 |
-
[":spoiler:", "63"],
|
| 817 |
-
[":merci:", "58"],
|
| 818 |
-
[":svp:", "59"],
|
| 819 |
-
[":sors:", "56"],
|
| 820 |
-
[":salut:", "42"],
|
| 821 |
-
[":rechercher:", "38"],
|
| 822 |
-
[":hello:", "29"],
|
| 823 |
-
[":up:", "44"],
|
| 824 |
-
[":bye:", "48"],
|
| 825 |
-
[":gne:", "51"],
|
| 826 |
-
[":lol:", "32"],
|
| 827 |
-
[":dpdr:", "49"],
|
| 828 |
-
[":dehors:", "52"],
|
| 829 |
-
[":hs:", "64"],
|
| 830 |
-
[":banzai:", "70"],
|
| 831 |
-
[":bave:", "71"],
|
| 832 |
-
[":pf:", "pf"],
|
| 833 |
-
[":cimer:", "cimer"],
|
| 834 |
-
[":ddb:", "ddb"],
|
| 835 |
-
[":pave:", "pave"],
|
| 836 |
-
[":objection:", "objection"],
|
| 837 |
-
[":siffle:", "siffle"]
|
| 838 |
-
];
|
| 839 |
-
function Preview(props) {
|
| 840 |
-
const html = T(() => {
|
| 841 |
-
const escaped = escapeHtml(props.raw);
|
| 842 |
-
return injectHTML(escaped).replace(/\n/g, "<br/>");
|
| 843 |
-
}, [props.raw]);
|
| 844 |
-
return /* @__PURE__ */ u$1("div", { className: style$2.wrapper, dangerouslySetInnerHTML: { __html: html } });
|
| 845 |
-
}
|
| 846 |
-
const jvcodeMap = [
|
| 847 |
-
// [/(https?:\/\/image\.noelshack\.com\/\S+)/g]: "<img width=\"68\" height=\"51\" alt=\"noelshak\" src=\"$1\"/>"
|
| 848 |
-
[
|
| 849 |
-
// Stickers
|
| 850 |
-
/(^| )https?:\/\/image\.noelshack\.com\/(?:fichiers|minis)(\S+)/gm,
|
| 851 |
-
'$1<img width="68" height="51" alt="noelshak" src="https://image.noelshack.com/minis/$2"/>'
|
| 852 |
-
],
|
| 853 |
-
[
|
| 854 |
-
// Vocaroo
|
| 855 |
-
/(^| )https:\/\/vocaroo.com\/(.+)/gm,
|
| 856 |
-
'$1<div><iframe width="300" height="60" src="https://vocaroo.com/embed/$2?autoplay=0" frameborder="0" allow="autoplay"></iframe></div>'
|
| 857 |
-
],
|
| 858 |
-
[
|
| 859 |
-
// Citations
|
| 860 |
-
/^(?:>.*(?:\n>.*)*)/g,
|
| 861 |
-
(reg, raw) => {
|
| 862 |
-
const match = reg.exec(raw);
|
| 863 |
-
if (!match) return raw;
|
| 864 |
-
console.log(match);
|
| 865 |
-
const index = match.index;
|
| 866 |
-
const length = match[0].length;
|
| 867 |
-
return raw.substring(0, index) + `<blockquote>${match[0].replace(/^>/gm, "")}</blockquote>` + raw.substring(index + length);
|
| 868 |
-
}
|
| 869 |
-
],
|
| 870 |
-
[
|
| 871 |
-
// Spoil
|
| 872 |
-
/<spoil>(.*?)<\/spoil>/gm,
|
| 873 |
-
(reg, raw) => {
|
| 874 |
-
return raw.replace(reg, (_2, matched) => {
|
| 875 |
-
const randomId = (Math.random() + 1).toString(36).substring(2);
|
| 876 |
-
return `<span class="bloc-spoil-jv"><input type="checkbox" id="${randomId}" class="open-spoil"><label class="barre-head" for="${randomId}"><span class="txt-spoil">Spoil</span></label><span class="contenu-spoil">${matched}</span></span>`;
|
| 877 |
-
});
|
| 878 |
-
}
|
| 879 |
-
],
|
| 880 |
-
[
|
| 881 |
-
// Regular links
|
| 882 |
-
/(^| )(https?:\/\/\S+)/gm,
|
| 883 |
-
'$1<a href="$2" target="_blank">$2</a>'
|
| 884 |
-
],
|
| 885 |
-
// Generate regexes for smileys
|
| 886 |
-
// ...smileysMap.map((maping) => {
|
| 887 |
-
// return [new RegExp(
|
| 888 |
-
// Object.keys(smileysMap).map(s => (
|
| 889 |
-
// "(?:(?:^| )" + s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + ")"
|
| 890 |
-
// )).join("|"), "gm"
|
| 891 |
-
// ), `<img src="${maping[1]}" width="16" height="16" alt=""/>`]
|
| 892 |
-
// })
|
| 893 |
-
// (() => {
|
| 894 |
-
// new RegExp(
|
| 895 |
-
// smileysMap.map((mapping) => (
|
| 896 |
-
// "(?:(?:^| )" + s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + ")"
|
| 897 |
-
// )).join("|"), "gm"
|
| 898 |
-
// )
|
| 899 |
-
// return [/(https?:\/\/image\.noelshack\.com\/\S+)/g, "<img width=\"68\" height=\"51\" alt=\"noelshak\" src=\"$1\"/>"]
|
| 900 |
-
// })()
|
| 901 |
-
...smileysMap.map((mapping) => {
|
| 902 |
-
return [
|
| 903 |
-
new RegExp("(?:(^| )" + mapping[0].replace(/[.*+?^${}()|[\]\\]/g, "\\$&") + ")", "gm"),
|
| 904 |
-
`$1<img src="https://image.jeuxvideo.com/smileys_img/${mapping[1]}.gif" alt="${mapping[0]}"/>`
|
| 905 |
-
];
|
| 906 |
-
})
|
| 907 |
-
];
|
| 908 |
-
function injectHTML(input2) {
|
| 909 |
-
do {
|
| 910 |
-
for (const [regex, htmlOrFunc] of jvcodeMap) {
|
| 911 |
-
if (htmlOrFunc instanceof Function) {
|
| 912 |
-
input2 = htmlOrFunc(regex, input2);
|
| 913 |
-
} else {
|
| 914 |
-
input2 = input2.replace(regex, htmlOrFunc);
|
| 915 |
-
}
|
| 916 |
-
}
|
| 917 |
-
} while (false);
|
| 918 |
-
return input2;
|
| 919 |
-
}
|
| 920 |
-
function escapeHtml(unsafe) {
|
| 921 |
-
return unsafe.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
| 922 |
-
}
|
| 923 |
-
function Topic(props) {
|
| 924 |
-
console.log(props.topic);
|
| 925 |
-
return /* @__PURE__ */ u$1("div", { children: [
|
| 926 |
-
props.topic.posts.map((post2) => /* @__PURE__ */ u$1(Post, { post: post2 })),
|
| 927 |
-
/* @__PURE__ */ u$1("div", { children: [
|
| 928 |
-
/* @__PURE__ */ u$1("h2", { children: "Ajout de posts" }),
|
| 929 |
-
/* @__PURE__ */ u$1("div", { className: style$3.generationSettings, children: /* @__PURE__ */ u$1(FormGroup, { children: [
|
| 930 |
-
/* @__PURE__ */ u$1("label", { htmlFor: "postCount", children: "Nombre de posts" }),
|
| 931 |
-
/* @__PURE__ */ u$1(
|
| 932 |
-
Slider,
|
| 933 |
-
{
|
| 934 |
-
name: "postCount",
|
| 935 |
-
value: props.settings.postCount,
|
| 936 |
-
onChange: (v2) => props.setSettings({ ...props.settings, postCount: v2 }),
|
| 937 |
-
min: 1,
|
| 938 |
-
max: 10,
|
| 939 |
-
step: 1
|
| 940 |
-
}
|
| 941 |
-
)
|
| 942 |
-
] }) }),
|
| 943 |
-
/* @__PURE__ */ u$1(
|
| 944 |
-
Button,
|
| 945 |
-
{
|
| 946 |
-
onClick: () => props.addPosts(props.topic.id, props.settings.postCount),
|
| 947 |
-
secondary: true,
|
| 948 |
-
loading: props.pendingGeneration,
|
| 949 |
-
children: "Générer"
|
| 950 |
-
}
|
| 951 |
-
)
|
| 952 |
-
] }),
|
| 953 |
-
/* @__PURE__ */ u$1("hr", {})
|
| 954 |
-
] });
|
| 955 |
-
}
|
| 956 |
-
function Post(props) {
|
| 957 |
-
return /* @__PURE__ */ u$1("div", { className: style$3.post, children: [
|
| 958 |
-
/* @__PURE__ */ u$1("div", { className: style$3.postHeader, children: [
|
| 959 |
-
/* @__PURE__ */ u$1("img", { src: "https://image.jeuxvideo.com/avatar-sm/default.jpg", className: style$3.avatar, alt: "ahi" }),
|
| 960 |
-
/* @__PURE__ */ u$1("div", { className: style$3.user, children: props.post.user }),
|
| 961 |
-
/* @__PURE__ */ u$1("div", { className: style$3.date, children: iso8601ToFrench(props.post.date) })
|
| 962 |
-
] }),
|
| 963 |
-
/* @__PURE__ */ u$1(Preview, { raw: props.post.content })
|
| 964 |
-
] });
|
| 965 |
-
}
|
| 966 |
-
const wrapper = "_wrapper_1dmrl_1";
|
| 967 |
-
const icon = "_icon_1dmrl_6";
|
| 968 |
-
const input = "_input_1dmrl_14";
|
| 969 |
-
const style$1 = {
|
| 970 |
-
wrapper,
|
| 971 |
-
icon,
|
| 972 |
-
input
|
| 973 |
-
};
|
| 974 |
-
const Input = ({
|
| 975 |
-
type,
|
| 976 |
-
icon: icon2,
|
| 977 |
-
value,
|
| 978 |
-
placeholder,
|
| 979 |
-
onChange,
|
| 980 |
-
className,
|
| 981 |
-
disabled: disabled2,
|
| 982 |
-
id,
|
| 983 |
-
name
|
| 984 |
-
}) => {
|
| 985 |
-
const [focused, setFocused] = h(false);
|
| 986 |
-
const inputClass = cn(style$1.input, "generic-input", className, {
|
| 987 |
-
focused,
|
| 988 |
-
disabled: disabled2
|
| 989 |
-
});
|
| 990 |
-
const handleInputChange = (event) => {
|
| 991 |
-
console.log("handleInputChange");
|
| 992 |
-
const target = event.target;
|
| 993 |
-
onChange(type === "number" ? parseFloat(target.value) || 0 : target.value);
|
| 994 |
-
};
|
| 995 |
-
const Icon = icon2;
|
| 996 |
-
return /* @__PURE__ */ u$1("div", { className: style$1.wrapper, children: [
|
| 997 |
-
/* @__PURE__ */ u$1(Icon, { className: style$1.icon, size: 18 }),
|
| 998 |
-
/* @__PURE__ */ u$1(
|
| 999 |
-
"input",
|
| 1000 |
-
{
|
| 1001 |
-
title: "Le pseudo doit avoir une longueur comprise entre 3 et 15 caractères.",
|
| 1002 |
-
type,
|
| 1003 |
-
id,
|
| 1004 |
-
name,
|
| 1005 |
-
value,
|
| 1006 |
-
placeholder,
|
| 1007 |
-
onInput: handleInputChange,
|
| 1008 |
-
className: inputClass,
|
| 1009 |
-
disabled: disabled2,
|
| 1010 |
-
onFocus: () => setFocused(true),
|
| 1011 |
-
onBlur: () => setFocused(false)
|
| 1012 |
-
}
|
| 1013 |
-
)
|
| 1014 |
-
] });
|
| 1015 |
-
};
|
| 1016 |
-
const Link = (props) => {
|
| 1017 |
-
const color = props.color || "currentColor";
|
| 1018 |
-
const size = props.size || 24;
|
| 1019 |
-
delete props.color;
|
| 1020 |
-
delete props.size;
|
| 1021 |
-
return g(
|
| 1022 |
-
"svg",
|
| 1023 |
-
Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: color, "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, props),
|
| 1024 |
-
g("path", { d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" }),
|
| 1025 |
-
g("path", { d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" })
|
| 1026 |
-
);
|
| 1027 |
-
};
|
| 1028 |
-
const Settings$1 = (props) => {
|
| 1029 |
-
const color = props.color || "currentColor";
|
| 1030 |
-
const size = props.size || 24;
|
| 1031 |
-
delete props.color;
|
| 1032 |
-
delete props.size;
|
| 1033 |
-
return g(
|
| 1034 |
-
"svg",
|
| 1035 |
-
Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: color, "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, props),
|
| 1036 |
-
g("circle", { cx: "12", cy: "12", r: "3" }),
|
| 1037 |
-
g("path", { d: "M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z" })
|
| 1038 |
-
);
|
| 1039 |
-
};
|
| 1040 |
-
function Settings(props) {
|
| 1041 |
-
return /* @__PURE__ */ u$1("div", { children: /* @__PURE__ */ u$1("form", { children: [
|
| 1042 |
-
/* @__PURE__ */ u$1(FormGroup, { children: [
|
| 1043 |
-
/* @__PURE__ */ u$1("label", { htmlFor: "api", children: "API" }),
|
| 1044 |
-
/* @__PURE__ */ u$1(
|
| 1045 |
-
Input,
|
| 1046 |
-
{
|
| 1047 |
-
type: "text",
|
| 1048 |
-
placeholder: "URl d'API ex: https://ouruq7zepnehg2-5000.proxy.runpod.net/",
|
| 1049 |
-
icon: Link,
|
| 1050 |
-
value: props.settings.apiURL,
|
| 1051 |
-
onChange: (v2) => props.setSettings({ ...props.settings, apiURL: v2 })
|
| 1052 |
-
}
|
| 1053 |
-
)
|
| 1054 |
-
] }),
|
| 1055 |
-
/* @__PURE__ */ u$1(FormGroup, { children: [
|
| 1056 |
-
/* @__PURE__ */ u$1("label", { for: "temperature", children: "Temperature" }),
|
| 1057 |
-
/* @__PURE__ */ u$1(
|
| 1058 |
-
Slider,
|
| 1059 |
-
{
|
| 1060 |
-
name: "temperature",
|
| 1061 |
-
value: props.settings.temperature,
|
| 1062 |
-
onChange: (v2) => props.setSettings({ ...props.settings, temperature: v2 }),
|
| 1063 |
-
min: 0.1,
|
| 1064 |
-
max: 2,
|
| 1065 |
-
step: 0.1
|
| 1066 |
-
}
|
| 1067 |
-
)
|
| 1068 |
-
] }),
|
| 1069 |
-
/* @__PURE__ */ u$1("div", { children: /* @__PURE__ */ u$1(
|
| 1070 |
-
Button,
|
| 1071 |
-
{
|
| 1072 |
-
onClick: () => {
|
| 1073 |
-
props.resetApp();
|
| 1074 |
-
},
|
| 1075 |
-
secondary: true,
|
| 1076 |
-
title: "Tout réinitialiser",
|
| 1077 |
-
children: "Réinitialiser"
|
| 1078 |
-
}
|
| 1079 |
-
) }),
|
| 1080 |
-
/* @__PURE__ */ u$1("br", {}),
|
| 1081 |
-
/* @__PURE__ */ u$1("div", { children: /* @__PURE__ */ u$1(
|
| 1082 |
-
Button,
|
| 1083 |
-
{
|
| 1084 |
-
onClick: () => {
|
| 1085 |
-
history.go(-1);
|
| 1086 |
-
},
|
| 1087 |
-
children: "Retour"
|
| 1088 |
-
}
|
| 1089 |
-
) })
|
| 1090 |
-
] }) });
|
| 1091 |
-
}
|
| 1092 |
-
const breadcrumbs = "_breadcrumbs_145yl_1";
|
| 1093 |
-
const actions = "_actions_145yl_10";
|
| 1094 |
-
const style = {
|
| 1095 |
-
breadcrumbs,
|
| 1096 |
-
actions
|
| 1097 |
-
};
|
| 1098 |
-
function Layout(props) {
|
| 1099 |
-
return /* @__PURE__ */ u$1("div", { children: [
|
| 1100 |
-
/* @__PURE__ */ u$1("nav", { className: style.breadcrumbs, children: [
|
| 1101 |
-
props.breadcrumbs,
|
| 1102 |
-
/* @__PURE__ */ u$1("div", { className: style.actions, children: /* @__PURE__ */ u$1("a", { href: "#", title: "Paramètres", onClick: (e2) => {
|
| 1103 |
-
e2.preventDefault();
|
| 1104 |
-
props.setRoute(routes.settings);
|
| 1105 |
-
}, children: /* @__PURE__ */ u$1(Settings$1, { size: 18 }) }) })
|
| 1106 |
-
] }),
|
| 1107 |
-
/* @__PURE__ */ u$1("h2", { children: props.title }),
|
| 1108 |
-
props.children
|
| 1109 |
-
] });
|
| 1110 |
-
}
|
| 1111 |
-
const itemKey = "settings";
|
| 1112 |
-
const defaultSettings = {
|
| 1113 |
-
apiURL: "http://localhost:5000",
|
| 1114 |
-
temperature: 0.9,
|
| 1115 |
-
postCount: 3
|
| 1116 |
-
};
|
| 1117 |
-
function fetchSettings() {
|
| 1118 |
-
const storedSettings = localStorage.getItem(itemKey);
|
| 1119 |
-
if (storedSettings) {
|
| 1120 |
-
return { ...defaultSettings, ...JSON.parse(storedSettings) };
|
| 1121 |
-
} else {
|
| 1122 |
-
return defaultSettings;
|
| 1123 |
-
}
|
| 1124 |
-
}
|
| 1125 |
-
function saveSettings(settings) {
|
| 1126 |
-
localStorage.setItem(itemKey, JSON.stringify(settings));
|
| 1127 |
-
}
|
| 1128 |
-
function resetSettings() {
|
| 1129 |
-
localStorage.removeItem(itemKey);
|
| 1130 |
-
}
|
| 1131 |
-
function generateUUID() {
|
| 1132 |
-
return "10000000-1000-4000-8000-100000000000".replace(
|
| 1133 |
-
/[018]/g,
|
| 1134 |
-
(c2) => (+c2 ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> +c2 / 4).toString(16)
|
| 1135 |
-
);
|
| 1136 |
-
}
|
| 1137 |
-
const titleRegex = /Sujet\s+:\s+"(.+?)"?<\|eot_id\|>/;
|
| 1138 |
-
const userRegex = /<\|im_pseudo\|>([^<]+)<\|end_pseudo\|>/;
|
| 1139 |
-
const dateRegex = /<\|im_date\|>([^<]+)<\|end_date\|>/;
|
| 1140 |
-
const contentRegex = /<\|begin_of_post\|>([\s\S]+)(?:<\|end_of_post\|>)?$/;
|
| 1141 |
-
function tokensToTopic(tokens) {
|
| 1142 |
-
const topic = {
|
| 1143 |
-
id: generateUUID(),
|
| 1144 |
-
title: "",
|
| 1145 |
-
posts: []
|
| 1146 |
-
};
|
| 1147 |
-
for (const postTokens of tokens.split("<|end_of_post|>").slice(0, -1)) {
|
| 1148 |
-
console.log("Post tokens:");
|
| 1149 |
-
console.log(postTokens);
|
| 1150 |
-
if (topic.posts.length < 1) {
|
| 1151 |
-
const titleMatch = postTokens.match(titleRegex);
|
| 1152 |
-
console.log(`title: ${titleMatch[1]}`);
|
| 1153 |
-
topic.title = titleMatch[1];
|
| 1154 |
-
}
|
| 1155 |
-
topic.posts = topic.posts.concat(tokensToPosts(postTokens));
|
| 1156 |
-
}
|
| 1157 |
-
return topic;
|
| 1158 |
-
}
|
| 1159 |
-
function tokensToPosts(tokens) {
|
| 1160 |
-
const posts = [];
|
| 1161 |
-
for (const postTokens of tokens.split("<|end_of_post|>")) {
|
| 1162 |
-
if (postTokens.length < 1) {
|
| 1163 |
-
continue;
|
| 1164 |
-
}
|
| 1165 |
-
console.log("Post tokens:");
|
| 1166 |
-
console.log(postTokens);
|
| 1167 |
-
const userMatch = postTokens.match(userRegex);
|
| 1168 |
-
console.log(`user: ${userMatch[1]}`);
|
| 1169 |
-
const dateMatch = postTokens.match(dateRegex);
|
| 1170 |
-
console.log(`date: ${dateMatch[1]}`);
|
| 1171 |
-
const contentMatch = postTokens.match(contentRegex);
|
| 1172 |
-
console.log(`content: ${contentMatch[1]}`);
|
| 1173 |
-
posts.push({
|
| 1174 |
-
user: userMatch[1],
|
| 1175 |
-
date: frenchToIso8601(dateMatch[1]),
|
| 1176 |
-
content: contentMatch[1]
|
| 1177 |
-
});
|
| 1178 |
-
}
|
| 1179 |
-
return posts;
|
| 1180 |
-
}
|
| 1181 |
-
function tokenizeTopic(topic) {
|
| 1182 |
-
if (topic.posts.length === 0) {
|
| 1183 |
-
throw new Error("Topic must have at least one post");
|
| 1184 |
-
}
|
| 1185 |
-
const tokenizedPosts = topic.posts.map((post2) => tokenizePost(post2, topic.posts[0].user)).flat().join("");
|
| 1186 |
-
let lines = [
|
| 1187 |
-
"<|start_header_id|><|sujet|><|end_header_id|>",
|
| 1188 |
-
"",
|
| 1189 |
-
`Sujet : "${topic.title}"`
|
| 1190 |
-
];
|
| 1191 |
-
return lines.join("\n") + tokenizedPosts;
|
| 1192 |
-
}
|
| 1193 |
-
function tokenizePost(post2, poster) {
|
| 1194 |
-
let lines = [
|
| 1195 |
-
`<|eot_id|><|start_header_id|><|${post2.user === poster ? "autheur" : "khey"}|>`,
|
| 1196 |
-
"<|end_header_id|>",
|
| 1197 |
-
"",
|
| 1198 |
-
`<|im_pseudo|>${post2.user}<|end_pseudo|>`,
|
| 1199 |
-
`<|im_date|>Le ${iso8601ToFrench(post2.date)}<|end_date|>`,
|
| 1200 |
-
"",
|
| 1201 |
-
`<|begin_of_post|>${post2.content}<|end_of_post|>`
|
| 1202 |
-
];
|
| 1203 |
-
return lines.join("\n");
|
| 1204 |
-
}
|
| 1205 |
-
async function generateTopic(settings, nPosts) {
|
| 1206 |
-
console.log(settings);
|
| 1207 |
-
const rawOutput = await fetApiWithStream(settings, "<|start_header_id|>", nPosts);
|
| 1208 |
-
return tokensToTopic(rawOutput);
|
| 1209 |
-
}
|
| 1210 |
-
async function generatePosts(settings, nPosts, topic) {
|
| 1211 |
-
const rawOutput = await fetApiWithStream(settings, tokenizeTopic(topic), nPosts);
|
| 1212 |
-
console.log("rawOutput");
|
| 1213 |
-
console.log(rawOutput);
|
| 1214 |
-
return tokensToPosts(rawOutput);
|
| 1215 |
-
}
|
| 1216 |
-
const postEndToken = "<|end_of_post|>";
|
| 1217 |
-
async function fetApiWithStream(settings, prompt, nPosts) {
|
| 1218 |
-
const controller = new AbortController();
|
| 1219 |
-
const response = await fetch(new URL("/v1/completions", settings.apiURL), {
|
| 1220 |
-
method: "POST",
|
| 1221 |
-
headers: {
|
| 1222 |
-
"Content-Type": "application/json"
|
| 1223 |
-
},
|
| 1224 |
-
body: JSON.stringify({
|
| 1225 |
-
prompt,
|
| 1226 |
-
temperature: settings.temperature,
|
| 1227 |
-
max_tokens: 2e3,
|
| 1228 |
-
stream: true,
|
| 1229 |
-
skip_special_tokens: false
|
| 1230 |
-
// stop: "<|end_of_post|>"
|
| 1231 |
-
// top_p: 1,
|
| 1232 |
-
// frequency_penalty: 0,
|
| 1233 |
-
// presence_penalty: 0,
|
| 1234 |
-
}),
|
| 1235 |
-
signal: controller.signal
|
| 1236 |
-
});
|
| 1237 |
-
if (!response.ok) {
|
| 1238 |
-
throw new Error(`Failed to fetch API (${response.status} ${response.statusText}): ${await response.text()}`);
|
| 1239 |
-
}
|
| 1240 |
-
console.log(`Fetching topic with ${nPosts} posts...`);
|
| 1241 |
-
let endTokenCount = 0;
|
| 1242 |
-
let tokens = "";
|
| 1243 |
-
let finishReason = null;
|
| 1244 |
-
try {
|
| 1245 |
-
await response.body.pipeThrough(new TextDecoderStream("utf-8")).pipeTo(new WritableStream({
|
| 1246 |
-
write(rawChunk) {
|
| 1247 |
-
for (const rawChunkLine of rawChunk.split("\n")) {
|
| 1248 |
-
if (!rawChunkLine.startsWith("data:")) continue;
|
| 1249 |
-
const chunk = JSON.parse(rawChunkLine.slice(6));
|
| 1250 |
-
const text = chunk.choices[0].text;
|
| 1251 |
-
console.log(text);
|
| 1252 |
-
tokens += chunk.choices[0].text;
|
| 1253 |
-
if (text.includes(postEndToken)) {
|
| 1254 |
-
endTokenCount++;
|
| 1255 |
-
if (endTokenCount >= nPosts) {
|
| 1256 |
-
finishReason = "custom_stop";
|
| 1257 |
-
controller.abort();
|
| 1258 |
-
break;
|
| 1259 |
-
}
|
| 1260 |
-
} else {
|
| 1261 |
-
finishReason = chunk.choices[0].finish_reason;
|
| 1262 |
-
}
|
| 1263 |
-
}
|
| 1264 |
-
}
|
| 1265 |
-
}));
|
| 1266 |
-
} catch (e2) {
|
| 1267 |
-
if (e2.name !== "AbortError") {
|
| 1268 |
-
throw e2;
|
| 1269 |
-
}
|
| 1270 |
-
}
|
| 1271 |
-
console.log("Done fetching data");
|
| 1272 |
-
console.log(`Finish reason: ${finishReason}`);
|
| 1273 |
-
console.log(`Tokens: ${tokens}`);
|
| 1274 |
-
return tokens;
|
| 1275 |
-
}
|
| 1276 |
-
function App() {
|
| 1277 |
-
const [route, _setRoute] = h(routes.home);
|
| 1278 |
-
const [page, setPage] = h(0);
|
| 1279 |
-
const [topicId, setTopicId] = h(null);
|
| 1280 |
-
const [topics, setTopics] = h(loadTopics);
|
| 1281 |
-
const [latestGeneratedTopicId, setLatestGeneratedTopicId] = h(null);
|
| 1282 |
-
const [pendingGeneration, setPendingGeneration] = h(false);
|
| 1283 |
-
y(() => {
|
| 1284 |
-
console.log("save !");
|
| 1285 |
-
saveTopics(topics);
|
| 1286 |
-
}, [topics]);
|
| 1287 |
-
const _generateTopic = async (postsCount) => {
|
| 1288 |
-
setPendingGeneration(true);
|
| 1289 |
-
const topic = await generateTopic(settings, postsCount);
|
| 1290 |
-
setLatestGeneratedTopicId(topic.id);
|
| 1291 |
-
setTopics((topics2) => [...topics2, topic]);
|
| 1292 |
-
setPendingGeneration(false);
|
| 1293 |
-
};
|
| 1294 |
-
const addPosts = async (topicId2, postsCount) => {
|
| 1295 |
-
setPendingGeneration(true);
|
| 1296 |
-
const posts = await generatePosts(settings, postsCount, topics.find((t2) => t2.id === topicId2));
|
| 1297 |
-
const newTopics = [...topics];
|
| 1298 |
-
const foundIndex = newTopics.findIndex((t2) => t2.id === topicId2);
|
| 1299 |
-
newTopics[foundIndex].posts = newTopics[foundIndex].posts.concat(posts);
|
| 1300 |
-
setTopics(newTopics);
|
| 1301 |
-
setPendingGeneration(false);
|
| 1302 |
-
};
|
| 1303 |
-
const [settings, setSettings] = h(fetchSettings);
|
| 1304 |
-
y(() => {
|
| 1305 |
-
saveSettings(settings);
|
| 1306 |
-
}, [settings]);
|
| 1307 |
-
const resetApp = () => {
|
| 1308 |
-
resetSettings();
|
| 1309 |
-
setSettings(fetchSettings);
|
| 1310 |
-
setTopics([]);
|
| 1311 |
-
};
|
| 1312 |
-
const updateRoute = q(() => {
|
| 1313 |
-
const url = new URL(window.location.href);
|
| 1314 |
-
const route2 = url.searchParams.get("route");
|
| 1315 |
-
if (route2 && route2 in routes) {
|
| 1316 |
-
_setRoute(route2);
|
| 1317 |
-
}
|
| 1318 |
-
const page2 = url.searchParams.get("page");
|
| 1319 |
-
if (page2) {
|
| 1320 |
-
setPage(parseInt(page2));
|
| 1321 |
-
}
|
| 1322 |
-
const id = url.searchParams.get("id");
|
| 1323 |
-
if (id) {
|
| 1324 |
-
setTopicId(id);
|
| 1325 |
-
}
|
| 1326 |
-
}, []);
|
| 1327 |
-
y(() => {
|
| 1328 |
-
updateRoute();
|
| 1329 |
-
}, []);
|
| 1330 |
-
y(() => {
|
| 1331 |
-
function listener() {
|
| 1332 |
-
updateRoute();
|
| 1333 |
-
}
|
| 1334 |
-
window.addEventListener("popstate", listener);
|
| 1335 |
-
return () => {
|
| 1336 |
-
window.removeEventListener("popstate", listener);
|
| 1337 |
-
};
|
| 1338 |
-
}, []);
|
| 1339 |
-
const setRoute = q((route2, page2, id) => {
|
| 1340 |
-
const url = new URL(window.location.href);
|
| 1341 |
-
url.searchParams.set("route", route2);
|
| 1342 |
-
_setRoute(route2);
|
| 1343 |
-
if (page2 !== void 0) {
|
| 1344 |
-
url.searchParams.set("page", String(page2));
|
| 1345 |
-
setPage(page2);
|
| 1346 |
-
} else {
|
| 1347 |
-
url.searchParams.delete("page");
|
| 1348 |
-
setPage(0);
|
| 1349 |
-
}
|
| 1350 |
-
if (id !== void 0) {
|
| 1351 |
-
url.searchParams.set("id", id);
|
| 1352 |
-
setTopicId(id);
|
| 1353 |
-
} else {
|
| 1354 |
-
url.searchParams.delete("id");
|
| 1355 |
-
setTopicId(null);
|
| 1356 |
-
}
|
| 1357 |
-
const newUrl = url.toString();
|
| 1358 |
-
if (newUrl !== window.location.href) {
|
| 1359 |
-
window.history.pushState({}, "", newUrl);
|
| 1360 |
-
}
|
| 1361 |
-
}, []);
|
| 1362 |
-
let routeComponent = void 0;
|
| 1363 |
-
let breadcrumbs2 = void 0;
|
| 1364 |
-
let title = void 0;
|
| 1365 |
-
switch (route) {
|
| 1366 |
-
case routes.home:
|
| 1367 |
-
routeComponent = /* @__PURE__ */ u$1(
|
| 1368 |
-
Topics,
|
| 1369 |
-
{
|
| 1370 |
-
topics,
|
| 1371 |
-
setRoute,
|
| 1372 |
-
settings,
|
| 1373 |
-
setSettings,
|
| 1374 |
-
generateTopic: _generateTopic,
|
| 1375 |
-
pendingGeneration,
|
| 1376 |
-
latestGeneratedTopicId
|
| 1377 |
-
}
|
| 1378 |
-
);
|
| 1379 |
-
breadcrumbs2 = "accueil";
|
| 1380 |
-
title = "Liste des sujets";
|
| 1381 |
-
break;
|
| 1382 |
-
case routes.topic:
|
| 1383 |
-
if (topicId === null) {
|
| 1384 |
-
routeComponent = /* @__PURE__ */ u$1("div", { children: "Impossible d'afficher le sujet" });
|
| 1385 |
-
breadcrumbs2 = "accueil";
|
| 1386 |
-
title = "Sujet";
|
| 1387 |
-
} else {
|
| 1388 |
-
if (topics === null) {
|
| 1389 |
-
routeComponent = /* @__PURE__ */ u$1("div", { children: "Chargement..." });
|
| 1390 |
-
breadcrumbs2 = `accueil / sujet`;
|
| 1391 |
-
title = `Chargement...`;
|
| 1392 |
-
} else {
|
| 1393 |
-
const topic = topics.find((t2) => t2.id === topicId);
|
| 1394 |
-
routeComponent = /* @__PURE__ */ u$1(
|
| 1395 |
-
Topic,
|
| 1396 |
-
{
|
| 1397 |
-
topic,
|
| 1398 |
-
settings,
|
| 1399 |
-
setSettings,
|
| 1400 |
-
addPosts,
|
| 1401 |
-
pendingGeneration
|
| 1402 |
-
}
|
| 1403 |
-
);
|
| 1404 |
-
breadcrumbs2 = `accueil / ${topic.title}`;
|
| 1405 |
-
title = `Sujet : ${topic.title}`;
|
| 1406 |
-
}
|
| 1407 |
-
}
|
| 1408 |
-
break;
|
| 1409 |
-
case routes.settings:
|
| 1410 |
-
routeComponent = /* @__PURE__ */ u$1(Settings, { settings, setSettings, resetApp });
|
| 1411 |
-
breadcrumbs2 = "accueil / paramètres";
|
| 1412 |
-
title = "Paramètres";
|
| 1413 |
-
break;
|
| 1414 |
-
}
|
| 1415 |
-
return /* @__PURE__ */ u$1(k$1, { children: [
|
| 1416 |
-
/* @__PURE__ */ u$1("header", { className: style$a.header, children: /* @__PURE__ */ u$1(Container, { children: /* @__PURE__ */ u$1("h1", { className: style$a.logo, children: /* @__PURE__ */ u$1("a", { href: "#", onClick: (e2) => {
|
| 1417 |
-
e2.preventDefault();
|
| 1418 |
-
setRoute(routes.home);
|
| 1419 |
-
}, children: "JVCGPT" }) }) }) }),
|
| 1420 |
-
/* @__PURE__ */ u$1("main", { children: /* @__PURE__ */ u$1(Container, { children: /* @__PURE__ */ u$1(
|
| 1421 |
-
Layout,
|
| 1422 |
-
{
|
| 1423 |
-
breadcrumbs: breadcrumbs2,
|
| 1424 |
-
title,
|
| 1425 |
-
setRoute,
|
| 1426 |
-
children: routeComponent
|
| 1427 |
-
}
|
| 1428 |
-
) }) })
|
| 1429 |
-
] });
|
| 1430 |
-
}
|
| 1431 |
-
D$1(g(App, null), document.getElementById("app"));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dist/favicon.svg
DELETED
dist/index.html
DELETED
|
@@ -1,15 +0,0 @@
|
|
| 1 |
-
<!DOCTYPE html>
|
| 2 |
-
<html lang="fr">
|
| 3 |
-
<head>
|
| 4 |
-
<meta charset="UTF-8"/>
|
| 5 |
-
<link rel="icon" type="image/svg+xml" href="./favicon.svg"/>
|
| 6 |
-
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
| 7 |
-
<meta name="color-scheme" content="dark"/>
|
| 8 |
-
<title>JVCGPT</title>
|
| 9 |
-
<script type="module" crossorigin src="./assets/index-NR4DZ1UN.js"></script>
|
| 10 |
-
<link rel="stylesheet" crossorigin href="./assets/index-BhbZavTP.css">
|
| 11 |
-
</head>
|
| 12 |
-
<body>
|
| 13 |
-
<div id="app"></div>
|
| 14 |
-
</body>
|
| 15 |
-
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|