soliddesigner 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -267,6 +267,20 @@
267
267
  "TAB_FILTERS": "Filters",
268
268
  "ROTATION": "Rotation",
269
269
  "CROP_HINT": "Adjust the crop frame or apply filters",
270
+ "LINK_ASSET": "Link to an asset",
271
+ "CHANGE_ASSET": "Change image",
272
+ "REFRESH_THUMBNAIL": "Refresh",
273
+ "REFRESH_SUCCESS": "Image updated successfully!",
274
+ "REFRESH_ERROR": "Error during refresh.",
275
+ "REMOVE_LINK": "Remove link",
276
+ "ASSET_LINKED": "Image linked to an asset",
277
+ "SIZE_WARNING": {
278
+ "TITLE": "Image too large",
279
+ "MESSAGE": "The image you are trying to import is <strong>{{actualSize}}</strong>, which exceeds the recommended limit of {{limit}} {{unit}}.",
280
+ "COMPRESS": "Compress (< {{limit}} {{unit}})",
281
+ "TIP": "Tip: To avoid quality loss, we recommend using an asset type image.",
282
+ "CANCEL": "Cancel"
283
+ },
270
284
  "PASTE": {
271
285
  "TITLE": "Large Image Detected",
272
286
  "MESSAGE": "The image you are pasting exceeds the canvas size ({{width}}x{{height}}). Do you want to reduce it or keep its original size?",
@@ -277,7 +291,7 @@
277
291
  "DYNAMIC_IMAGE": {
278
292
  "TITLE": "Dynamic Image",
279
293
  "TRANSFORM_STATIC": "Transform into static image",
280
- "IMPORT_FROM_DEVICE": "Import from device",
294
+ "IMPORT_FROM_DEVICE": "Import from device (max {{limit}} {{unit}})",
281
295
  "SELECT_ASSET": "Select an asset",
282
296
  "DATA_FIELD": "Data Field",
283
297
  "IMAGE_NUMBER": "Image n°"
@@ -347,7 +361,7 @@
347
361
  },
348
362
  "CONTEXT_BAR": {
349
363
  "CHANGE_IMAGE": "Change image",
350
- "SELECT_IMAGE_PC": "Select image from computer",
364
+ "SELECT_IMAGE_PC": "Import from computer (max {{limit}} {{unit}})",
351
365
  "CHANGE_TO_DYNAMIC": "Change to dynamic image",
352
366
  "ADD_DYNAMIC_ATTR": "Add dynamic attribute",
353
367
  "CLONE": "Clone",
@@ -261,6 +261,20 @@
261
261
  "TAB_FILTERS": "Filtros",
262
262
  "ROTATION": "Rotación",
263
263
  "CROP_HINT": "Ajusta el marco de recorte o aplica filtros",
264
+ "LINK_ASSET": "Relacionar con un activo",
265
+ "CHANGE_ASSET": "Cambiar imagen",
266
+ "REFRESH_THUMBNAIL": "Refrescar",
267
+ "REFRESH_SUCCESS": "¡Imagen actualizada!",
268
+ "REFRESH_ERROR": "Error durante la actualización.",
269
+ "REMOVE_LINK": "Borrar enlace",
270
+ "ASSET_LINKED": "Imagen relacionada con un activo",
271
+ "SIZE_WARNING": {
272
+ "TITLE": "Imagen demasiado grande",
273
+ "MESSAGE": "La imagen que intenta importar tiene <strong>{{actualSize}}</strong>, lo que supera el límite recomendado de {{limit}} {{unit}}.",
274
+ "COMPRESS": "Comprimir (< {{limit}} {{unit}})",
275
+ "TIP": "Consejo: Para no perder calidad, le recomendamos utilizar una imagen de tipo activo.",
276
+ "CANCEL": "Cancelar"
277
+ },
264
278
  "PASTE": {
265
279
  "TITLE": "Imagen grande detectada",
266
280
  "MESSAGE": "La imagen que estás pegando excede el tamaño del lienzo ({{width}}x{{height}}). ¿Deseas reducirla o mantener su tamaño original?",
@@ -271,7 +285,7 @@
271
285
  "DYNAMIC_IMAGE": {
272
286
  "TITLE": "Imagen dinámica",
273
287
  "TRANSFORM_STATIC": "Transformar en imagen estática",
274
- "IMPORT_FROM_DEVICE": "Importar desde el dispositivo",
288
+ "IMPORT_FROM_DEVICE": "Importar desde el dispositivo (máx {{limit}} {{unit}})",
275
289
  "SELECT_ASSET": "Seleccionar un asset",
276
290
  "IMAGE_NUMBER": "Número de imagen"
277
291
  },
@@ -340,7 +354,7 @@
340
354
  },
341
355
  "CONTEXT_BAR": {
342
356
  "CHANGE_IMAGE": "Cambiar imagen",
343
- "SELECT_IMAGE_PC": "Seleccionar desde computadora",
357
+ "SELECT_IMAGE_PC": "Importar desde el ordenador (máx {{limit}} {{unit}})",
344
358
  "CHANGE_TO_DYNAMIC": "Convertir en imagen dinámica",
345
359
  "ADD_DYNAMIC_ATTR": "Añadir atributo dinámico",
346
360
  "CLONE": "Clonar",
@@ -1,4 +1,155 @@
1
1
  {
2
+ "media": {
3
+ "library": {
4
+ "SORTAZ": "Trier 'Nom' de A à Z",
5
+ "SORTZA": "Trier 'Nom' de Z à A",
6
+ "SORTCREATED": "Trier 'Date de création' du plus récent au plus ancien",
7
+ "SORTCREATEDDESC": "Trier 'Date de création' du plus ancien au plus récent",
8
+ "SORTMODIF": "Trier 'Date de modification' du plus récent au plus ancien",
9
+ "SORTMODIFDESC": "Trier 'Date de modification' du plus ancien au plus récent",
10
+ "OPEN": "Ouvrir",
11
+ "OPENNEWONGLET": "Ouvrir dans un nouvel onglet",
12
+ "ALT": "Alt",
13
+ "PROFILTIPS": "Pour les images, choisir un profil média",
14
+ "NOSTATUSSELECTED": "Aucun statut sélectionné",
15
+ "WARNINGSHARE": "Si un partage existe, il sera remplacé.",
16
+ "SEARCH": "Résultat",
17
+ "SEARCHBAR": "Rechercher...",
18
+ "ASSETSMISSING": "Média(s) manquant(s)",
19
+ "STATUS": "Statut",
20
+ "WARNINGSTATUS": "Si il existe déjà un statut, il sera remplacé.",
21
+ "CHOOSESTATUS": "Choisir un statuts",
22
+ "UPLOAD": "Télécharger",
23
+ "TEAM": "Équipe(s)",
24
+ "CHOOSETEAMS": "Choisir équipe(s)",
25
+ "SHARE": "Partager",
26
+ "INCLUDETEAMSUBFOLDER": "Inclure les équipes dans les sous-dossiers",
27
+ "SHAREFOLDERADD": "Le dossier que vous ajoutez aura les mêmes autorisations de partage que le dossier parent.",
28
+ "SHAREFOLDERMOVE": "Le dossier ainsi que les sous-dossiers que vous déplacez auront les mêmes autorisations de partage que le dossier parent.",
29
+ "MEDIATREATMENT": "Traitement média en attente (FTP)",
30
+ "HOME": "Accueil",
31
+ "DELETE": "Supprimer",
32
+ "ASSETS": "Média",
33
+ "PUBLISH": "Publié",
34
+ "NAVIGATORAUDIONOTSUPPORTED": "Votre navigateur ne prend pas en charge la balise AUDIO.",
35
+ "NAVIGATORVIDEONOTSUPPORTED": "Votre navigateur ne prend pas en charge la balise VIDEO.",
36
+ "SUMMARY": "Résumé",
37
+ "TAGS": "Mots clés",
38
+ "TYPE": "Type",
39
+ "FORMAT": "Format",
40
+ "SIZE": "Taille",
41
+ "UPLOADED": "Téléchargé",
42
+ "OWNER": "Propriétaire",
43
+ "WIDTH": "Largeur",
44
+ "HEIGHT": "Hauteur",
45
+ "DPI": "DPI",
46
+ "COLORSPACE": "Colorimétrique",
47
+ "NOTIFYTEAM": "Notifier les membres de l'équipe par mail",
48
+ "METADATA": "Métadonnées",
49
+ "UPDATE": "Mettre à jour",
50
+ "LABEL": "Étiquette",
51
+ "NAME": "Nom",
52
+ "CANCEL": "Annuler",
53
+ "SAVE": "Sauvegarder",
54
+ "VALUE": "Valeur",
55
+ "ADDFOLDER": "Ajouter le dossier",
56
+ "DELETEFOLDER": "Supprimer le dossier",
57
+ "AREYOUSUREDELETEFOLDER": "Êtes-vous sûr de vouloir supprimer ce dossier ?",
58
+ "CONFIRM": "Confirmer",
59
+ "IMPORTASSETS": "Importer des médias",
60
+ "DRAGDROPHERE": "Faites glisser et déposez les fichiers ici",
61
+ "OR": "- ou -",
62
+ "BROWSE": "Parcourir",
63
+ "SENDTOTRASH": "Envoyer à la corbeille",
64
+ "NOASSETSELECTED": "Aucun élément sélectionné",
65
+ "ONEASSETSELECTED": "Si vous confirmez, l'élément sélectionné sera envoyé dans la corbeille.",
66
+ "MANYASSETSELECTED": "Si vous confirmez, les éléments sélectionnés seront envoyés dans la corbeille.",
67
+ "CONFIRMREMOVE": "Confirmer la suppression ?",
68
+ "SELECTED": "Sélectionné(s)",
69
+ "MOVETOANOTHERFOLDER": "Déplacer vers un autre dossier",
70
+ "ASSIGNED": "Assigner",
71
+ "SELECTALL": "Tout sélectionner",
72
+ "UNSELECTALL": "Tout déselectionner",
73
+ "FOLDER": "Dossier",
74
+ "CLOSEMODEMISSINGASSETS": "Fermer le mode resources manquantes",
75
+ "MODIFYFOLDER": "Modifier dossier",
76
+ "FOLDERNAME": "Nom dossier",
77
+ "DOWNLOAD": "Télécharger",
78
+ "RENAME": "Renommer",
79
+ "RENAMEASSET": "Renommer média",
80
+ "NEWNAME": "Nouveau nom",
81
+ "SIZEMIN": "Taille minimum :",
82
+ "SIZEMIN1": "- pour une image d'impression : 500 Ko. Conseillée : 2 Mo.",
83
+ "SIZEMIN2": "- pour Internet : 100 Ko. Conseillée : 500 Ko.",
84
+ "ISPUBLISHED": "Publié",
85
+ "MODIFY": "Modifier",
86
+ "MOVE": "Déplacer",
87
+ "ASSETSWAITING": "Médias en attente : ",
88
+ "PROFILEASSET": "Profil média",
89
+ "TEAMASSET": "Equipe média",
90
+ "RESIZE": "Redimensionner",
91
+ "AUTOTAG": "Étiquetage automatique",
92
+ "DAILYTAG": "essais aujourd'hui",
93
+ "MONTHTAG": "essais ce mois-ci",
94
+ "GLOBALTAG": "essais",
95
+ "REMAININGTAG": "Il vous reste",
96
+ "LANGUAGE": "Langue",
97
+ "FR": "Français",
98
+ "EN": "Anglais",
99
+ "ES": "Espagnol",
100
+ "MERGEKEYWORDS": "Fusionner les mots-clés",
101
+ "REPLACEKEYWORDS": "Remplacer les mots-clés",
102
+ "SKIPKEYWORDS": "Passer les images possédant des mots-clés",
103
+ "TAGGEDIMAGES": "{{count}} images ont été taguées",
104
+ "UNCHANGEDIMAGES": "{{count}} images sont restées inchangées",
105
+ "LIMITREACHEDTAG": "Vous avez atteint la limite d'étiquetage automatique que vous pouvez faire. Contactez SolidPepper pour en obtenir plus.",
106
+ "ONEASSETSELECTEDFORPROFILE": "Vous êtes sur le point de redimensionner l'image avec un profil média.",
107
+ "MANYASSETSELECTEDFORPROFILE": "Vous êtes sur le point de redimensionner plusieurs images avec un profil média.",
108
+ "ONEFOLDERSELECTEDFORPROFILE": "Vous êtes sur le point de redimensionner le dossier avec un profil média.",
109
+ "REUCRSIVEFOLDERPROFILEASSET": "Inclure tous les sous-dossiers",
110
+ "ASSIGNSELECTIONS": "Assigner à une sélection",
111
+ "SELECTION": "Sélection",
112
+ "ONEASSETSELECTEDFORSELECTION": "Vous êtes sur le point d'assigner une image à une sélection.",
113
+ "MANYASSETSELECTEDFORSELECTION": "Vous êtes sur le point d'assigner plusieurs images à une sélection.",
114
+ "ONEFOLDERSELECTEDFORSELECTION": "Vous êtes sur le point d'assigner un dossier à une sélection.",
115
+ "MODEASSETSSELECTION": "Mode",
116
+ "CREATEASSETSSELECTION": "Créer une sélection",
117
+ "EXISSTASSETSSELECTION": "Ajouter à une sélection existante",
118
+ "ASSETSSELECTIONNAME": "Nom de la sélection",
119
+ "ASSETSSELECTIONFORMATSIZENAME": "Taille / Format",
120
+ "PROFILE": "Profil média",
121
+ "ASSIGNTEAMS": "Assigner à une équipe",
122
+ "COPYFOLDERGUID": "Copier ID dans le presse papier",
123
+ "NOASSETLIST": "Pas de médias",
124
+ "REPLACE": "Remplacer",
125
+ "NEW": "Nouveau",
126
+ "EXPORT": "Exporter",
127
+ "LINKEDTO": "Lié à",
128
+ "TOTALSUBFOLDERSINFOLDER": "Sous-dossiers",
129
+ "TOTALASSETSINFOLDER": "Médias",
130
+ "DOCUMENTS": "Documents",
131
+ "TEMPLATES": "Templates",
132
+ "PROPERTIES": "Propriétés",
133
+ "GENERATE": "Générer",
134
+ "ATTRIBUTES": "Attributs",
135
+ "EXCEL": "Templates Excel",
136
+ "SEARCHINPROGRESS": "Recherche en cours...",
137
+ "REMOVEBACKGROUND": "Supprimer le fond",
138
+ "REMOVEBACKGROUNDCONFIRMATION": "Si vous confirmez, le fond de l'image sélectionnée sera supprimé.",
139
+ "REMOVEBACKGROUNDINPROGRESS": "Suppression du fond en cours...",
140
+ "REMOVEBACKGROUNDDONE": "Le fond a été supprimé avec succès.",
141
+ "REMOVEBACKGROUNDCANCEL": "Annuler modifications",
142
+ "REMOVEBACKGROUNDRESTOREORIGINAL": "Vous avez déjà supprimé le fond de cette image. Voulez-vous restaurer l'original ?",
143
+ "REMOVEBACKGROUNDERROR": "Une erreur est survenue lors de la suppression du fond.",
144
+ "RESTOREORIGINAL": "Restaurer l'original",
145
+ "RESTORECONFIRMATION": "Si vous confirmez, l'image originale sera restaurée.",
146
+ "PROTECTED": "Confidentiel",
147
+ "PROTECT": "Marquer comme confidentiel",
148
+ "PROTECTEDTITLE": "Définir en confidentiel un ensemble d'assets",
149
+ "WARNINGPROTECTED": "Vous êtes sur le point de protéger des assets ou tout un dossier, les liens originaux ne seront plus accessibles directement et un lien unique vous sera fourni dans la détail de l'asset.",
150
+ "UNPROTECT": "Marquer comme non confidentiel"
151
+ }
152
+ },
2
153
  "PROPERTIES": {
3
154
  "OBJECTS": {
4
155
  "TITLE": "Objets",
@@ -266,6 +417,20 @@
266
417
  "TAB_FILTERS": "Filtres",
267
418
  "ROTATION": "Rotation",
268
419
  "CROP_HINT": "Ajustez le cadre de rognage ou appliquez des filtres",
420
+ "LINK_ASSET": "Relier à un asset",
421
+ "CHANGE_ASSET": "Changer image",
422
+ "REFRESH_THUMBNAIL": "Rafraîchir",
423
+ "REFRESH_SUCCESS": "Image mise à jour !",
424
+ "REFRESH_ERROR": "Erreur lors du rafraîchissement.",
425
+ "REMOVE_LINK": "Supprimer lien",
426
+ "ASSET_LINKED": "Image reliée à un asset",
427
+ "SIZE_WARNING": {
428
+ "TITLE": "Image trop volumineuse",
429
+ "MESSAGE": "L'image que vous tentez d'importer fait <strong>{{actualSize}}</strong>, ce qui dépasse la limite conseillée de {{limit}} {{unit}}.",
430
+ "COMPRESS": "Compresser (< {{limit}} {{unit}})",
431
+ "TIP": "Astuce : Pour ne pas perdre en qualité, nous vous conseillons de passer par une image de type asset.",
432
+ "CANCEL": "Annuler"
433
+ },
269
434
  "PASTE": {
270
435
  "TITLE": "Grande image détectée",
271
436
  "MESSAGE": "L'image que vous collez dépasse la taille du canvas ({{width}}x{{height}}). Souhaitez-vous la réduire ou conserver sa taille originale ?",
@@ -276,7 +441,7 @@
276
441
  "DYNAMIC_IMAGE": {
277
442
  "TITLE": "Image dynamique",
278
443
  "TRANSFORM_STATIC": "Transformer en image statique",
279
- "IMPORT_FROM_DEVICE": "Importer depuis l'appareil (max 1mo)",
444
+ "IMPORT_FROM_DEVICE": "Importer depuis l'appareil (max {{limit}} {{unit}})",
280
445
  "SELECT_ASSET": "Sélectionner un asset",
281
446
  "DATA_FIELD": "Champ de données",
282
447
  "IMAGE_NUMBER": "Numéro de l'image"
@@ -346,7 +511,7 @@
346
511
  },
347
512
  "CONTEXT_BAR": {
348
513
  "CHANGE_IMAGE": "Changer l'image",
349
- "SELECT_IMAGE_PC": "Importer depuis l'ordinateur",
514
+ "SELECT_IMAGE_PC": "Importer depuis l'ordinateur (max {{limit}} {{unit}})",
350
515
  "CHANGE_TO_DYNAMIC": "Convertir en image dynamique",
351
516
  "ADD_DYNAMIC_ATTR": "Ajouter un attribut dynamique",
352
517
  "CLONE": "Cloner",
@@ -526,4 +691,4 @@
526
691
  "MESSAGE": "SolidDesigner n'est pas encore disponible sur Safari.",
527
692
  "SUGGESTION": "Veuillez utiliser Chrome ou Firefox pour une expérience optimale."
528
693
  }
529
- }
694
+ }
@@ -0,0 +1 @@
1
+ import{a as t}from"./chunk-TOQU4CNM.js";import{f as d}from"./chunk-KMNI2D3U.js";var u=class{static compressImage(r,g=800,c=800,f=.7){return d(this,null,function*(){t.info("[ImageUtils] Starting compression for:",typeof r=="string"?r.substring(0,100):r.name||"Blob");try{let n=r;if(typeof r=="string"&&!r.startsWith("data:")){t.info("[ImageUtils] Fetching remote image...");let l=yield fetch(r);if(!l.ok)throw new Error(`HTTP error! status: ${l.status}`);n=yield l.blob(),t.info("[ImageUtils] Fetch successful, got blob of size:",n.size)}return new Promise((l,m)=>{t.info("[ImageUtils] Loading into Image object...");let i=new Image,o=null;i.onload=()=>{t.info("[ImageUtils] Image loaded. Natural size:",i.naturalWidth,"x",i.naturalHeight);try{let e=document.createElement("canvas"),s=i.width,a=i.height;s>a?s>g&&(a=Math.round(a*g/s),s=g):a>c&&(s=Math.round(s*c/a),a=c),e.width=s,e.height=a,t.info("[ImageUtils] Target canvas size:",s,"x",a);let U=e.getContext("2d");if(!U)throw new Error("Could not get canvas context");U.drawImage(i,0,0,s,a),t.info("[ImageUtils] Exporting to DataURL (Webp)...");let h=e.toDataURL("image/webp",f);t.info("[ImageUtils] Compression complete. Final Base64 length:",h.length),o&&URL.revokeObjectURL(o),l(h)}catch(e){t.error("[ImageUtils] Error during canvas processing:",e),o&&URL.revokeObjectURL(o),m(new Error(`Compression failed: ${e instanceof Error?e.message:"Unknown"}`))}},i.onerror=e=>{t.error("[ImageUtils] Image load error:",e),o&&URL.revokeObjectURL(o);let s=typeof r=="string"?r.length>50?r.substring(0,50)+"...":r:"File";m(new Error(`Failed to load image: ${s}`))},typeof n=="string"?i.src=n:(o=URL.createObjectURL(n),i.src=o)})}catch(n){throw t.error("[ImageUtils] Critical error in compressImage:",n),new Error(`Failed to import image: ${n instanceof Error?n.message:"Network error"}`)}})}static compressUntilSize(r,g=100){return d(this,null,function*(){let c=g*1024,f=[1e3,800,600,400],n=[.8,.6,.4,.2],l="";for(let m of f)for(let i of n){t.info(`[ImageUtils] Attempting compression: ${m}px, quality ${i}`);let o=yield this.compressImage(r,m,m,i),e=(o.length-(o.indexOf(",")+1))*.75;if(t.info(`[ImageUtils] Result size: ${Math.round(e/1024)}kb`),l=o,e<=c)return t.info(`[ImageUtils] Target reached: ${Math.round(e/1024)}kb`),o}return t.warn(`[ImageUtils] Could not reach target ${g}kb. Returning smallest result found.`),l})}};export{u as ImageUtils};
@@ -0,0 +1 @@
1
+ import{$ as c,$a as ca,$b as cb,$c as cc,$d as cd,$e as ce,$f as cf,$g as dg,$h as dh,$i as di,Aa as D,Ab as Da,Ac as Db,Ad as Dc,Ae as Dd,Af as De,Ag as Ef,Ah as Eg,Ai as Eh,Ba as E,Bb as Ea,Bc as Eb,Bd as Ec,Be as Ed,Bf as Ee,Bg as Ff,Bh as Fg,Bi as Fh,Ca as F,Cb as Fa,Cc as Fb,Cd as Fc,Ce as Fd,Cf as Fe,Cg as Gf,Ch as Gg,Ci as Gh,Da as G,Db as Ga,Dc as Gb,Dd as Gc,De as Gd,Df as Ge,Dg as Hf,Dh as Hg,Di as Hh,Ea as H,Eb as Ha,Ec as Hb,Ed as Hc,Ee as Hd,Ef as He,Eg as If,Eh as Ig,Ei as Ih,Fa as I,Fb as Ia,Fc as Ib,Fd as Ic,Fe as Id,Ff as Ie,Fg as Jf,Fh as Jg,Fi as Jh,Ga as J,Gb as Ja,Gc as Jb,Gd as Jc,Ge as Jd,Gf as Je,Gg as Kf,Gh as Kg,Gi as Kh,Ha as K,Hb as Ka,Hc as Kb,Hd as Kc,He as Kd,Hf as Ke,Hg as Lf,Hh as Lg,Hi as Lh,Ia as L,Ib as La,Ic as Lb,Id as Lc,Ie as Ld,If as Le,Ig as Mf,Ih as Mg,Ii as Mh,Ja as M,Jb as Ma,Jc as Mb,Jd as Mc,Je as Md,Jf as Me,Jg as Nf,Jh as Ng,Ji as Nh,Ka as N,Kb as Na,Kc as Nb,Kd as Nc,Ke as Nd,Kf as Ne,Kg as Of,Kh as Og,Ki as Oh,La as O,Lb as Oa,Lc as Ob,Ld as Oc,Le as Od,Lf as Oe,Lg as Pf,Lh as Pg,Li as Ph,Ma as P,Mb as Pa,Mc as Pb,Md as Pc,Me as Pd,Mf as Pe,Mg as Qf,Mh as Qg,Mi as Qh,Na as Q,Nb as Qa,Nc as Qb,Nd as Qc,Ne as Qd,Nf as Qe,Ng as Rf,Nh as Rg,Ni as Rh,Oa as R,Ob as Ra,Oc as Rb,Od as Rc,Oe as Rd,Of as Re,Og as Sf,Oh as Sg,Oi as Sh,Pa as S,Pb as Sa,Pc as Sb,Pd as Sc,Pe as Sd,Pf as Se,Pg as Tf,Ph as Tg,Pi as Th,Qa as T,Qb as Ta,Qc as Tb,Qd as Tc,Qe as Td,Qf as Te,Qg as Uf,Qh as Ug,Qi as Uh,Ra as U,Rb as Ua,Rc as Ub,Rd as Uc,Re as Ud,Rf as Ue,Rg as Vf,Rh as Vg,Ri as Vh,Sa as V,Sb as Va,Sc as Vb,Sd as Vc,Se as Vd,Sf as Ve,Sg as Wf,Sh as Wg,Si as Wh,Ta as W,Tb as Wa,Tc as Wb,Td as Wc,Te as Wd,Tf as We,Tg as Xf,Th as Xg,Ti as Xh,Ua as X,Ub as Xa,Uc as Xb,Ud as Xc,Ue as Xd,Uf as Xe,Ug as Yf,Uh as Yg,Ui as Yh,Va as Y,Vb as Ya,Vc as Yb,Vd as Yc,Ve as Yd,Vf as Ye,Vg as Zf,Vh as Zg,Vi as Zh,Wa as Z,Wb as Za,Wc as Zb,Wd as Zc,We as Zd,Wf as Ze,Wg as _f,Wh as _g,Wi as _h,Xa as _,Xb as _a,Xc as _b,Xd as _c,Xe as _d,Xf as _e,Xg as $f,Xh as $g,Xi as $h,Ya as $,Yb as $a,Yc as $b,Yd as $c,Ye as $d,Yf as $e,Yg as ag,Yh as ah,Yi as ai,Za as aa,Zb as ab,Zc as ac,Zd as ad,Ze as ae,Zf as af,Zg as bg,Zh as bh,Zi as bi,_a as ba,_b as bb,_c as bc,_d as bd,_e as be,_f as bf,_g as cg,_h as ch,_i as ci,aa as d,ab as da,ac as db,ad as dc,ae as dd,af as de,ag as df,ah as eg,ai as eh,aj as ei,ba as e,bb as ea,bc as eb,bd as ec,be as ed,bf as ee,bg as ef,bh as fg,bi as fh,bj as fi,ca as f,cb as fa,cc as fb,cd as fc,ce as fd,cf as fe,cg as ff,ch as gg,ci as gh,cj as gi,da as g,db as ga,dc as gb,dd as gc,de as gd,df as ge,dg as gf,dh as hg,di as hh,dj as hi,ea as h,eb as ha,ec as hb,ed as hc,ee as hd,ef as he,eg as hf,eh as ig,ei as ih,ej as ii,fa as i,fb as ia,fc as ib,fd as ic,fe as id,ff as ie,fg as jf,fh as jg,fi as jh,fj as ji,g as a,ga as j,gb as ja,gc as jb,gd as jc,ge as jd,gf as je,gg as kf,gh as kg,gi as kh,gj as ki,h as b,ha as k,hb as ka,hc as kb,hd as kc,he as kd,hf as ke,hg as lf,hh as lg,hi as lh,ia as l,ib as la,ic as lb,id as lc,ie as ld,if as le,ig as mf,ih as mg,ii as mh,ja as m,jb as ma,jc as mb,jd as mc,je as md,jf as me,jg as nf,jh as ng,ji as nh,ka as n,kb as na,kc as nb,kd as nc,ke as nd,kf as ne,kg as of,kh as og,ki as oh,la as o,lb as oa,lc as ob,ld as oc,le as od,lf as oe,lg as pf,lh as pg,li as ph,ma as p,mb as pa,mc as pb,md as pc,me as pd,mf as pe,mg as qf,mh as qg,mi as qh,na as q,nb as qa,nc as qb,nd as qc,ne as qd,nf as qe,ng as rf,nh as rg,ni as rh,oa as r,ob as ra,oc as rb,od as rc,oe as rd,of as re,og as sf,oh as sg,oi as sh,pa as s,pb as sa,pc as sb,pd as sc,pe as sd,pf as se,pg as tf,ph as tg,pi as th,qa as t,qb as ta,qc as tb,qd as tc,qe as td,qf as te,qg as uf,qh as ug,qi as uh,ra as u,rb as ua,rc as ub,rd as uc,re as ud,rf as ue,rg as vf,rh as vg,ri as vh,sa as v,sb as va,sc as vb,sd as vc,se as vd,sf as ve,sg as wf,sh as wg,si as wh,ta as w,tb as wa,tc as wb,td as wc,te as wd,tf as we,tg as xf,th as xg,ti as xh,ua as x,ub as xa,uc as xb,ud as xc,ue as xd,uf as xe,ug as yf,uh as yg,ui as yh,va as y,vb as ya,vc as yb,vd as yc,ve as yd,vf as ye,vg as zf,vh as zg,vi as zh,wa as z,wb as za,wc as zb,wd as zc,we as zd,wf as ze,wg as Af,wh as Ag,wi as Ah,xa as A,xb as Aa,xc as Ab,xd as Ac,xe as Ad,xf as Ae,xg as Bf,xh as Bg,xi as Bh,ya as B,yb as Ba,yc as Bb,yd as Bc,ye as Bd,yf as Be,yg as Cf,yh as Cg,yi as Ch,za as C,zb as Ca,zc as Cb,zd as Cc,ze as Cd,zf as Ce,zg as Df,zh as Dg,zi as Dh}from"./chunk-KMNI2D3U.js";export{Ta as ANIMATION_MODULE_TYPE,nd as APP_BOOTSTRAP_LISTENER,Pa as APP_ID,kd as APP_INITIALIZER,md as ApplicationInitStatus,Gh as ApplicationModule,qd as ApplicationRef,Ba as Attribute,tg as COMPILER_OPTIONS,Ua as CSP_NONCE,ib as CUSTOM_ELEMENTS_SCHEMA,Fa as ChangeDetectionStrategy,wh as ChangeDetectorRef,sg as Compiler,ug as CompilerFactory,kg as Component,cc as ComponentFactory,dc as ComponentFactoryResolver,bc as ComponentRef,eh as ContentChild,dh as ContentChildren,Bg as DEFAULT_CURRENCY_CODE,ba as DOCUMENT,Ig as DebugElement,Fg as DebugEventListener,Hg as DebugNode,Ah as DefaultIterableDiffer,ca as DestroyRef,jg as Directive,G as ENVIRONMENT_INITIALIZER,Da as ElementRef,zh as EmbeddedViewRef,O as EnvironmentInjector,da as ErrorHandler,Tb as EventEmitter,Wg as HOST_TAG_NAME,ua as Host,Vg as HostAttributeToken,og as HostBinding,pg as HostListener,H as INJECTOR,qa as Inject,Ca as Injectable,u as InjectionToken,aa as Injector,mg as Input,Bh as IterableDiffers,Ch as KeyValueDiffers,Ag as LOCALE_ID,Sd as MAX_ANIMATION_TIMEOUT,Eg as MissingTranslationStrategy,rg as ModuleWithComponentFactories,jb as NO_ERRORS_SCHEMA,qg as NgModule,Bc as NgModuleFactory,Ac as NgModuleRef,pd as NgProbeToken,Ub as NgZone,ra as Optional,ng as Output,Kg as OutputEmitterRef,Sa as PACKAGE_ROOT_URL,Ra as PLATFORM_ID,Qa as PLATFORM_INITIALIZER,na as PendingTasks,lg as Pipe,jh as PlatformRef,ch as Query,Ea as QueryList,ii as REQUEST,ki as REQUEST_CONTEXT,ji as RESPONSE_INIT,fc as Renderer2,ec as RendererFactory2,Ob as RendererStyleFlags2,gc as Sanitizer,yb as SecurityContext,sa as Self,xa as SimpleChange,ta as SkipSelf,Cg as TRANSLATIONS,Dg as TRANSLATIONS_FORMAT,ac as TemplateRef,fd as Testability,gd as TestabilityRegistry,Ya as TransferState,va as Type,e as VERSION,d as Version,gh as ViewChild,fh as ViewChildren,tc as ViewContainerRef,hb as ViewEncapsulation,yh as ViewRef,Xb as afterEveryRender,Yb as afterNextRender,ei as afterRenderEffect,Gg as asNativeElements,R as assertInInjectionContext,ja as assertNotInReactiveContext,mh as assertPlatform,Oh as booleanAttribute,Ng as computed,$g as contentChild,ah as contentChildren,fi as createComponent,Gc as createEnvironmentInjector,Cc as createNgModule,Dc as createNgModuleRef,kh as createPlatform,lh as createPlatformFactory,o as defineInjectable,oh as destroyPlatform,Og as effect,th as enableProdMode,ad as enableProfiling,l as forwardRef,Jg as getDebugNode,uh as getModuleFactory,vh as getNgModuleById,nh as getPlatform,M as importProvidersFrom,E as inject,Yg as input,nc as inputBinding,sh as isDevMode,ga as isSignal,J as isStandalone,Pg as linkedSignal,K as makeEnvironmentProviders,Xa as makeStateKey,hi as mergeApplicationConfig,bh as model,Ph as numberAttribute,Xg as output,oc as outputBinding,Fh as platformCore,ld as provideAppInitializer,fa as provideBrowserGlobalErrorListeners,rh as provideCheckNoChangesConfig,L as provideEnvironmentInitializer,Ib as provideNgReflectAttributes,qh as providePlatformInitializer,xg as provideZoneChangeDetection,zg as provideZonelessChangeDetection,gi as reflectComponentType,m as resolveForwardRef,Qg as resource,Q as runInInjectionContext,hd as setTestabilityGetter,ia as signal,pc as twoWayBinding,Mg as untracked,Zg as viewChild,_g as viewChildren,Rd as \u0275ANIMATIONS_DISABLED,Ka as \u0275AcxChangeDetectionStrategy,La as \u0275AcxViewEncapsulation,Wb as \u0275AfterRenderManager,Kh as \u0275CLIENT_RENDER_MODE_FLAG,S as \u0275CONTAINER_HEADER_OFFSET,ka as \u0275ChangeDetectionScheduler,yg as \u0275ChangeDetectionSchedulerImpl,cc as \u0275ComponentFactory,_c as \u0275Console,ze as \u0275DEFAULT_LOCALE_ID,Uc as \u0275DEFER_BLOCK_CONFIG,Tc as \u0275DEFER_BLOCK_DEPENDENCY_INTERCEPTOR,cb as \u0275DEHYDRATED_BLOCK_REGISTRY,Rc as \u0275DeferBlockBehavior,Qc as \u0275DeferBlockState,ih as \u0275ENABLE_ROOT_COMPONENT_BOOTSTRAP,oa as \u0275EffectScheduler,Ja as \u0275Framework,eb as \u0275HydrationStatus,Wa as \u0275IMAGE_CONFIG,Va as \u0275IMAGE_CONFIG_DEFAULTS,N as \u0275INJECTOR_SCOPE,Tg as \u0275INPUT_SIGNAL_BRAND_WRITE_TYPE,ea as \u0275INTERNAL_APPLICATION_ERROR_HANDLER,ab as \u0275IS_ENABLED_BLOCKING_INITIAL_NAVIGATION,Za as \u0275IS_HYDRATION_DOM_REUSE_ENABLED,_a as \u0275IS_INCREMENTAL_HYDRATION_ENABLED,$a as \u0275JSACTION_BLOCK_ELEMENT_MAP,bb as \u0275JSACTION_EVENT_CONTRACT,Ga as \u0275LContext,ye as \u0275LocaleDataIndex,x as \u0275NG_COMP_DEF,y as \u0275NG_DIR_DEF,B as \u0275NG_ELEMENT_ID,t as \u0275NG_INJ_DEF,A as \u0275NG_MOD_DEF,z as \u0275NG_PIPE_DEF,s as \u0275NG_PROV_DEF,jc as \u0275NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR,Mb as \u0275NO_CHANGE,Fc as \u0275NgModuleFactory,Vb as \u0275NoopNgZone,Qh as \u0275PERFORMANCE_MARK_PREFIX,vg as \u0275PROVIDED_NG_ZONE,ma as \u0275PendingTasksInternal,P as \u0275R3Injector,wa as \u0275ReflectionCapabilities,rc as \u0275Render3ComponentFactory,sc as \u0275Render3ComponentRef,Ec as \u0275Render3NgModuleRef,Rg as \u0275ResourceImpl,g as \u0275RuntimeError,b as \u0275SIGNAL,db as \u0275SSR_CONTENT_INTEGRITY_MARKER,dd as \u0275TESTABILITY,ed as \u0275TESTABILITY_GETTER,Sc as \u0275TimerScheduler,Qb as \u0275TracingAction,Rb as \u0275TracingService,Zb as \u0275ViewRef,f as \u0275XSS_SECURITY_URL,la as \u0275ZONELESS_ENABLED,xb as \u0275_sanitizeHtml,wb as \u0275_sanitizeUrl,Pb as \u0275allLeavingAnimations,pb as \u0275allowSanitizationBypassAndThrow,Jh as \u0275annotateForHydration,Wh as \u0275assertType,rb as \u0275bypassSanitizationTrustHtml,vb as \u0275bypassSanitizationTrustResourceUrl,tb as \u0275bypassSanitizationTrustScript,sb as \u0275bypassSanitizationTrustStyle,ub as \u0275bypassSanitizationTrustUrl,wc as \u0275clearResolutionOfComponentResourcesQueue,gg as \u0275compileComponent,hg as \u0275compileDirective,ag as \u0275compileNgModule,bg as \u0275compileNgModuleDefs,hh as \u0275compileNgModuleFactory,ig as \u0275compilePipe,F as \u0275convertToBitFlags,$ as \u0275createInjector,ph as \u0275createOrReusePlatformInjector,Dh as \u0275defaultIterableDiffers,Eh as \u0275defaultKeyValueDiffers,ic as \u0275depsTracker,mc as \u0275devModeEqual,Uh as \u0275disableProfiling,Th as \u0275enableProfiling,Sg as \u0275encapsulateResourceError,ue as \u0275findLocaleData,$f as \u0275flushModuleScopingQueueAsMuchAsPossible,h as \u0275formatRuntimeError,cg as \u0275generateStandaloneInDeclarationsError,Xc as \u0275getAsyncClassMetadataFn,Vh as \u0275getClosestComponentName,I as \u0275getComponentDef,Jg as \u0275getDebugNode,$c as \u0275getDeferBlocks,Ia as \u0275getDirectives,Oa as \u0275getDocument,Ma as \u0275getHostElement,q as \u0275getInjectableDef,Ha as \u0275getLContext,ve as \u0275getLocaleCurrencyCode,we as \u0275getLocalePluralCase,Lg as \u0275getOutputDestroyRef,qb as \u0275getSanitizationBypassType,bd as \u0275getTransferState,lb as \u0275getUnknownElementStrictMode,nb as \u0275getUnknownPropertyStrictMode,i as \u0275global,qc as \u0275inferTagNameFromDefinition,xh as \u0275injectChangeDetectorRef,Hh as \u0275internalCreateApplication,wg as \u0275internalProvideZoneChangeDetection,od as \u0275isBoundToModule,vc as \u0275isComponentDefPendingResolution,w as \u0275isEnvironmentProviders,r as \u0275isInjectable,hc as \u0275isNgModule,id as \u0275isPromise,jd as \u0275isSubscribable,_b as \u0275isViewDirty,$b as \u0275markForRefresh,pa as \u0275noSideEffects,eg as \u0275patchComponentDefWithScope,Sb as \u0275performanceMarkFeature,cd as \u0275publishExternalGlobalUtil,fb as \u0275readHydrationInfo,te as \u0275registerLocaleData,Vc as \u0275renderDeferBlockState,dg as \u0275resetCompiledComponents,gb as \u0275resetIncrementalHydrationEnabledWarnedForTests,_f as \u0275resetJitOptions,uc as \u0275resolveComponentResources,xc as \u0275restoreComponentResolutionQueue,zc as \u0275setAllowDuplicateNgModuleIdsForTest,c as \u0275setAlternateWeakRefImpl,Xf as \u0275setClassDebugInfo,Zc as \u0275setClassMetadata,Yc as \u0275setClassMetadataAsync,a as \u0275setCurrentInjector,Na as \u0275setDocument,v as \u0275setInjectorProfilerContext,Ae as \u0275setLocaleId,kb as \u0275setUnknownElementStrictMode,mb as \u0275setUnknownPropertyStrictMode,Rh as \u0275startMeasuring,Sh as \u0275stopMeasuring,T as \u0275store,j as \u0275stringify,fg as \u0275transitiveScopesFor,rd as \u0275triggerResourceLoading,k as \u0275truncateMiddle,xe as \u0275unregisterLocaleData,ob as \u0275unwrapSafeValue,ha as \u0275unwrapWritableSignal,Lh as \u0275withDomHydration,Ih as \u0275withEventReplay,Mh as \u0275withI18nSupport,Nh as \u0275withIncrementalHydration,Mc as \u0275\u0275CopyDefinitionFeature,Cf as \u0275\u0275ExternalStylesFeature,Ug as \u0275\u0275FactoryTarget,Nc as \u0275\u0275HostDirectivesFeature,Lc as \u0275\u0275InheritDefinitionFeature,ya as \u0275\u0275NgOnChangesFeature,Bf as \u0275\u0275ProvidersFeature,Nb as \u0275\u0275advance,Td as \u0275\u0275animateEnter,Ud as \u0275\u0275animateEnterListener,Vd as \u0275\u0275animateLeave,Wd as \u0275\u0275animateLeaveListener,Pd as \u0275\u0275ariaProperty,qf as \u0275\u0275attachSourceLocations,Qd as \u0275\u0275attribute,Ze as \u0275\u0275classMap,Xe as \u0275\u0275classProp,Xd as \u0275\u0275componentInstance,_d as \u0275\u0275conditional,Zd as \u0275\u0275conditionalBranchCreate,Yd as \u0275\u0275conditionalCreate,Oe as \u0275\u0275contentQuery,Se as \u0275\u0275contentQuerySignal,nf as \u0275\u0275declareLet,sd as \u0275\u0275defer,Wc as \u0275\u0275deferEnableTimerScheduling,wd as \u0275\u0275deferHydrateNever,Id as \u0275\u0275deferHydrateOnHover,zd as \u0275\u0275deferHydrateOnIdle,Cd as \u0275\u0275deferHydrateOnImmediate,Ld as \u0275\u0275deferHydrateOnInteraction,Fd as \u0275\u0275deferHydrateOnTimer,Od as \u0275\u0275deferHydrateOnViewport,vd as \u0275\u0275deferHydrateWhen,Gd as \u0275\u0275deferOnHover,xd as \u0275\u0275deferOnIdle,Ad as \u0275\u0275deferOnImmediate,Jd as \u0275\u0275deferOnInteraction,Dd as \u0275\u0275deferOnTimer,Md as \u0275\u0275deferOnViewport,Hd as \u0275\u0275deferPrefetchOnHover,yd as \u0275\u0275deferPrefetchOnIdle,Bd as \u0275\u0275deferPrefetchOnImmediate,Kd as \u0275\u0275deferPrefetchOnInteraction,Ed as \u0275\u0275deferPrefetchOnTimer,Nd as \u0275\u0275deferPrefetchOnViewport,ud as \u0275\u0275deferPrefetchWhen,td as \u0275\u0275deferWhen,Hc as \u0275\u0275defineComponent,Jc as \u0275\u0275defineDirective,n as \u0275\u0275defineInjectable,p as \u0275\u0275defineInjector,Ic as \u0275\u0275defineNgModule,Kc as \u0275\u0275definePipe,kc as \u0275\u0275directiveInject,V as \u0275\u0275disableBindings,je as \u0275\u0275domElement,pe as \u0275\u0275domElementContainer,oe as \u0275\u0275domElementContainerEnd,ne as \u0275\u0275domElementContainerStart,ie as \u0275\u0275domElementEnd,he as \u0275\u0275domElementStart,Ke as \u0275\u0275domListener,re as \u0275\u0275domProperty,Pc as \u0275\u0275domTemplate,ge as \u0275\u0275element,me as \u0275\u0275elementContainer,le as \u0275\u0275elementContainerEnd,ke as \u0275\u0275elementContainerStart,fe as \u0275\u0275elementEnd,ee as \u0275\u0275elementStart,U as \u0275\u0275enableBindings,Wf as \u0275\u0275getComponentDepsFactory,qe as \u0275\u0275getCurrentView,za as \u0275\u0275getInheritedFactory,Yf as \u0275\u0275getReplaceMetadataURL,De as \u0275\u0275i18n,Ge as \u0275\u0275i18nApply,Ee as \u0275\u0275i18nAttributes,Ce as \u0275\u0275i18nEnd,Fe as \u0275\u0275i18nExp,He as \u0275\u0275i18nPostprocess,Be as \u0275\u0275i18nStart,C as \u0275\u0275inject,Aa as \u0275\u0275injectAttribute,rf as \u0275\u0275interpolate,sf as \u0275\u0275interpolate1,tf as \u0275\u0275interpolate2,uf as \u0275\u0275interpolate3,vf as \u0275\u0275interpolate4,wf as \u0275\u0275interpolate5,xf as \u0275\u0275interpolate6,yf as \u0275\u0275interpolate7,zf as \u0275\u0275interpolate8,Af as \u0275\u0275interpolateV,lc as \u0275\u0275invalidFactory,D as \u0275\u0275invalidFactoryDep,Ie as \u0275\u0275listener,Re as \u0275\u0275loadQuery,_ as \u0275\u0275namespaceHTML,Z as \u0275\u0275namespaceMathML,Y as \u0275\u0275namespaceSVG,Le as \u0275\u0275nextContext,Yh as \u0275\u0275ngDeclareClassMetadata,Zh as \u0275\u0275ngDeclareClassMetadataAsync,_h as \u0275\u0275ngDeclareComponent,Xh as \u0275\u0275ngDeclareDirective,$h as \u0275\u0275ngDeclareFactory,ai as \u0275\u0275ngDeclareInjectable,bi as \u0275\u0275ngDeclareInjector,ci as \u0275\u0275ngDeclareNgModule,di as \u0275\u0275ngDeclarePipe,Pf as \u0275\u0275pipe,Qf as \u0275\u0275pipeBind1,Rf as \u0275\u0275pipeBind2,Sf as \u0275\u0275pipeBind3,Tf as \u0275\u0275pipeBind4,Uf as \u0275\u0275pipeBindV,Ne as \u0275\u0275projection,Me as \u0275\u0275projectionDef,de as \u0275\u0275property,Ff as \u0275\u0275pureFunction0,Gf as \u0275\u0275pureFunction1,Hf as \u0275\u0275pureFunction2,If as \u0275\u0275pureFunction3,Jf as \u0275\u0275pureFunction4,Kf as \u0275\u0275pureFunction5,Lf as \u0275\u0275pureFunction6,Mf as \u0275\u0275pureFunction7,Nf as \u0275\u0275pureFunction8,Of as \u0275\u0275pureFunctionV,Ue as \u0275\u0275queryAdvance,Qe as \u0275\u0275queryRefresh,pf as \u0275\u0275readContextLet,Ve as \u0275\u0275reference,yc as \u0275\u0275registerNgModuleType,ce as \u0275\u0275repeater,be as \u0275\u0275repeaterCreate,ae as \u0275\u0275repeaterTrackByIdentity,$d as \u0275\u0275repeaterTrackByIndex,Zf as \u0275\u0275replaceMetadata,X as \u0275\u0275resetView,Lb as \u0275\u0275resolveBody,Kb as \u0275\u0275resolveDocument,Jb as \u0275\u0275resolveWindow,W as \u0275\u0275restoreView,zb as \u0275\u0275sanitizeHtml,Cb as \u0275\u0275sanitizeResourceUrl,Db as \u0275\u0275sanitizeScript,Ab as \u0275\u0275sanitizeStyle,Bb as \u0275\u0275sanitizeUrl,Gb as \u0275\u0275sanitizeUrlOrResourceUrl,Df as \u0275\u0275setComponentScope,Ef as \u0275\u0275setNgModuleScope,of as \u0275\u0275storeLet,Ye as \u0275\u0275styleMap,We as \u0275\u0275styleProp,Je as \u0275\u0275syntheticHostListener,se as \u0275\u0275syntheticHostProperty,Oc as \u0275\u0275template,Vf as \u0275\u0275templateRefExtractor,_e as \u0275\u0275text,$e as \u0275\u0275textInterpolate,af as \u0275\u0275textInterpolate1,bf as \u0275\u0275textInterpolate2,cf as \u0275\u0275textInterpolate3,df as \u0275\u0275textInterpolate4,ef as \u0275\u0275textInterpolate5,ff as \u0275\u0275textInterpolate6,gf as \u0275\u0275textInterpolate7,hf as \u0275\u0275textInterpolate8,jf as \u0275\u0275textInterpolateV,Eb as \u0275\u0275trustConstantHtml,Fb as \u0275\u0275trustConstantResourceUrl,lf as \u0275\u0275twoWayBindingSet,mf as \u0275\u0275twoWayListener,kf as \u0275\u0275twoWayProperty,Hb as \u0275\u0275validateAttribute,Pe as \u0275\u0275viewQuery,Te as \u0275\u0275viewQuerySignal};