File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/2G23-2-CycUfdcc.js.map
{"version":3,"file":"2G23-2-CycUfdcc.js","sources":["../../src/exercices/2e/2G23-2.js"],"sourcesContent":["import { point, tracePoint } from '../../lib/2d/points.js'\nimport { repere } from '../../lib/2d/reperes.js'\nimport { longueur, nomVecteurParPosition, segment, vecteur } from '../../lib/2d/segmentsVecteurs.js'\nimport { latexParPoint, texteParPosition } from '../../lib/2d/textes.js'\nimport { homothetie } from '../../lib/2d/transformations.js'\nimport { choice } from '../../lib/outils/arrayOutils'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { ecritureAlgebrique, ecritureParentheseSiNegatif } from '../../lib/outils/ecritures'\nimport Exercice from '../deprecatedExercice.js'\nimport { colorToLatexOrHTML, fixeBordures, mathalea2d } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const titre = 'Calculer les coordonnées d\\'un point par une translation'\nexport const dateDeModifImportante = '09/07/2023'\n\n/**\n * Calculer les coordonnées d'un point image ou antécédent d'un autre par une translation\n * @author Stéphane Guyon, Jean-Claude Lhote et Stéphan Grignon\n * Référence 2G23-2\n */\nexport const uuid = 'fa7b9'\nexport const ref = '2G23-2'\nexport default function TranslationEtCoordonnes () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.titre = titre\n this.nbQuestions = 2\n this.nbCols = 1\n this.nbColsCorr = 1\n this.sup = 1\n this.correctionDetaillee = false\n this.correctionDetailleeDisponible = true\n this.nouvelleVersion = function () {\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n\n for (let i = 0, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n let xA, yA, xB, yB, ux, uy, AbsRep, OrdRep\n const objets = []\n xA = randint(2, 8) * choice([-1, 1])\n yA = randint(2, 8) * choice([-1, 1])\n ux = randint(2, 8) * choice([-1, 1])\n uy = randint(2, 8) * choice([-1, 1])\n xB = xA + ux\n yB = yA + uy\n while (Math.abs(xB) < 2 || Math.abs(xB) > 8) { // On s'assure de choisir des points bien placés dans le repère.\n xA = randint(2, 8) * choice([-1, 1])\n ux = randint(2, 8) * choice([-1, 1])\n xB = xA + ux\n }\n while (Math.abs(yB) < 2 || Math.abs(yB) > 8) { // Idem pour les ordonnées\n yA = randint(2, 8) * choice([-1, 1])\n uy = randint(2, 8) * choice([-1, 1])\n yB = yA + uy\n }\n\n const r = repere({\n xUnite: 1,\n yUnite: 1,\n xMin: Math.min(-2, xA - 2, xB - 2, 2),\n yMin: Math.min(-2, yA - 2, yB - 2, 2),\n xMax: Math.max(-2, xA + 2, xB + 2, 2),\n yMax: Math.max(-2, yA + 2, yB + 2, 2),\n thickHauteur: 0.1,\n yLabelEcart: 0.4,\n xLabelEcart: 0.3,\n axeXStyle: '->',\n axeYStyle: '->'\n }) // On définit le repère\n const A = point(xA, yA) // On définit et on trace le point A\n const B = point(xB, yB) // On définit et on trace le point B\n const traceAetB = tracePoint(A, B, 'red') // Variable qui trace les points avec une croix\n const posLabelA = homothetie(B, A, -0.7 / longueur(A, B), '', 'center') // pour positionner les noms des points aux extrémités proprement\n const posLabelB = homothetie(A, B, -0.7 / longueur(A, B), '', 'center')\n const labelA = latexParPoint('A', posLabelA, 'red', 10, 12, '')\n const labelB = latexParPoint(\"A'\", posLabelB, 'red', 10, 12, '')\n const s = segment(A, B, 'red') // On trace en rouge [AB]\n s.styleExtremites = '->' // Variable qui transforme [AB] en vecteur\n const O = point(0, 0) // On définit et on trace le point O\n const o = texteParPosition('O', -0.3, -0.3, 'milieu', 'black', 1)\n const I = point(1, 0) // On définit sans tracer le point I\n const J = point(0, 1) // On définit sans tracer le point J\n const vi = vecteur(O, I) // Variable qui définit vecteur OI\n const vj = vecteur(O, J) // Variable qui définit vecteur OJ\n const k = vi.representant(O) // Variable qui trace [OI]\n const j = vj.representant(O) // Variable qui trace [OJ]\n s.epaisseur = 2 // Variable qui grossit le tracé du vecteur AB\n s.color = colorToLatexOrHTML('red')\n k.epaisseur = 2 // Variable qui grossit le tracé du vecteur OI\n j.epaisseur = 2 // Variable qui grossit le tracé du vecteur OJ\n const nomi = nomVecteurParPosition('i', 0.5, -0.7, 1.5, 0)\n const nomj = nomVecteurParPosition('j', -0.7, 0.5, 1.5, 0)\n const nomAB = vecteur(A, B).representantNomme(A, \"AA'\", 1.5, 'red')\n objets.push(r, traceAetB, posLabelA, posLabelB, labelA, labelB, s, o, O, I, J, vi, vj, k, j, nomi, nomj, nomAB)\n\n if (parseInt(this.sup) === 1) {\n AbsRep = xB\n OrdRep = yB\n texte = `Dans un repère orthonormé $(O\\\\,;\\\\,\\\\vec \\\\imath,\\\\,\\\\vec \\\\jmath)$, déterminer les coordonnées du point $A'$, image du point $A\\\\left(${xA}\\\\,;\\\\,${yA}\\\\right)$ par la translation de vecteur $\\\\vec{u}\\\\begin{pmatrix}${ux}\\\\\\\\${uy}\\\\end{pmatrix}$.<br>`\n\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, 2 * i, 'largeur15 inline', { texteAvant: '<br><br>Abscisse $x$ du point $A\\'$ :' })\n texte += ajouteChampTexteMathLive(this, 2 * i + 1, 'largeur15 inline', { texteAvant: '<br><br>Ordonnée $y$ du point $A\\'$ :' })\n }\n } else if (parseInt(this.sup) === 2) {\n AbsRep = xA\n OrdRep = yA\n texte = `Dans un repère orthonormé $(O\\\\,;\\\\,\\\\vec \\\\imath,\\\\,\\\\vec \\\\jmath)$, déterminer les coordonnées du point $A$, dont l'image par la translation de vecteur $\\\\vec{u}\\\\begin{pmatrix}${ux}\\\\\\\\${uy}\\\\end{pmatrix}$ est le point $A'\\\\left(${xB}\\\\,;\\\\,${yB}\\\\right)$.<br>`\n\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, 2 * i, 'largeur15 inline', { texteAvant: '<br><br>Abscisse $x$ du point $A$ :' })\n texte += ajouteChampTexteMathLive(this, 2 * i + 1, 'largeur15 inline', { texteAvant: '<br><br>Ordonnée $y$ du point $A$ :' })\n }\n }\n texteCorr = ''\n if (this.correctionDetaillee) {\n texteCorr += 'On sait d\\'après le cours que si $A\\'$ est l\\'image de $A$ par la translation de vecteur $\\\\vec{u}$, alors on a l\\'égalité : $\\\\overrightarrow{AA\\'}=\\\\vec{u}$.<br>'\n texteCorr += 'On connaît les coordonnées de $\\\\vec{u}$ avec l\\'énoncé, on calcule donc celles de $\\\\overrightarrow{AA\\'}$.<br>'\n texteCorr += 'On sait d\\'après le cours que si $A(x_A\\\\,;\\\\,y_A)$ et $B(x_B\\\\,;\\\\,y_B)$ sont deux points d\\'un repère, alors on a $\\\\overrightarrow{AB}\\\\begin{pmatrix}x_B-x_A\\\\\\\\y_B-y_A\\\\end{pmatrix}$.<br>'\n texteCorr += 'On applique ci-dessous aux données de l\\'énoncé.<br><br>'\n }\n\n if (parseInt(this.sup) === 1) {\n texteCorr += `Soit $(x\\\\,;\\\\,y)$ les coordonnées du point $A'$, on a donc $\\\\overrightarrow{AA'}\\\\begin{pmatrix}x-${ecritureParentheseSiNegatif(xA)}\\\\\\\\y-${ecritureParentheseSiNegatif(yA)}\\\\end{pmatrix}$`\n if (xA < 0 | yA < 0) {\n texteCorr += ` soit $\\\\overrightarrow{AA'}\\\\begin{pmatrix}x${ecritureAlgebrique(-xA)}\\\\\\\\y${ecritureAlgebrique(-yA)}\\\\end{pmatrix}$.<br>`\n } else {\n texteCorr += '.<br>'\n }\n texteCorr += 'Dire que $\\\\overrightarrow{AA\\'}=\\\\vec{u}$ équivaut à résoudre :<br><br>'\n texteCorr += '$\\\\left\\\\{\\\\begin{array}{l}'\n texteCorr += `x${ecritureAlgebrique(-xA)}=${ux} \\\\\\\\`\n texteCorr += `y${ecritureAlgebrique(-yA)}=${uy}`\n texteCorr += '\\\\end{array}'\n texteCorr += '\\\\right.$'\n texteCorr += '$\\\\Leftrightarrow\\\\left\\\\{\\\\begin{array}{l}'\n texteCorr += `x=${ux}${ecritureAlgebrique(xA)} \\\\\\\\`\n texteCorr += `y=${uy}${ecritureAlgebrique(yA)}`\n texteCorr += '\\\\end{array}'\n texteCorr += '\\\\right.$'\n texteCorr += '$\\\\Leftrightarrow\\\\left\\\\{\\\\begin{array}{l}'\n texteCorr += `x=${xB} \\\\\\\\`\n texteCorr += `y=${yB}`\n texteCorr += '\\\\end{array}'\n texteCorr += `\\\\right.$ soit $A'(${xB}\\\\,;\\\\,${yB})$.<br>`\n setReponse(this, 2 * i, AbsRep)\n setReponse(this, 2 * i + 1, OrdRep)\n // texteCorr += `$\\\\begin{cases}x${ecritureAlgebrique(-xA)}=${ux}\\\\\\\\y${ecritureAlgebrique(-yA)}=${uy}\\\\end{cases}$`\n // texteCorr += `$\\\\Leftrightarrow\\\\begin{cases}x=${ux}${ecritureAlgebrique(xA)}\\\\\\\\y=${uy}${ecritureAlgebrique(yA)}\\\\end{cases}$`\n // texteCorr += `$\\\\Leftrightarrow\\\\begin{cases}x=${xB}\\\\\\\\y=${yB}\\\\end{cases}$ soit $A'(${xB}\\\\,;\\\\,${yB})$.<br>`\n } else if (parseInt(this.sup) === 2) {\n texteCorr += `Soit $(x\\\\,;\\\\,y)$ les coordonnées du point $A$, on a donc : $\\\\overrightarrow{AA'}\\\\begin{pmatrix}${xB}-x\\\\\\\\${yB}-y\\\\end{pmatrix}$.<br>`\n texteCorr += 'Dire que $\\\\overrightarrow{AA\\'}=\\\\vec{u}$ équivaut à résoudre :<br><br>'\n texteCorr += '$\\\\left\\\\{\\\\begin{array}{l}'\n texteCorr += `${xB}-x=${ux} \\\\\\\\`\n texteCorr += `${yB}-y=${uy}`\n texteCorr += '\\\\end{array}'\n texteCorr += '\\\\right.$'\n texteCorr += '$\\\\Leftrightarrow\\\\left\\\\{\\\\begin{array}{l}'\n texteCorr += `x=${xB}${ecritureAlgebrique(-ux)} \\\\\\\\`\n texteCorr += `y=${yB}${ecritureAlgebrique(-uy)}`\n texteCorr += '\\\\end{array}'\n texteCorr += '\\\\right.$'\n texteCorr += '$\\\\Leftrightarrow\\\\left\\\\{\\\\begin{array}{l}'\n texteCorr += `x=${xA} \\\\\\\\`\n texteCorr += `y=${yA}`\n texteCorr += '\\\\end{array}'\n texteCorr += `\\\\right.$ soit $A(${xA}\\\\,;\\\\,${yA})$.<br>`\n setReponse(this, 2 * i, AbsRep)\n setReponse(this, 2 * i + 1, OrdRep)\n // texteCorr += `$\\\\begin{cases}${xB}-x=${ux}\\\\\\\\${yB}-y=${uy}\\\\end{cases}$`\n // texteCorr += `$\\\\Leftrightarrow\\\\begin{cases}x=${xB}${ecritureAlgebrique(-ux)}\\\\\\\\y=${yB}${ecritureAlgebrique(-uy)}\\\\end{cases}$`\n // texteCorr += `$\\\\Leftrightarrow\\\\begin{cases}x=${xA}\\\\\\\\y=${yA}\\\\end{cases}$ soit $A(${xA}\\\\,;\\\\,${yA})$.<br>`\n }\n\n if (this.correctionDetaillee) {\n texteCorr += mathalea2d(Object.assign({ zoom: 1, scale: 0.6 }, fixeBordures(objets)), objets) // On trace le graphique\n }\n // texte += ajouteChampTexteMathLive(this, 2 * i, 'largeur15 inline', {texteAvant: '<br><br>Abscisse du point :' })\n // texte += ajouteChampTexteMathLive(this, 2 * i + 1, 'largeur15 inline', {texteAvant: '<br><br>Ordonnée du point :' })\n // setReponse(this, 2 * i, AbsRep)\n // setReponse(this, 2 * i + 1, OrdRep)\n if (this.questionJamaisPosee(i, xA, yA, xB, yB)) { // Si la question n'a jamais été posée, on en créé une autre\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n }\n cpt++\n }\n listeQuestionsToContenu(this)\n }\n this.besoinFormulaireNumerique = ['Situations différentes ', 2, '1 :Calculer les coordonnées de l\\'image d\\'un point. \\n 2 :Calculer les coordonnées de l\\'antécédent d\\'un point.']\n}\n"],"names":["interactifReady","interactifType","titre","dateDeModifImportante","uuid","ref","TranslationEtCoordonnes","Exercice","i","texte","texteCorr","cpt","xA","yA","xB","yB","ux","uy","AbsRep","OrdRep","objets","randint","choice","r","repere","A","point","B","traceAetB","tracePoint","posLabelA","homothetie","longueur","posLabelB","labelA","latexParPoint","labelB","s","segment","O","o","texteParPosition","I","J","vi","vecteur","vj","k","j","colorToLatexOrHTML","nomi","nomVecteurParPosition","nomj","nomAB","ajouteChampTexteMathLive","ecritureParentheseSiNegatif","ecritureAlgebrique","setReponse","mathalea2d","fixeBordures","listeQuestionsToContenu"],"mappings":"2QAaY,MAACA,GAAkB,GAClBC,GAAiB,WACjBC,GAAQ,0DACRC,GAAwB,aAOxBC,GAAO,QACPC,GAAM,SACJ,SAASC,IAA2B,CACjDC,EAAS,KAAK,IAAI,EAClB,KAAK,MAAQL,GACb,KAAK,YAAc,EACnB,KAAK,OAAS,EACd,KAAK,WAAa,EAClB,KAAK,IAAM,EACX,KAAK,oBAAsB,GAC3B,KAAK,8BAAgC,GACrC,KAAK,gBAAkB,UAAY,CACjC,KAAK,eAAiB,CAAE,EACxB,KAAK,iBAAmB,CAAE,EAE1B,QAASM,EAAI,EAAGC,EAAOC,EAAWC,EAAM,EAAGH,EAAI,KAAK,aAAeG,EAAM,IAAK,CAC5E,IAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAQC,EACpC,MAAMC,EAAS,CAAE,EAOjB,IANAR,EAAKS,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCT,EAAKQ,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCN,EAAKK,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCL,EAAKI,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCR,EAAKF,EAAKI,EACVD,EAAKF,EAAKI,EACH,KAAK,IAAIH,CAAE,EAAI,GAAK,KAAK,IAAIA,CAAE,EAAI,GACxCF,EAAKS,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCN,EAAKK,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCR,EAAKF,EAAKI,EAEZ,KAAO,KAAK,IAAID,CAAE,EAAI,GAAK,KAAK,IAAIA,CAAE,EAAI,GACxCF,EAAKQ,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCL,EAAKI,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCP,EAAKF,EAAKI,EAGZ,MAAMM,EAAIC,EAAO,CACf,OAAQ,EACR,OAAQ,EACR,KAAM,KAAK,IAAI,GAAIZ,EAAK,EAAGE,EAAK,EAAG,CAAC,EACpC,KAAM,KAAK,IAAI,GAAID,EAAK,EAAGE,EAAK,EAAG,CAAC,EACpC,KAAM,KAAK,IAAI,GAAIH,EAAK,EAAGE,EAAK,EAAG,CAAC,EACpC,KAAM,KAAK,IAAI,GAAID,EAAK,EAAGE,EAAK,EAAG,CAAC,EACpC,aAAc,GACd,YAAa,GACb,YAAa,GACb,UAAW,KACX,UAAW,IACnB,CAAO,EACKU,EAAIC,EAAMd,EAAIC,CAAE,EAChBc,EAAID,EAAMZ,EAAIC,CAAE,EAChBa,EAAYC,EAAWJ,EAAGE,EAAG,KAAK,EAClCG,EAAYC,EAAWJ,EAAGF,EAAG,IAAOO,EAASP,EAAGE,CAAC,EAAG,GAAI,QAAQ,EAChEM,EAAYF,EAAWN,EAAGE,EAAG,IAAOK,EAASP,EAAGE,CAAC,EAAG,GAAI,QAAQ,EAChEO,EAASC,EAAc,IAAKL,EAAW,MAAO,GAAI,GAAI,EAAE,EACxDM,EAASD,EAAc,KAAMF,EAAW,MAAO,GAAI,GAAI,EAAE,EACzDI,EAAIC,EAAQb,EAAGE,EAAG,KAAK,EAC7BU,EAAE,gBAAkB,KACpB,MAAME,EAAIb,EAAM,EAAG,CAAC,EACdc,EAAIC,EAAiB,IAAK,IAAM,IAAM,SAAU,QAAS,CAAC,EAC1DC,EAAIhB,EAAM,EAAG,CAAC,EACdiB,EAAIjB,EAAM,EAAG,CAAC,EACdkB,EAAKC,EAAQN,EAAGG,CAAC,EACjBI,EAAKD,EAAQN,EAAGI,CAAC,EACjBI,EAAIH,EAAG,aAAaL,CAAC,EACrBS,EAAIF,EAAG,aAAaP,CAAC,EAC3BF,EAAE,UAAY,EACdA,EAAE,MAAQY,EAAmB,KAAK,EAClCF,EAAE,UAAY,EACdC,EAAE,UAAY,EACd,MAAME,EAAOC,EAAsB,IAAK,GAAK,IAAM,IAAK,CAAC,EACnDC,EAAOD,EAAsB,IAAK,IAAM,GAAK,IAAK,CAAC,EACnDE,EAAQR,EAAQpB,EAAGE,CAAC,EAAE,kBAAkBF,EAAG,MAAO,IAAK,KAAK,EAClEL,EAAO,KAAKG,EAAGK,EAAWE,EAAWG,EAAWC,EAAQE,EAAQC,EAAGG,EAAGD,EAAGG,EAAGC,EAAGC,EAAIE,EAAIC,EAAGC,EAAGE,EAAME,EAAMC,CAAK,EAE1G,SAAS,KAAK,GAAG,IAAM,GACzBnC,EAASJ,EACTK,EAASJ,EACTN,EAAQ,2IAA2IG,CAAE,UAAUC,CAAE,oEAAoEG,CAAE,OAAOC,CAAE,uBAE5O,KAAK,aACPR,GAAS6C,EAAyB,KAAM,EAAI9C,EAAG,mBAAoB,CAAE,WAAY,uCAAyC,EAC1HC,GAAS6C,EAAyB,KAAM,EAAI9C,EAAI,EAAG,mBAAoB,CAAE,WAAY,uCAAyC,IAEvH,SAAS,KAAK,GAAG,IAAM,IAChCU,EAASN,EACTO,EAASN,EACTJ,EAAQ,sLAAsLO,CAAE,OAAOC,CAAE,0CAA0CH,CAAE,UAAUC,CAAE,iBAE7P,KAAK,aACPN,GAAS6C,EAAyB,KAAM,EAAI9C,EAAG,mBAAoB,CAAE,WAAY,sCAAuC,EACxHC,GAAS6C,EAAyB,KAAM,EAAI9C,EAAI,EAAG,mBAAoB,CAAE,WAAY,sCAAuC,IAGhIE,EAAY,GACR,KAAK,sBACPA,GAAa,iKACbA,GAAa,iHACbA,GAAa,gMACbA,GAAa,2DAGX,SAAS,KAAK,GAAG,IAAM,GACzBA,GAAa,uGAAuG6C,EAA4B3C,CAAE,CAAC,SAAS2C,EAA4B1C,CAAE,CAAC,kBACvLD,EAAK,EAAIC,EAAK,EAChBH,GAAa,gDAAgD8C,EAAmB,CAAC5C,CAAE,CAAC,QAAQ4C,EAAmB,CAAC3C,CAAE,CAAC,uBAEnHH,GAAa,QAEfA,GAAa,0EACbA,GAAa,8BACbA,GAAa,IAAI8C,EAAmB,CAAC5C,CAAE,CAAC,IAAII,CAAE,QAC9CN,GAAa,IAAI8C,EAAmB,CAAC3C,CAAE,CAAC,IAAII,CAAE,GAC9CP,GAAa,eACbA,GAAa,YACbA,GAAa,8CACbA,GAAa,KAAKM,CAAE,GAAGwC,EAAmB5C,CAAE,CAAC,QAC7CF,GAAa,KAAKO,CAAE,GAAGuC,EAAmB3C,CAAE,CAAC,GAC7CH,GAAa,eACbA,GAAa,YACbA,GAAa,8CACbA,GAAa,KAAKI,CAAE,QACpBJ,GAAa,KAAKK,CAAE,GACpBL,GAAa,eACbA,GAAa,sBAAsBI,CAAE,UAAUC,CAAE,UACjD0C,EAAW,KAAM,EAAIjD,EAAGU,CAAM,EAC9BuC,EAAW,KAAM,EAAIjD,EAAI,EAAGW,CAAM,GAIzB,SAAS,KAAK,GAAG,IAAM,IAChCT,GAAa,sGAAsGI,CAAE,SAASC,CAAE,yBAChIL,GAAa,0EACbA,GAAa,8BACbA,GAAa,GAAGI,CAAE,MAAME,CAAE,QAC1BN,GAAa,GAAGK,CAAE,MAAME,CAAE,GAC1BP,GAAa,eACbA,GAAa,YACbA,GAAa,8CACbA,GAAa,KAAKI,CAAE,GAAG0C,EAAmB,CAACxC,CAAE,CAAC,QAC9CN,GAAa,KAAKK,CAAE,GAAGyC,EAAmB,CAACvC,CAAE,CAAC,GAC9CP,GAAa,eACbA,GAAa,YACbA,GAAa,8CACbA,GAAa,KAAKE,CAAE,QACpBF,GAAa,KAAKG,CAAE,GACpBH,GAAa,eACbA,GAAa,qBAAqBE,CAAE,UAAUC,CAAE,UAChD4C,EAAW,KAAM,EAAIjD,EAAGU,CAAM,EAC9BuC,EAAW,KAAM,EAAIjD,EAAI,EAAGW,CAAM,GAMhC,KAAK,sBACPT,GAAagD,EAAW,OAAO,OAAO,CAAE,KAAM,EAAG,MAAO,EAAG,EAAIC,EAAavC,CAAM,CAAC,EAAGA,CAAM,GAM1F,KAAK,oBAAoBZ,EAAGI,EAAIC,EAAIC,EAAIC,CAAE,IAC5C,KAAK,eAAe,KAAKN,CAAK,EAC9B,KAAK,iBAAiB,KAAKC,CAAS,EACpCF,KAEFG,GACD,CACDiD,EAAwB,IAAI,CAC7B,EACD,KAAK,0BAA4B,CAAC,0BAA2B,EAAG;AAAA,yDAAmH,CACrL"}