File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/2G12-3-TjLA2EmX.js.map
{"version":3,"file":"2G12-3-TjLA2EmX.js","sources":["../../src/exercices/2e/2G12-3.js"],"sourcesContent":["import { codageSegments } from '../../lib/2d/codages.js'\nimport { point, tracePoint } from '../../lib/2d/points.js'\nimport { polygoneAvecNom } from '../../lib/2d/polygones.js'\nimport { creerNomDePolygone } from '../../lib/outils/outilString.js'\nimport FractionEtendue from '../../modules/FractionEtendue.js'\nimport { repere } from '../../lib/2d/reperes.js'\nimport { segment } from '../../lib/2d/segmentsVecteurs.js'\nimport { labelPoint, texteParPosition } from '../../lib/2d/textes.js'\nimport { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { ecritureParentheseSiNegatif } from '../../lib/outils/ecritures.js'\nimport { abs } from '../../lib/outils/nombres.js'\nimport { texteGras } from '../../lib/format/style'\nimport { texNombre, texRacineCarree } from '../../lib/outils/texNombre.js'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nexport const titre = 'Démontrer qu\\'un quadrilatère est ou non un parallélogramme'\nexport const dateDeModifImportante = '30/11/2023'\n\n/**\n * 2G12-3\n * @author Stéphane Guyon a tout fait, Gilles Mora a juste repris quelques bricoles\n */\nexport const uuid = '31760'\nexport const ref = '2G12-3'\nexport default function Parallélogramme () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.titre = titre\n this.sup = parseInt(this.sup)\n this.nbQuestions = 1\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.sup = parseInt(this.sup)\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n const typesDeQuestionsDisponibles = [1, 2]; let typesDeQuestions\n\n const listeTypeDeQuestions = combinaisonListes(typesDeQuestionsDisponibles, this.nbQuestions)\n for (let i = 0, ux, uy, XMIN, XMAX, YMIN, YMAX, test, objets, nom, J, o, s1, s2, s3, s4, s5, s6, AB2, AC2, BC2, DB2, DC2, xA, yA, xB, yB, xC, yC, xD, yD, xM, yM, xN, yN, A, B, C, D, P, T, L, M, I, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n typesDeQuestions = listeTypeDeQuestions[i]\n objets = []\n switch (typesDeQuestions) {\n // Cas par cas, on définit le type de nombres que l'on souhaite\n // Combien de chiffres ? Quelles valeurs ?\n case 1: // Dq ABDC parallélogramme\n xA = randint(0, 5) * choice([-1, 1])\n yA = randint(0, 5) * choice([-1, 1])\n xC = randint(0, 5, xA) * choice([-1, 1])\n yC = randint(0, 5) * choice([-1, 1])\n uy = randint(3, 5) * choice([-1, 1])\n ux = randint(3, 5) * choice([-1, 1])\n yB = yA + uy\n xB = xA + ux\n xD = xC + ux\n yD = yC + uy\n AB2 = (xA - xB) ** 2 + (yA - yB) ** 2\n AC2 = (xC - xA) ** 2 + (yC - yA) ** 2\n BC2 = (xC - xB) ** 2 + (yC - yB) ** 2\n DB2 = (xB - xD) ** 2 + (yB - yD) ** 2\n DC2 = (xC - xD) ** 2 + (yC - yD) ** 2\n //\n while ((xD - xA) ** 2 + (yD - yA) ** 2 < 8 || (xC - xB) ** 2 + (yC - yB) ** 2 < 8 || abs(xA - xB) < 3 || abs(xA - xC) < 3 ||\n yC === (yB - yA) / (xB - xA) * xC + yA - (yB - yA) / (xB - xA) * xA || Math.acos((BC2 - AB2 - AC2) / (-2 * (Math.sqrt(AB2)) * (Math.sqrt(AC2)))) < 0.4 ||\n Math.acos((BC2 - AB2 - AC2) / (-2 * (Math.sqrt(AB2)) * (Math.sqrt(AC2)))) > 2.6) {\n xA = randint(0, 5) * choice([-1, 1])\n yA = randint(0, 5) * choice([-1, 1])\n xC = randint(0, 5, xA) * choice([-1, 1])\n yC = randint(0, 5) * choice([-1, 1])\n uy = randint(3, 5) * choice([-1, 1])\n ux = randint(3, 5) * choice([-1, 1])\n yB = yA + uy\n xB = xA + ux\n xD = xC + ux\n yD = yC + uy\n AB2 = (xA - xB) ** 2 + (yA - yB) ** 2\n AC2 = (xC - xA) ** 2 + (yC - yA) ** 2\n BC2 = (xC - xB) ** 2 + (yC - yB) ** 2\n DB2 = (xB - xD) ** 2 + (yB - yD) ** 2\n DC2 = (xC - xD) ** 2 + (yC - yD) ** 2\n }\n\n xM = new FractionEtendue(xA + xD, 2)\n yM = new FractionEtendue(yA + yD, 2)\n xN = new FractionEtendue(xB + xC, 2)\n yN = new FractionEtendue(yB + yC, 2)\n A = point(xA, yA, 'A', 'red')\n B = point(xB, yB, 'B', 'red')\n C = point(xC, yC, 'C', 'red')\n D = point(xD, yD, 'D', 'red')\n I = point(1, 0, 'I')\n J = point(0, 1, 'J')\n M = point((xA + xD) / 2, (yA + yD) / 2, 'M')\n s1 = segment(A, B, 'blue')\n s2 = segment(D, B, 'blue')\n s3 = segment(C, D, 'blue')\n s4 = segment(A, C, 'blue')\n s5 = segment(A, D, 'red')\n s6 = segment(B, C, 'red')\n s1.epaisseur = 2\n s2.epaisseur = 2\n s3.epaisseur = 2\n s4.epaisseur = 2\n s5.epaisseur = 2\n s6.epaisseur = 2\n nom = creerNomDePolygone(4, ['OIJM'])\n A.nom = nom[0]\n B.nom = nom[1]\n C.nom = nom[2]\n D.nom = nom[3]\n codageSegments('X', 'red', s5, s6) // Code les segments s5 et s6\n T = tracePoint(A, B, C, D, M) // Repère les points avec une croix\n L = labelPoint(M)\n P = polygoneAvecNom(A, B, D, C)\n objets.push(P[1])\n texte = 'Dans un repère orthonormé $(O,I,J)$, on donne les 4 points suivants :<br>'\n texte += ` $${A.nom}\\\\left(${xA}\\\\,;\\\\,${yA}\\\\right)$ ; $${B.nom}\\\\left(${xB}\\\\,;\\\\,${yB}\\\\right)$ ; `\n texte += ` $${C.nom}\\\\left(${xC}\\\\,;\\\\,${yC}\\\\right)$ ; $${D.nom}\\\\left(${xD}\\\\,;\\\\,${yD}\\\\right).$<br>\n `\n texte += `Déterminer si le quadrilatère $${A.nom}${B.nom}${D.nom}${C.nom}$ est un parallélogramme. Justifier.`\n I = texteParPosition('I', 1, -0.5, 'milieu', 'black', 1)\n J = texteParPosition('J', -0.5, 1, 'milieu', 'black', 1)\n o = texteParPosition('O', -0.3, -0.3, 'milieu', 'black', 1)\n objets.push(s1, s2, s3, s4, s5, s6, T, L, I, J, o)\n XMIN = Math.min(xA, xB, xC, xD, -1) - 1\n YMIN = Math.min(yA, yB, yC, yD, -1) - 1\n XMAX = Math.max(xA, xB, xC, xD, 1) + 1\n YMAX = Math.max(yA, yB, yC, yD, 1) + 1\n objets.push(repere({\n xMin: XMIN,\n yMin: YMIN,\n xMax: XMAX,\n yMax: YMAX,\n yLabelEcart: 0.6,\n xLabelEcart: 0.6,\n yLabelDistance: 2,\n xLabelDistance: 2\n }))\n\n if (this.correctionDetaillee) {\n texteCorr = 'On peut représenter la situation avec les données de l\\'énoncé : <br>'\n texteCorr += mathalea2d({ xmin: XMIN, ymin: YMIN, xmax: XMAX, ymax: YMAX, pixelsParCm: 25, scale: 0.6 }, objets)\n texteCorr += `<br>Pour savoir si $${A.nom}${B.nom}${D.nom}${C.nom}$ est un parallélogramme, on peut utiliser l'un des deux résultats suivants : <br>\n $\\\\bullet$ $${A.nom}${B.nom}${D.nom}${C.nom}$ est un parallélogramme si et seulement si ses diagonales se coupent en leur milieu (c'est-à-dire si $[${A.nom}${D.nom}]$ et $[${B.nom}${C.nom}]$ ont le même milieu). <br>\n $\\\\bullet$ $${A.nom}${B.nom}${D.nom}${C.nom}$ est un parallélogramme si et seulement si ses côtés opposés sont deux à deux de même longueur.<br>`\n } else { texteCorr = '' }\n texteCorr += `<br> ${texteGras('En utilisant les milieux :')} : <br> `\n texteCorr += `<br> $\\\\bullet$ Soit $M$ le milieu de $[${A.nom}${D.nom}]$ : <br> `\n texteCorr += `$\\\\begin{cases}x_M=\\\\dfrac{x_${A.nom}+x_${D.nom}}{2}= \\\\dfrac{${xA}+${ecritureParentheseSiNegatif(xD)}}{2}=\\\\dfrac{${texNombre(xA + xD)}}{2}${xM.texSimplificationAvecEtapes()}\\\\\\\\[0.8em] y_M=\\\\dfrac{y_${A.nom}+y_${D.nom}}{2}= \\\\dfrac{${yA}+${ecritureParentheseSiNegatif(yD)}}{2}=\\\\dfrac{${texNombre(yA + yD)}}{2}${yM.texSimplificationAvecEtapes()}\\\\end{cases}$`\n texteCorr += ` <br><br>Ainsi : $ M\\\\left(${xM.simplifie().texFSD}\\\\,;\\\\,${yM.simplifie().texFSD}\\\\right)$`\n texteCorr += `<br><br> $\\\\bullet$ Soit $N$ le milieu de $[${B.nom}${C.nom}]$ : <br> `\n texteCorr += `$\\\\begin{cases}x_N=\\\\dfrac{x_${B.nom}+x_${C.nom}}{2}= \\\\dfrac{${xB}+${ecritureParentheseSiNegatif(xC)}}{2}=\\\\dfrac{${texNombre(xB + xC)}}{2}${xN.texSimplificationAvecEtapes()}\\\\\\\\[0.8em] y_N=\\\\dfrac{y_${B.nom}+y_${C.nom}}{2}= \\\\dfrac{${yB}+${ecritureParentheseSiNegatif(yC)}}{2}=\\\\dfrac{${texNombre(yB + yC)}}{2}${yN.texSimplificationAvecEtapes()}\\\\end{cases}$`\n\n texteCorr += ` <br><br>Ainsi : $ N\\\\left(${xN.simplifie().texFSD}\\\\,;\\\\,${yN.simplifie().texFSD}\\\\right)$`\n texteCorr += '<br><br>On observe que $M$ et $N$ ont les mêmes coordonnées, donc les deux diagonales du quadrilatère se coupent en leur milieu.'\n texteCorr += '<br>$ABDC$ est donc un parallélogramme.'\n\n texteCorr += `<br><br> ${texteGras('En utilisant les longueurs :')} <br> `\n texteCorr += `<br>$${A.nom}${B.nom}=\\\\sqrt{(x_{${B.nom}}-x_${A.nom})^2+(y_{${B.nom}}-y_${A.nom})^2}=\\\\sqrt{(${xB}-${ecritureParentheseSiNegatif(xA)})^2+(${yB}-${ecritureParentheseSiNegatif(yA)})^2}=\\\\sqrt{${ecritureParentheseSiNegatif(xB - xA)}^2+${ecritureParentheseSiNegatif(yB - yA)}^2}=\\\\sqrt{${AB2}}${AB2 === 1 || AB2 === 4 || AB2 === 9 || AB2 === 16 || AB2 === 25 || AB2 === 36 || AB2 === 49 || AB2 === 64 || AB2 === 81 ? `=${texRacineCarree(AB2)}` : ''}$<br>`\n\n texteCorr += `<br>$${C.nom}${D.nom}=\\\\sqrt{(x_{${D.nom}}-x_${C.nom})^2+(y_{${D.nom}}-y_${C.nom})^2}=\\\\sqrt{(${xD}-${ecritureParentheseSiNegatif(xC)})^2+(${yD}-${ecritureParentheseSiNegatif(yC)})^2}=\\\\sqrt{${ecritureParentheseSiNegatif(xD - xC)}^2+${ecritureParentheseSiNegatif(yD - yC)}^2}=\\\\sqrt{${DC2}}${DC2 === 1 || DC2 === 4 || DC2 === 9 || DC2 === 16 || DC2 === 25 || DC2 === 36 || DC2 === 49 || DC2 === 64 || DC2 === 81 ? `=${texRacineCarree(DC2)}` : ''}$<br>`\n\n texteCorr += `<br>$${B.nom}${D.nom}=\\\\sqrt{(x_{${D.nom}}-x_${B.nom})^2+(y_{${D.nom}}-y_${B.nom})^2}=\\\\sqrt{(${xD}-${ecritureParentheseSiNegatif(xB)})^2+(${yD}-${ecritureParentheseSiNegatif(yB)})^2}=\\\\sqrt{${ecritureParentheseSiNegatif(xD - xB)}^2+${ecritureParentheseSiNegatif(yD - yB)}^2}=\\\\sqrt{${DB2}}${DB2 === 1 || DB2 === 4 || DB2 === 9 || DB2 === 16 || DB2 === 25 || DB2 === 36 || DB2 === 49 || DB2 === 64 || DB2 === 81 ? `=${texRacineCarree(DB2)}` : ''}$<br>`\n texteCorr += `<br>$${A.nom}${C.nom}=\\\\sqrt{(x_{${C.nom}}-x_${A.nom})^2+(y_{${C.nom}}-y_${A.nom})^2}=\\\\sqrt{(${xC}-${ecritureParentheseSiNegatif(xA)})^2+(${yC}-${ecritureParentheseSiNegatif(yA)})^2}=\\\\sqrt{${ecritureParentheseSiNegatif(xC - xA)}^2+${ecritureParentheseSiNegatif(yC - yA)}^2}=\\\\sqrt{${AC2}}${AC2 === 1 || AC2 === 4 || AC2 === 9 || AC2 === 16 || AC2 === 25 || AC2 === 36 || AC2 === 49 || AC2 === 64 || AC2 === 81 ? `=${texRacineCarree(AC2)}` : ''}$<br>`\n\n texteCorr += ` <br>On observe que : $${A.nom}${B.nom}=${C.nom}${D.nom}$ et $${B.nom}${D.nom}=${A.nom}${C.nom}$.<br>\n `\n texteCorr += `Les côtés opposés du quadrilatère $${A.nom}${B.nom}${D.nom}${C.nom}$ sont deux à deux de même longueur, donc $${A.nom}${B.nom}${D.nom}${C.nom}$ est donc un parallélogramme.`\n\n break\n case 2: // Dq ABDC pas un parallélogramme\n xA = randint(0, 5) * choice([-1, 1])\n yA = randint(0, 5) * choice([-1, 1])\n xC = randint(0, 5) * choice([-1, 1])\n yC = randint(0, 4) * choice([-1, 1])\n ux = randint(2, 4) * choice([-1, 1])\n uy = randint(2, 4) * choice([-1, 1])\n xB = xA + ux\n yB = yA + uy\n test = choice([-1, 1])\n if (test === -1) {\n xD = xC + ux + randint(1, 2) * choice([-1, 1])\n yD = yC + uy\n }\n if (test === 1) {\n xD = xC + ux\n yD = yC + uy + randint(1, 2) * choice([-1, 1])\n }\n\n AB2 = (xA - xB) ** 2 + (yA - yB) ** 2\n AC2 = (xC - xA) ** 2 + (yC - yA) ** 2\n BC2 = (xC - xB) ** 2 + (yC - yB) ** 2\n DB2 = (xB - xD) ** 2 + (yB - yD) ** 2\n DC2 = (xC - xD) ** 2 + (yC - yD) ** 2\n\n while ((xD - xA) ** 2 + (yD - yA) ** 2 < 8 || (xC - xB) ** 2 + (yC - yB) ** 2 < 8 || abs(xA - xB) < 3 || abs(xA - xC) < 3 ||\n yC === (yB - yA) / (xB - xA) * xC + yA - (yB - yA) / (xB - xA) * xA || Math.acos((BC2 - AB2 - AC2) / (-2 * (Math.sqrt(AB2)) * (Math.sqrt(AC2)))) < 0.4 ||\n Math.acos((BC2 - AB2 - AC2) / (-2 * (Math.sqrt(AB2)) * (Math.sqrt(AC2)))) > 2.6) {\n xA = randint(0, 5) * choice([-1, 1])\n yA = randint(0, 5) * choice([-1, 1])\n xC = randint(0, 5) * choice([-1, 1])\n yC = randint(0, 5) * choice([-1, 1])\n ux = randint(2, 4) * choice([-1, 1])\n uy = randint(2, 4) * choice([-1, 1])\n xB = xA + ux\n yB = yA + uy\n test = choice([-1, 1])\n if (test === -1) {\n xD = xC + ux + randint(1, 2) * choice([-1, 1])\n yD = yC + uy\n }\n if (test === 1) {\n xD = xC + ux\n yD = yC + uy + randint(1, 2) * choice([-1, 1])\n }\n AB2 = (xA - xB) ** 2 + (yA - yB) ** 2\n AC2 = (xC - xA) ** 2 + (yC - yA) ** 2\n BC2 = (xC - xB) ** 2 + (yC - yB) ** 2\n DB2 = (xB - xD) ** 2 + (yB - yD) ** 2\n DC2 = (xC - xD) ** 2 + (yC - yD) ** 2\n }\n\n xM = new FractionEtendue(xA + xD, 2)\n yM = new FractionEtendue(yA + yD, 2)\n xN = new FractionEtendue(xB + xC, 2)\n yN = new FractionEtendue(yB + yC, 2)\n A = point(xA, yA, 'A', 'blue')\n B = point(xB, yB, 'B', 'blue')\n C = point(xC, yC, 'C', 'blue')\n D = point(xD, yD, 'D', 'blue')\n I = point(1, 0, 'I')\n J = point(0, 1, 'J')\n M = point((xA + xD) / 2, (yA + yD) / 2, 'M', 'red')\n s1 = segment(A, B, 'blue')\n s2 = segment(D, B, 'blue')\n s3 = segment(C, D, 'blue')\n s4 = segment(A, C, 'blue')\n s5 = segment(A, D, 'red')\n s6 = segment(B, C, 'red')\n\n s1.epaisseur = 2\n s2.epaisseur = 2\n s3.epaisseur = 2\n s4.epaisseur = 2\n s5.epaisseur = 2\n s6.epaisseur = 2\n // codageSegments('X', 'red', s1, s2, s3, s4, s5, s6) // Code les segments s5 et s6\n nom = creerNomDePolygone(4, ['OIJM'])\n A.nom = nom[0]\n B.nom = nom[1]\n C.nom = nom[2]\n D.nom = nom[3]\n codageSegments('X', 'red', s5, s6) // Code les segments s5 et s6\n T = tracePoint(A, B, C, D) // Repère les points avec une croix\n P = polygoneAvecNom(A, B, D, C)\n objets.push(P[1])\n I = texteParPosition('I', 1, -0.5, 'milieu', 'black', 1)\n J = texteParPosition('J', -0.5, 1, 'milieu', 'black', 1)\n o = texteParPosition('O', -0.3, -0.3, 'milieu', 'black', 1)\n objets.push(s1, s2, s3, s4, s5, s6, T, I, J, o)\n XMIN = Math.min(xA, xB, xC, xD, -1) - 1\n YMIN = Math.min(yA, yB, yC, yD, -1) - 1\n XMAX = Math.max(xA, xB, xC, xD, 1) + 1\n YMAX = Math.max(yA, yB, yC, yD, 1) + 1\n objets.push(repere({\n xMin: XMIN,\n yMin: YMIN,\n xMax: XMAX,\n yMax: YMAX,\n yLabelEcart: 0.6,\n xLabelEcart: 0.6,\n yLabelDistance: 2,\n xLabelDistance: 2\n }))\n texte = 'Dans un repère orthonormé $(O,I,J)$, on donne les 4 points suivants :<br>'\n texte += ` $${A.nom}\\\\left(${xA}\\\\,;\\\\,${yA}\\\\right)$ ; $${B.nom}\\\\left(${xB}\\\\,;\\\\,${yB}\\\\right)$, `\n texte += ` $${C.nom}\\\\left(${xC}\\\\,;\\\\,${yC}\\\\right)$ ; $${D.nom}\\\\left(${xD}\\\\,;\\\\,${yD}\\\\right).$<br>\n `\n texte += `Déterminer si le quadrilatère $${A.nom}${B.nom}${D.nom}${C.nom}$ est un parallélogramme. Justifier.`\n\n if (this.correctionDetaillee) {\n texteCorr = 'On peut représenter la situation avec les données de l\\'énoncé : <br>'\n texteCorr += mathalea2d({ xmin: XMIN, ymin: YMIN, xmax: XMAX, ymax: YMAX, pixelsParCm: 25, scale: 0.6 }, objets)\n texteCorr += `<br>Pour savoir si $${A.nom}${B.nom}${D.nom}${C.nom}$ est un parallélogramme, on peut utiliser l'un des deux résultats suivants : <br>\n $\\\\bullet$ $${A.nom}${B.nom}${D.nom}${C.nom}$ est un parallélogramme si et seulement si ses diagonales se coupent en leur milieu (c'est-à-dire si $[${A.nom}${D.nom}]$ et $[${B.nom}${C.nom}]$ ont le même milieu). <br>\n $\\\\bullet$ $${A.nom}${B.nom}${D.nom}${C.nom}$ est un parallélogramme si et seulement si ses côtés opposés sont deux à deux de même longueur.<br>`\n } else { texteCorr = '' }\n texteCorr += `<br> ${texteGras('En utilisant les milieux :')} : <br> `\n texteCorr += `<br> $\\\\bullet$ Soit $M$ le milieu de $[${A.nom}${D.nom}]$ : <br> `\n texteCorr += `$\\\\begin{cases}x_M=\\\\dfrac{x_${A.nom}+x_${D.nom}}{2}= \\\\dfrac{${xA}+${ecritureParentheseSiNegatif(xD)}}{2}=\\\\dfrac{${texNombre(xA + xD)}}{2}${xM.texSimplificationAvecEtapes()}\\\\\\\\[0.8em] y_M=\\\\dfrac{y_${A.nom}+y_${D.nom}}{2}= \\\\dfrac{${yA}+${ecritureParentheseSiNegatif(yD)}}{2}=\\\\dfrac{${texNombre(yA + yD)}}{2}${yM.texSimplificationAvecEtapes()}\\\\end{cases}$`\n\n texteCorr += ` <br><br>Ainsi : $ M\\\\left(${xM.simplifie().texFSD}\\\\,;\\\\,${yM.simplifie().texFSD}\\\\right)$`\n texteCorr += `<br><br>$\\\\bullet$ Soit $N$ le milieu de $[${B.nom}${C.nom}]$ : <br> `\n texteCorr += `$\\\\begin{cases}x_N=\\\\dfrac{x_${B.nom}+x_${C.nom}}{2}= \\\\dfrac{${xB}+${ecritureParentheseSiNegatif(xC)}}{2}=\\\\dfrac{${texNombre(xB + xC)}}{2}${xN.texSimplificationAvecEtapes()}\\\\\\\\[0.8em] y_N=\\\\dfrac{y_${B.nom}+y_${C.nom}}{2}= \\\\dfrac{${yB}+${ecritureParentheseSiNegatif(yC)}}{2}=\\\\dfrac{${texNombre(yB + yC)}}{2}${yN.texSimplificationAvecEtapes()}\\\\end{cases}$`\n\n texteCorr += ` <br><br>Ainsi : $ N\\\\left(${xN.simplifie().texFSD}\\\\,;\\\\,${yN.simplifie().texFSD}\\\\right)$`\n texteCorr += '<br><br>On observe que $M$ et $N$ n\\'ont pas les mêmes coordonnées, donc les deux diagonales du quadrilatère ne se coupent pas en leur milieu.'\n texteCorr += `<br>$${A.nom}${B.nom}${D.nom}${C.nom}$ n'est pas un parallélogramme.`\n\n texteCorr += `<br><br> ${texteGras('En utilisant les longueurs :')} <br> `\n texteCorr += `<br>$${A.nom}${B.nom}=\\\\sqrt{(x_{${B.nom}}-x_${A.nom})^2+(y_{${B.nom}}-y_${A.nom})^2}=\\\\sqrt{(${xB}-${ecritureParentheseSiNegatif(xA)})^2+(${yB}-${ecritureParentheseSiNegatif(yA)})^2}=\\\\sqrt{${ecritureParentheseSiNegatif(xB - xA)}^2+${ecritureParentheseSiNegatif(yB - yA)}^2}=\\\\sqrt{${AB2}}${AB2 === 1 || AB2 === 4 || AB2 === 9 || AB2 === 16 || AB2 === 25 || AB2 === 36 || AB2 === 49 || AB2 === 64 || AB2 === 81 ? `=${texRacineCarree(AB2)}` : ''}$<br>`\n\n texteCorr += `<br>$${C.nom}${D.nom}=\\\\sqrt{(x_{${D.nom}}-x_${C.nom})^2+(y_{${D.nom}}-y_${C.nom})^2}=\\\\sqrt{(${xD}-${ecritureParentheseSiNegatif(xC)})^2+(${yD}-${ecritureParentheseSiNegatif(yC)})^2}=\\\\sqrt{${ecritureParentheseSiNegatif(xD - xC)}^2+${ecritureParentheseSiNegatif(yD - yC)}^2}=\\\\sqrt{${DC2}}${DC2 === 1 || DC2 === 4 || DC2 === 9 || DC2 === 16 || DC2 === 25 || DC2 === 36 || DC2 === 49 || DC2 === 64 || DC2 === 81 ? `=${texRacineCarree(DC2)}` : ''}$<br>`\n if (AB2 === DC2) {\n texteCorr += `<br>$${B.nom}${D.nom}=\\\\sqrt{(x_{${D.nom}}-x_${B.nom})^2+(y_{${D.nom}}-y_${B.nom})^2}=\\\\sqrt{(${xD}-${ecritureParentheseSiNegatif(xB)})^2+(${yD}-${ecritureParentheseSiNegatif(yB)})^2}=\\\\sqrt{${ecritureParentheseSiNegatif(xD - xB)}^2+${ecritureParentheseSiNegatif(yD - yB)}^2}=\\\\sqrt{${DB2}}${DB2 === 1 || DB2 === 4 || DB2 === 9 || DB2 === 16 || DB2 === 25 || DB2 === 36 || DB2 === 49 || DB2 === 64 || DB2 === 81 ? `=${texRacineCarree(DB2)}` : ''}$<br>`\n texteCorr += `<br>$${A.nom}${C.nom}=\\\\sqrt{(x_{${C.nom}}-x_${A.nom})^2+(y_{${C.nom}}-y_${A.nom})^2}=\\\\sqrt{(${xC}-${ecritureParentheseSiNegatif(xA)})^2+(${yC}-${ecritureParentheseSiNegatif(yA)})^2}=\\\\sqrt{${ecritureParentheseSiNegatif(xC - xA)}^2+${ecritureParentheseSiNegatif(yC - yA)}^2}=\\\\sqrt{${AC2}}${AC2 === 1 || AC2 === 4 || AC2 === 9 || AC2 === 16 || AC2 === 25 || AC2 === 36 || AC2 === 49 || AC2 === 64 || AC2 === 81 ? `=${texRacineCarree(AC2)}` : ''}$<br>`\n }\n\n texteCorr += ` <br>On observe que les côtés opposés de $${A.nom}${B.nom}${D.nom}${C.nom}$ ne sont pas deux à deux de même longueur.<br>\n `\n texteCorr += `$${A.nom}${B.nom}${D.nom}${C.nom}$ n'est donc pas un parallélogramme.`\n break\n }\n if (this.questionJamaisPosee(i, xA, yA, xB, yB, typesDeQuestions)) { // 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}\n"],"names":["titre","dateDeModifImportante","uuid","ref","Parallélogramme","Exercice","typesDeQuestionsDisponibles","typesDeQuestions","listeTypeDeQuestions","combinaisonListes","i","ux","uy","XMIN","XMAX","YMIN","YMAX","test","objets","nom","J","o","s1","s2","s3","s4","s5","s6","AB2","AC2","BC2","DB2","DC2","xA","yA","xB","yB","xC","yC","xD","yD","xM","yM","xN","yN","A","B","C","D","P","T","L","M","I","texte","texteCorr","cpt","randint","choice","abs","FractionEtendue","point","segment","creerNomDePolygone","codageSegments","tracePoint","labelPoint","polygoneAvecNom","texteParPosition","repere","mathalea2d","texteGras","ecritureParentheseSiNegatif","texNombre","texRacineCarree","listeQuestionsToContenu"],"mappings":"yQAgBY,MAACA,GAAQ,6DACRC,GAAwB,aAMxBC,GAAO,QACPC,GAAM,SACJ,SAASC,IAAmB,CACzCC,GAAS,KAAK,IAAI,EAClB,KAAK,MAAQL,GACb,KAAK,IAAM,SAAS,KAAK,GAAG,EAC5B,KAAK,YAAc,EACnB,KAAK,OAAS,EACd,KAAK,WAAa,EAClB,KAAK,IAAM,EACX,KAAK,oBAAsB,GAC3B,KAAK,8BAAgC,GACrC,KAAK,gBAAkB,UAAY,CACjC,KAAK,IAAM,SAAS,KAAK,GAAG,EAC5B,KAAK,eAAiB,CAAE,EACxB,KAAK,iBAAmB,CAAE,EAC1B,MAAMM,GAA8B,CAAC,EAAG,CAAC,EAAG,IAAIC,GAEhD,MAAMC,GAAuBC,GAAkBH,GAA6B,KAAK,WAAW,EAC5F,QAASI,EAAI,EAAGC,EAAIC,EAAIC,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,EAAQC,EAAKC,EAAGC,EAAGC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,GAAGC,EAAGC,EAAGC,EAAOC,EAAWC,GAAM,EAAG9C,EAAI,KAAK,aAAe8C,GAAM,IAAK,CAGjQ,OAFAjD,GAAmBC,GAAqBE,CAAC,EACzCQ,EAAS,CAAE,EACHX,GAAgB,CAGtB,IAAK,GAiBH,IAhBA0B,EAAKwB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCxB,EAAKuB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCrB,EAAKoB,EAAQ,EAAG,EAAGxB,CAAE,EAAIyB,EAAO,CAAC,GAAI,CAAC,CAAC,EACvCpB,EAAKmB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnC9C,EAAK6C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnC/C,EAAK8C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCtB,EAAKF,EAAKtB,EACVuB,EAAKF,EAAKtB,EACV4B,EAAKF,EAAK1B,EACV6B,EAAKF,EAAK1B,EACVgB,GAAOK,EAAKE,IAAO,GAAKD,EAAKE,IAAO,EACpCP,GAAOQ,EAAKJ,IAAO,GAAKK,EAAKJ,IAAO,EACpCJ,GAAOO,EAAKF,IAAO,GAAKG,EAAKF,IAAO,EACpCL,GAAOI,EAAKI,IAAO,GAAKH,EAAKI,IAAO,EACpCR,GAAOK,EAAKE,IAAO,GAAKD,EAAKE,IAAO,GAE5BD,EAAKN,IAAO,GAAKO,EAAKN,IAAO,EAAI,IAAMG,EAAKF,IAAO,GAAKG,EAAKF,IAAO,EAAI,GAAKuB,GAAI1B,EAAKE,CAAE,EAAI,GAAKwB,GAAI1B,EAAKI,CAAE,EAAI,GACxHC,KAAQF,EAAKF,IAAOC,EAAKF,GAAMI,EAAKH,GAAME,EAAKF,IAAOC,EAAKF,GAAMA,GAAM,KAAK,MAAMH,EAAMF,EAAMC,IAAQ,GAAM,KAAK,KAAKD,CAAG,EAAM,KAAK,KAAKC,CAAG,EAAG,EAAI,IACnJ,KAAK,MAAMC,EAAMF,EAAMC,IAAQ,GAAM,KAAK,KAAKD,CAAG,EAAM,KAAK,KAAKC,CAAG,EAAG,EAAI,KAC1EI,EAAKwB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCxB,EAAKuB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCrB,EAAKoB,EAAQ,EAAG,EAAGxB,CAAE,EAAIyB,EAAO,CAAC,GAAI,CAAC,CAAC,EACvCpB,EAAKmB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnC9C,EAAK6C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnC/C,EAAK8C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCtB,EAAKF,EAAKtB,EACVuB,EAAKF,EAAKtB,EACV4B,EAAKF,EAAK1B,EACV6B,EAAKF,EAAK1B,EACVgB,GAAOK,EAAKE,IAAO,GAAKD,EAAKE,IAAO,EACpCP,GAAOQ,EAAKJ,IAAO,GAAKK,EAAKJ,IAAO,EACpCJ,GAAOO,EAAKF,IAAO,GAAKG,EAAKF,IAAO,EACpCL,GAAOI,EAAKI,IAAO,GAAKH,EAAKI,IAAO,EACpCR,GAAOK,EAAKE,IAAO,GAAKD,EAAKE,IAAO,EAGtCC,EAAK,IAAImB,EAAgB3B,EAAKM,EAAI,CAAC,EACnCG,EAAK,IAAIkB,EAAgB1B,EAAKM,EAAI,CAAC,EACnCG,EAAK,IAAIiB,EAAgBzB,EAAKE,EAAI,CAAC,EACnCO,EAAK,IAAIgB,EAAgBxB,EAAKE,EAAI,CAAC,EACnCO,EAAIgB,EAAM5B,EAAIC,EAAI,IAAK,KAAK,EAC5BY,EAAIe,EAAM1B,EAAIC,EAAI,IAAK,KAAK,EAC5BW,EAAIc,EAAMxB,EAAIC,EAAI,IAAK,KAAK,EAC5BU,EAAIa,EAAMtB,EAAIC,EAAI,IAAK,KAAK,EAC5Ba,EAAIQ,EAAM,EAAG,EAAG,GAAG,EACnBzC,EAAIyC,EAAM,EAAG,EAAG,GAAG,EACnBT,EAAIS,GAAO5B,EAAKM,GAAM,GAAIL,EAAKM,GAAM,EAAG,GAAG,EAC3ClB,EAAKwC,EAAQjB,EAAGC,EAAG,MAAM,EACzBvB,EAAKuC,EAAQd,EAAGF,EAAG,MAAM,EACzBtB,EAAKsC,EAAQf,EAAGC,EAAG,MAAM,EACzBvB,EAAKqC,EAAQjB,EAAGE,EAAG,MAAM,EACzBrB,EAAKoC,EAAQjB,EAAGG,EAAG,KAAK,EACxBrB,EAAKmC,EAAQhB,EAAGC,EAAG,KAAK,EACxBzB,EAAG,UAAY,EACfC,EAAG,UAAY,EACfC,EAAG,UAAY,EACfC,EAAG,UAAY,EACfC,EAAG,UAAY,EACfC,EAAG,UAAY,EACfR,EAAM4C,GAAmB,EAAG,CAAC,MAAM,CAAC,EACpClB,EAAE,IAAM1B,EAAI,CAAC,EACb2B,EAAE,IAAM3B,EAAI,CAAC,EACb4B,EAAE,IAAM5B,EAAI,CAAC,EACb6B,EAAE,IAAM7B,EAAI,CAAC,EACb6C,GAAe,IAAK,MAAOtC,EAAIC,CAAE,EACjCuB,EAAIe,GAAWpB,EAAGC,EAAGC,EAAGC,EAAGI,CAAC,EAC5BD,GAAIe,GAAWd,CAAC,EAChBH,EAAIkB,GAAgBtB,EAAGC,EAAGE,EAAGD,CAAC,EAC9B7B,EAAO,KAAK+B,EAAE,CAAC,CAAC,EAChBK,EAAQ,4EACRA,GAAS,KAAKT,EAAE,GAAG,UAAUZ,CAAE,UAAUC,CAAE,gBAAgBY,EAAE,GAAG,UAAUX,CAAE,UAAUC,CAAE,eACxFkB,GAAS,KAAKP,EAAE,GAAG,UAAUV,CAAE,UAAUC,CAAE,gBAAgBU,EAAE,GAAG,UAAUT,CAAE,UAAUC,CAAE;AAAA,SAExFc,GAAS,kCAAkCT,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG,uCACxEM,EAAIe,EAAiB,IAAK,EAAG,IAAM,SAAU,QAAS,CAAC,EACvDhD,EAAIgD,EAAiB,IAAK,IAAM,EAAG,SAAU,QAAS,CAAC,EACvD/C,EAAI+C,EAAiB,IAAK,IAAM,IAAM,SAAU,QAAS,CAAC,EAC1DlD,EAAO,KAAKI,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIuB,EAAGC,GAAGE,EAAGjC,EAAGC,CAAC,EACjDR,EAAO,KAAK,IAAIoB,EAAIE,EAAIE,EAAIE,EAAI,EAAE,EAAI,EACtCxB,EAAO,KAAK,IAAImB,EAAIE,EAAIE,EAAIE,EAAI,EAAE,EAAI,EACtC1B,EAAO,KAAK,IAAImB,EAAIE,EAAIE,EAAIE,EAAI,CAAC,EAAI,EACrCvB,EAAO,KAAK,IAAIkB,EAAIE,EAAIE,EAAIE,EAAI,CAAC,EAAI,EACrCtB,EAAO,KAAKmD,GAAO,CACjB,KAAMxD,EACN,KAAME,EACN,KAAMD,EACN,KAAME,EACN,YAAa,GACb,YAAa,GACb,eAAgB,EAChB,eAAgB,CAC5B,CAAW,CAAC,EAEE,KAAK,qBACPuC,EAAY,uEACZA,GAAae,GAAW,CAAE,KAAMzD,EAAM,KAAME,EAAM,KAAMD,EAAM,KAAME,EAAM,YAAa,GAAI,MAAO,EAAK,EAAEE,CAAM,EAC/GqC,GAAa,uBAAuBV,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG;AAAA,2BAClDF,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG,2GAA2GF,EAAE,GAAG,GAAGG,EAAE,GAAG,WAAWF,EAAE,GAAG,GAAGC,EAAE,GAAG;AAAA,2BAC7KF,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG,wGACrCQ,EAAY,GACrBA,GAAa,QAAQgB,GAAU,4BAA4B,CAAC,WAC5DhB,GAAa,2CAA2CV,EAAE,GAAG,GAAGG,EAAE,GAAG,aACrEO,GAAa,gCAAgCV,EAAE,GAAG,MAAMG,EAAE,GAAG,iBAAiBf,CAAE,IAAIuC,EAA4BjC,CAAE,CAAC,gBAAgBkC,EAAUxC,EAAKM,CAAE,CAAC,OAAOE,EAAG,4BAA2B,CAAE,6BAA6BI,EAAE,GAAG,MAAMG,EAAE,GAAG,iBAAiBd,CAAE,IAAIsC,EAA4BhC,CAAE,CAAC,gBAAgBiC,EAAUvC,EAAKM,CAAE,CAAC,OAAOE,EAAG,4BAA6B,CAAA,gBACxWa,GAAa,+BAA+Bd,EAAG,UAAS,EAAG,MAAM,UAAUC,EAAG,YAAY,MAAM,YAChGa,GAAa,+CAA+CT,EAAE,GAAG,GAAGC,EAAE,GAAG,aACzEQ,GAAa,gCAAgCT,EAAE,GAAG,MAAMC,EAAE,GAAG,iBAAiBZ,CAAE,IAAIqC,EAA4BnC,CAAE,CAAC,gBAAgBoC,EAAUtC,EAAKE,CAAE,CAAC,OAAOM,EAAG,4BAA2B,CAAE,6BAA6BG,EAAE,GAAG,MAAMC,EAAE,GAAG,iBAAiBX,CAAE,IAAIoC,EAA4BlC,CAAE,CAAC,gBAAgBmC,EAAUrC,EAAKE,CAAE,CAAC,OAAOM,EAAG,4BAA6B,CAAA,gBAExWW,GAAa,+BAA+BZ,EAAG,UAAS,EAAG,MAAM,UAAUC,EAAG,YAAY,MAAM,YAChGW,GAAa,mIACbA,GAAa,0CAEbA,GAAa,YAAYgB,GAAU,8BAA8B,CAAC,UAClEhB,GAAa,QAAQV,EAAE,GAAG,GAAGC,EAAE,GAAG,eAAeA,EAAE,GAAG,OAAOD,EAAE,GAAG,WAAWC,EAAE,GAAG,OAAOD,EAAE,GAAG,gBAAgBV,CAAE,IAAIqC,EAA4BvC,CAAE,CAAC,QAAQG,CAAE,IAAIoC,EAA4BtC,CAAE,CAAC,eAAesC,EAA4BrC,EAAKF,CAAE,CAAC,MAAMuC,EAA4BpC,EAAKF,CAAE,CAAC,cAAcN,CAAG,IAAIA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,GAAK,IAAI8C,EAAgB9C,CAAG,CAAC,GAAK,EAAE,QAE3c2B,GAAa,QAAQR,EAAE,GAAG,GAAGC,EAAE,GAAG,eAAeA,EAAE,GAAG,OAAOD,EAAE,GAAG,WAAWC,EAAE,GAAG,OAAOD,EAAE,GAAG,gBAAgBR,CAAE,IAAIiC,EAA4BnC,CAAE,CAAC,QAAQG,CAAE,IAAIgC,EAA4BlC,CAAE,CAAC,eAAekC,EAA4BjC,EAAKF,CAAE,CAAC,MAAMmC,EAA4BhC,EAAKF,CAAE,CAAC,cAAcN,CAAG,IAAIA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,GAAK,IAAI0C,EAAgB1C,CAAG,CAAC,GAAK,EAAE,QAE3cuB,GAAa,QAAQT,EAAE,GAAG,GAAGE,EAAE,GAAG,eAAeA,EAAE,GAAG,OAAOF,EAAE,GAAG,WAAWE,EAAE,GAAG,OAAOF,EAAE,GAAG,gBAAgBP,CAAE,IAAIiC,EAA4BrC,CAAE,CAAC,QAAQK,CAAE,IAAIgC,EAA4BpC,CAAE,CAAC,eAAeoC,EAA4BjC,EAAKJ,CAAE,CAAC,MAAMqC,EAA4BhC,EAAKJ,CAAE,CAAC,cAAcL,CAAG,IAAIA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,GAAK,IAAI2C,EAAgB3C,CAAG,CAAC,GAAK,EAAE,QAC3cwB,GAAa,QAAQV,EAAE,GAAG,GAAGE,EAAE,GAAG,eAAeA,EAAE,GAAG,OAAOF,EAAE,GAAG,WAAWE,EAAE,GAAG,OAAOF,EAAE,GAAG,gBAAgBR,CAAE,IAAImC,EAA4BvC,CAAE,CAAC,QAAQK,CAAE,IAAIkC,EAA4BtC,CAAE,CAAC,eAAesC,EAA4BnC,EAAKJ,CAAE,CAAC,MAAMuC,EAA4BlC,EAAKJ,CAAE,CAAC,cAAcL,CAAG,IAAIA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,GAAK,IAAI6C,EAAgB7C,CAAG,CAAC,GAAK,EAAE,QAE3c0B,GAAa,2BAA2BV,EAAE,GAAG,GAAGC,EAAE,GAAG,IAAIC,EAAE,GAAG,GAAGC,EAAE,GAAG,SAASF,EAAE,GAAG,GAAGE,EAAE,GAAG,IAAIH,EAAE,GAAG,GAAGE,EAAE,GAAG;AAAA,aAE7GQ,GAAa,sCAAsCV,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG,8CAA8CF,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG,iCAE3J,MACF,IAAK,GAyBH,IAxBAd,EAAKwB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCxB,EAAKuB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCrB,EAAKoB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCpB,EAAKmB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnC/C,EAAK8C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnC9C,EAAK6C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCvB,EAAKF,EAAKtB,EACVyB,EAAKF,EAAKtB,EACVK,EAAOyC,EAAO,CAAC,GAAI,CAAC,CAAC,EACjBzC,IAAS,KACXsB,EAAKF,EAAK1B,EAAK8C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EAC7ClB,EAAKF,EAAK1B,GAERK,IAAS,IACXsB,EAAKF,EAAK1B,EACV6B,EAAKF,EAAK1B,EAAK6C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,GAG/C9B,GAAOK,EAAKE,IAAO,GAAKD,EAAKE,IAAO,EACpCP,GAAOQ,EAAKJ,IAAO,GAAKK,EAAKJ,IAAO,EACpCJ,GAAOO,EAAKF,IAAO,GAAKG,EAAKF,IAAO,EACpCL,GAAOI,EAAKI,IAAO,GAAKH,EAAKI,IAAO,EACpCR,GAAOK,EAAKE,IAAO,GAAKD,EAAKE,IAAO,GAE5BD,EAAKN,IAAO,GAAKO,EAAKN,IAAO,EAAI,IAAMG,EAAKF,IAAO,GAAKG,EAAKF,IAAO,EAAI,GAAKuB,GAAI1B,EAAKE,CAAE,EAAI,GAAKwB,GAAI1B,EAAKI,CAAE,EAAI,GACxHC,KAAQF,EAAKF,IAAOC,EAAKF,GAAMI,EAAKH,GAAME,EAAKF,IAAOC,EAAKF,GAAMA,GAAM,KAAK,MAAMH,EAAMF,EAAMC,IAAQ,GAAM,KAAK,KAAKD,CAAG,EAAM,KAAK,KAAKC,CAAG,EAAG,EAAI,IACnJ,KAAK,MAAMC,EAAMF,EAAMC,IAAQ,GAAM,KAAK,KAAKD,CAAG,EAAM,KAAK,KAAKC,CAAG,EAAG,EAAI,KAC1EI,EAAKwB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCxB,EAAKuB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCrB,EAAKoB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCpB,EAAKmB,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnC/C,EAAK8C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnC9C,EAAK6C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EACnCvB,EAAKF,EAAKtB,EACVyB,EAAKF,EAAKtB,EACVK,EAAOyC,EAAO,CAAC,GAAI,CAAC,CAAC,EACjBzC,IAAS,KACXsB,EAAKF,EAAK1B,EAAK8C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,EAC7ClB,EAAKF,EAAK1B,GAERK,IAAS,IACXsB,EAAKF,EAAK1B,EACV6B,EAAKF,EAAK1B,EAAK6C,EAAQ,EAAG,CAAC,EAAIC,EAAO,CAAC,GAAI,CAAC,CAAC,GAE/C9B,GAAOK,EAAKE,IAAO,GAAKD,EAAKE,IAAO,EACpCP,GAAOQ,EAAKJ,IAAO,GAAKK,EAAKJ,IAAO,EACpCJ,GAAOO,EAAKF,IAAO,GAAKG,EAAKF,IAAO,EACpCL,GAAOI,EAAKI,IAAO,GAAKH,EAAKI,IAAO,EACpCR,GAAOK,EAAKE,IAAO,GAAKD,EAAKE,IAAO,EAGtCC,EAAK,IAAImB,EAAgB3B,EAAKM,EAAI,CAAC,EACnCG,EAAK,IAAIkB,EAAgB1B,EAAKM,EAAI,CAAC,EACnCG,EAAK,IAAIiB,EAAgBzB,EAAKE,EAAI,CAAC,EACnCO,EAAK,IAAIgB,EAAgBxB,EAAKE,EAAI,CAAC,EACnCO,EAAIgB,EAAM5B,EAAIC,EAAI,IAAK,MAAM,EAC7BY,EAAIe,EAAM1B,EAAIC,EAAI,IAAK,MAAM,EAC7BW,EAAIc,EAAMxB,EAAIC,EAAI,IAAK,MAAM,EAC7BU,EAAIa,EAAMtB,EAAIC,EAAI,IAAK,MAAM,EAC7Ba,EAAIQ,EAAM,EAAG,EAAG,GAAG,EACnBzC,EAAIyC,EAAM,EAAG,EAAG,GAAG,EACnBT,EAAIS,GAAO5B,EAAKM,GAAM,GAAIL,EAAKM,GAAM,EAAG,IAAK,KAAK,EAClDlB,EAAKwC,EAAQjB,EAAGC,EAAG,MAAM,EACzBvB,EAAKuC,EAAQd,EAAGF,EAAG,MAAM,EACzBtB,EAAKsC,EAAQf,EAAGC,EAAG,MAAM,EACzBvB,EAAKqC,EAAQjB,EAAGE,EAAG,MAAM,EACzBrB,EAAKoC,EAAQjB,EAAGG,EAAG,KAAK,EACxBrB,EAAKmC,EAAQhB,EAAGC,EAAG,KAAK,EAExBzB,EAAG,UAAY,EACfC,EAAG,UAAY,EACfC,EAAG,UAAY,EACfC,EAAG,UAAY,EACfC,EAAG,UAAY,EACfC,EAAG,UAAY,EAEfR,EAAM4C,GAAmB,EAAG,CAAC,MAAM,CAAC,EACpClB,EAAE,IAAM1B,EAAI,CAAC,EACb2B,EAAE,IAAM3B,EAAI,CAAC,EACb4B,EAAE,IAAM5B,EAAI,CAAC,EACb6B,EAAE,IAAM7B,EAAI,CAAC,EACb6C,GAAe,IAAK,MAAOtC,EAAIC,CAAE,EACjCuB,EAAIe,GAAWpB,EAAGC,EAAGC,EAAGC,CAAC,EACzBC,EAAIkB,GAAgBtB,EAAGC,EAAGE,EAAGD,CAAC,EAC9B7B,EAAO,KAAK+B,EAAE,CAAC,CAAC,EAChBI,EAAIe,EAAiB,IAAK,EAAG,IAAM,SAAU,QAAS,CAAC,EACvDhD,EAAIgD,EAAiB,IAAK,IAAM,EAAG,SAAU,QAAS,CAAC,EACvD/C,EAAI+C,EAAiB,IAAK,IAAM,IAAM,SAAU,QAAS,CAAC,EAC1DlD,EAAO,KAAKI,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIuB,EAAGG,EAAGjC,EAAGC,CAAC,EAC9CR,EAAO,KAAK,IAAIoB,EAAIE,EAAIE,EAAIE,EAAI,EAAE,EAAI,EACtCxB,EAAO,KAAK,IAAImB,EAAIE,EAAIE,EAAIE,EAAI,EAAE,EAAI,EACtC1B,EAAO,KAAK,IAAImB,EAAIE,EAAIE,EAAIE,EAAI,CAAC,EAAI,EACrCvB,EAAO,KAAK,IAAIkB,EAAIE,EAAIE,EAAIE,EAAI,CAAC,EAAI,EACrCtB,EAAO,KAAKmD,GAAO,CACjB,KAAMxD,EACN,KAAME,EACN,KAAMD,EACN,KAAME,EACN,YAAa,GACb,YAAa,GACb,eAAgB,EAChB,eAAgB,CAC5B,CAAW,CAAC,EACFsC,EAAQ,4EACRA,GAAS,KAAKT,EAAE,GAAG,UAAUZ,CAAE,UAAUC,CAAE,gBAAgBY,EAAE,GAAG,UAAUX,CAAE,UAAUC,CAAE,cACxFkB,GAAS,KAAKP,EAAE,GAAG,UAAUV,CAAE,UAAUC,CAAE,gBAAgBU,EAAE,GAAG,UAAUT,CAAE,UAAUC,CAAE;AAAA,SAExFc,GAAS,kCAAkCT,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG,uCAEpE,KAAK,qBACPQ,EAAY,uEACZA,GAAae,GAAW,CAAE,KAAMzD,EAAM,KAAME,EAAM,KAAMD,EAAM,KAAME,EAAM,YAAa,GAAI,MAAO,EAAK,EAAEE,CAAM,EAC/GqC,GAAa,uBAAuBV,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG;AAAA,2BAClDF,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG,2GAA2GF,EAAE,GAAG,GAAGG,EAAE,GAAG,WAAWF,EAAE,GAAG,GAAGC,EAAE,GAAG;AAAA,2BAC7KF,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG,wGACrCQ,EAAY,GACrBA,GAAa,QAAQgB,GAAU,4BAA4B,CAAC,WAC5DhB,GAAa,2CAA2CV,EAAE,GAAG,GAAGG,EAAE,GAAG,aACrEO,GAAa,gCAAgCV,EAAE,GAAG,MAAMG,EAAE,GAAG,iBAAiBf,CAAE,IAAIuC,EAA4BjC,CAAE,CAAC,gBAAgBkC,EAAUxC,EAAKM,CAAE,CAAC,OAAOE,EAAG,4BAA2B,CAAE,6BAA6BI,EAAE,GAAG,MAAMG,EAAE,GAAG,iBAAiBd,CAAE,IAAIsC,EAA4BhC,CAAE,CAAC,gBAAgBiC,EAAUvC,EAAKM,CAAE,CAAC,OAAOE,EAAG,4BAA6B,CAAA,gBAExWa,GAAa,+BAA+Bd,EAAG,UAAS,EAAG,MAAM,UAAUC,EAAG,YAAY,MAAM,YAChGa,GAAa,8CAA8CT,EAAE,GAAG,GAAGC,EAAE,GAAG,aACxEQ,GAAa,gCAAgCT,EAAE,GAAG,MAAMC,EAAE,GAAG,iBAAiBZ,CAAE,IAAIqC,EAA4BnC,CAAE,CAAC,gBAAgBoC,EAAUtC,EAAKE,CAAE,CAAC,OAAOM,EAAG,4BAA2B,CAAE,6BAA6BG,EAAE,GAAG,MAAMC,EAAE,GAAG,iBAAiBX,CAAE,IAAIoC,EAA4BlC,CAAE,CAAC,gBAAgBmC,EAAUrC,EAAKE,CAAE,CAAC,OAAOM,EAAG,4BAA6B,CAAA,gBAExWW,GAAa,+BAA+BZ,EAAG,UAAS,EAAG,MAAM,UAAUC,EAAG,YAAY,MAAM,YAChGW,GAAa,gJACbA,GAAa,QAAQV,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG,kCAElDQ,GAAa,YAAYgB,GAAU,8BAA8B,CAAC,UAClEhB,GAAa,QAAQV,EAAE,GAAG,GAAGC,EAAE,GAAG,eAAeA,EAAE,GAAG,OAAOD,EAAE,GAAG,WAAWC,EAAE,GAAG,OAAOD,EAAE,GAAG,gBAAgBV,CAAE,IAAIqC,EAA4BvC,CAAE,CAAC,QAAQG,CAAE,IAAIoC,EAA4BtC,CAAE,CAAC,eAAesC,EAA4BrC,EAAKF,CAAE,CAAC,MAAMuC,EAA4BpC,EAAKF,CAAE,CAAC,cAAcN,CAAG,IAAIA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,GAAK,IAAI8C,EAAgB9C,CAAG,CAAC,GAAK,EAAE,QAE3c2B,GAAa,QAAQR,EAAE,GAAG,GAAGC,EAAE,GAAG,eAAeA,EAAE,GAAG,OAAOD,EAAE,GAAG,WAAWC,EAAE,GAAG,OAAOD,EAAE,GAAG,gBAAgBR,CAAE,IAAIiC,EAA4BnC,CAAE,CAAC,QAAQG,CAAE,IAAIgC,EAA4BlC,CAAE,CAAC,eAAekC,EAA4BjC,EAAKF,CAAE,CAAC,MAAMmC,EAA4BhC,EAAKF,CAAE,CAAC,cAAcN,CAAG,IAAIA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,GAAK,IAAI0C,EAAgB1C,CAAG,CAAC,GAAK,EAAE,QACvcJ,IAAQI,IACVuB,GAAa,QAAQT,EAAE,GAAG,GAAGE,EAAE,GAAG,eAAeA,EAAE,GAAG,OAAOF,EAAE,GAAG,WAAWE,EAAE,GAAG,OAAOF,EAAE,GAAG,gBAAgBP,CAAE,IAAIiC,EAA4BrC,CAAE,CAAC,QAAQK,CAAE,IAAIgC,EAA4BpC,CAAE,CAAC,eAAeoC,EAA4BjC,EAAKJ,CAAE,CAAC,MAAMqC,EAA4BhC,EAAKJ,CAAE,CAAC,cAAcL,CAAG,IAAIA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,GAAK,IAAI2C,EAAgB3C,CAAG,CAAC,GAAK,EAAE,QAC3cwB,GAAa,QAAQV,EAAE,GAAG,GAAGE,EAAE,GAAG,eAAeA,EAAE,GAAG,OAAOF,EAAE,GAAG,WAAWE,EAAE,GAAG,OAAOF,EAAE,GAAG,gBAAgBR,CAAE,IAAImC,EAA4BvC,CAAE,CAAC,QAAQK,CAAE,IAAIkC,EAA4BtC,CAAE,CAAC,eAAesC,EAA4BnC,EAAKJ,CAAE,CAAC,MAAMuC,EAA4BlC,EAAKJ,CAAE,CAAC,cAAcL,CAAG,IAAIA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,GAAKA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,IAAMA,IAAQ,GAAK,IAAI6C,EAAgB7C,CAAG,CAAC,GAAK,EAAE,SAG7c0B,GAAa,8CAA8CV,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG;AAAA,aAExFQ,GAAa,IAAIV,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAGE,EAAE,GAAG,GAAGD,EAAE,GAAG,uCAC9C,KACH,CACG,KAAK,oBAAoBrC,EAAGuB,EAAIC,EAAIC,EAAIC,EAAI7B,EAAgB,IAC9D,KAAK,eAAe,KAAK+C,CAAK,EAC9B,KAAK,iBAAiB,KAAKC,CAAS,EACpC7C,KAEF8C,IACD,CACDmB,GAAwB,IAAI,CAC7B,CACH"}