HEX
Server: Apache
System: Linux vps.mmtprep.com 4.18.0-477.21.1.el8_8.x86_64 #1 SMP Thu Aug 10 13:51:50 EDT 2023 x86_64
User: mmtprep (1001)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/5S13-Fpe55IUx.js.map
{"version":3,"file":"5S13-Fpe55IUx.js","sources":["../../src/exercices/5e/5S13.js"],"sourcesContent":["import { choice } from '../../lib/outils/arrayOutils'\nimport { listeDeNotes, tirerLesDes, unMoisDeTemperature } from '../../lib/outils/aleatoires'\nimport { joursParMois, nomDuMois } from '../../lib/outils/dateEtHoraires'\nimport { deprecatedTexFraction } from '../../lib/outils/deprecatedFractions.js'\nimport { arrondi } from '../../lib/outils/nombres.js'\nimport { prenom } from '../../lib/outils/Personne'\nimport { texNombre } from '../../lib/outils/texNombre.js'\nimport Exercice from '../Exercice.js'\nimport { calculANePlusJamaisUtiliser, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport FractionEtendue from '../../modules/FractionEtendue.js'\nimport { context } from '../../modules/context.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const titre = 'Calculate frequencies'\n\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\n\nexport const dateDeModifImportante = '28/02/2022'\n\n/**\n * Calculs de fréquences dans des séries statistiques\n * @author Jean-Claude Lhote (Interactif et AMC par EE)\n * Référence 5S13\n */\nexport const uuid = '8cdd5'\nexport const ref = '5S13'\nexport default function CalculerDesFrequences () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.titre = titre\n  this.consigne = ''\n  this.nbQuestions = 1\n  this.spacing = 1\n  this.spacingCorr = 1.5\n  this.nbCols = 1\n  this.nbColsCorr = 1\n  this.sup = 1\n\n  this.nouvelleVersion = function () {\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    this.autoCorrection = []\n    for (let i = 0, temperatures, nombreTemperatures, nombreNotes, notes, reponse, nombreDes, nombreFaces, nombreTirages, indexValeur, frequence, tirages, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      if (this.sup === 1) { // ici on lance des dés\n        nombreDes = randint(1, 2)\n        nombreFaces = choice([4, 6, 8, 10])\n        nombreTirages = choice([50, 100, 200, 500, 1000])\n        tirages = tirerLesDes(nombreTirages, nombreFaces, nombreDes) // on récupère une série rangée dans l'ordre croissant avec les effectifs correspondants\n        do {\n          indexValeur = randint(0, tirages.length - 1)\n        }\n        while (tirages[indexValeur][1] === 0) // on choisit au hasard l'index of a value whose number is different from 0.\n        if (nombreDes > 1) {\n          texte = `We made $${nombreTirages}$ throws of $${nombreDes}$ dice with $${nombreFaces}$ faces.<br>`\n        } else {\n          texte = `We made $${nombreTirages}$ rolls of a $${nombreFaces}$ sided die.<br>`\n        }\n        texte += 'The results are listed in the table below:<br><br>'\n        if (tirages.length > 12) {\n          texte += '$\\\\def\\\\arraystretch{1.5}\\\\begin{array}{|c' // construction du tableau des effectifs 1/2\n          for (let j = 0; j <= Math.round(tirages.length / 2); j++) {\n            texte += '|c'\n          }\n          texte += '}\\\\hline \\\\text{Scores}'\n          for (let j = 0; j < Math.round(tirages.length / 2); j++) {\n            texte += '&' + tirages[j][0]\n          }\n          texte += '\\\\\\\\\\\\hline \\\\text{Number of appearances}'\n          for (let j = 0; j < Math.round(tirages.length / 2); j++) {\n            texte += '&' + tirages[j][1]\n          }\n          texte += '\\\\\\\\\\\\hline\\\\end{array}$<br><br>'\n\n          texte += '$\\\\def\\\\arraystretch{1.5}\\\\begin{array}{|c' // construction du tableau des effectifs 2/2\n          for (let j = Math.round(tirages.length / 2); j <= tirages.length; j++) {\n            texte += '|c'\n          }\n          texte += '}\\\\hline \\\\text{Scores}'\n          for (let j = Math.round(tirages.length / 2); j < tirages.length; j++) {\n            texte += '&' + tirages[j][0]\n          }\n          texte += '\\\\\\\\\\\\hline \\\\text{Number of appearances}'\n          for (let j = Math.round(tirages.length / 2); j < tirages.length; j++) {\n            texte += '&' + tirages[j][1]\n          }\n          texte += '\\\\\\\\\\\\hline\\\\end{array}$'\n        } else {\n          texte += '$\\\\def\\\\arraystretch{1.5}\\\\begin{array}{|c' // construction du tableau des effectifs en un seul morceau\n          for (let j = 0; j <= tirages.length; j++) {\n            texte += '|c'\n          }\n          texte += '}\\\\hline \\\\text{Scores}'\n          for (let j = 0; j < tirages.length; j++) {\n            texte += '&' + tirages[j][0]\n          }\n          texte += '\\\\\\\\\\\\hline \\\\text{Number of appearances}'\n          for (let j = 0; j < tirages.length; j++) {\n            texte += '&' + tirages[j][1]\n          }\n          texte += '\\\\\\\\\\\\hline\\\\end{array}$'\n        }\n\n        texte += '<br><br> Calculate the frequency of the value ' + `$${calculANePlusJamaisUtiliser(nombreDes + indexValeur)}$.`\n        texteCorr = 'The value ' + `$${calculANePlusJamaisUtiliser(nombreDes + indexValeur)}$ appears ` + `$${tirages[indexValeur][1]}$ times.<br>The total number of throws is $${texNombre(nombreTirages)}$.<br>`\n        texteCorr += 'The frequency of the value ' + `$${calculANePlusJamaisUtiliser(nombreDes + indexValeur)}$` + ' is ' + `$${deprecatedTexFraction(tirages[indexValeur][1], texNombre(nombreTirages))}=${texNombre(calculANePlusJamaisUtiliser(tirages[indexValeur][1] / nombreTirages))}$<br>`\n        texteCorr += 'Either ' + `$${texNombre(calculANePlusJamaisUtiliser(tirages[indexValeur][1] * 100 / nombreTirages))}\\\\thickspace\\\\%$.`\n        reponse = new FractionEtendue(tirages[indexValeur][1], nombreTirages)\n      } else if (this.sup === 2) { // ici on trie des notes\n        nombreNotes = choice([8, 10, 12])\n        notes = listeDeNotes(nombreNotes, randint(0, 7), randint(13, 20)) // on récupère une liste de notes (série brute)\n        indexValeur = randint(0, notes.length - 1) // on choisit une des notes au hasard\n        frequence = 0\n        for (let j = 0; j < notes.length; j++) { // frequence va contenir l'effectif de la note choisie\n          if (notes[j] === notes[indexValeur]) {\n            frequence++\n          }\n        }\n        texte = `${prenom()} achieved these grades this term in mathematics:<br>`\n        texte += `$${notes[0]}$`\n        for (let j = 1; j < nombreNotes - 1; j++) {\n          texte += `; $${notes[j]}$`\n        } // On liste les notes (série brute)\n        texte += `and $${notes[nombreNotes - 1]}$.`\n\n        texte += `<br><br>Calculate the frequency of the $${notes[indexValeur]}$ note.`\n        texteCorr = `The $${notes[indexValeur]}$ rating was obtained $${frequence}$ times.<br> There are $${nombreNotes}$ ratings.<br>`\n        texteCorr += `So the frequency of the note $${notes[indexValeur]}$ is: ` + `$${deprecatedTexFraction(texNombre(frequence), texNombre(nombreNotes))}$`\n        reponse = new FractionEtendue(frequence, nombreNotes)\n        if (arrondi(frequence / nombreNotes, 3) === frequence / nombreNotes) { // valeurs exactes\n          texteCorr += `$=${texNombre(frequence / nombreNotes, 3)}$<br>` // frequency to 3 significant digitscorrtext += 'Let ' + `$${texNombre(calculANePlusJamaisUtiliser(frequence * 100 / nombreNotes))}\\\\thickspace\\\\%$.` // frequency in percentage with 1 decimal place} else {corrtext += `$\\ \\approx${texNombre(frequence / nombreNotes, 3)}$<br>` // rounded valuestextCorr += 'Either approximately ' + `$${texNombre(calculANePlusJamaisUtiliser(frequence * 100 / nombreNotes), 1)}\\\\thickspace\\\\%$.`\n        }\n      } else { // ici on relève des températures\n        const mois = randint(1, 12)\n        const annee = randint(1980, 2019)\n        const temperaturesDeBase = [3, 5, 9, 13, 19, 24, 26, 25, 23, 18, 10, 5]\n        nombreTemperatures = joursParMois(mois, annee)\n        temperatures = unMoisDeTemperature(temperaturesDeBase[mois - 1], mois, annee) // on récupère une série de températures correspondant à 1 mois d'une année (série brute)\n        indexValeur = randint(0, temperatures.length - 1) // on choisit l'index d'une valeur au hasard\n        frequence = 0\n        for (let j = 0; j < temperatures.length; j++) {\n          if (temperatures[j] === temperatures[indexValeur]) {\n            frequence++\n          } // frequence contient l'effectif de cette valeur\n        }\n        texte = `In ${nomDuMois(mois)} ${annee}, at ${choice(['Moscow', 'Berlin', 'Paris', 'Brussels', 'Rome', 'Belgrade'])}, the following temperatures were recorded.<br>`\n\n        texte += '$\\\\def\\\\arraystretch{1.5}\\\\begin{array}{|c' // On construit le tableau des températures\n        texte += '|c'\n        for (let j = 0; j < Math.round(temperatures.length / 2); j++) {\n          texte += '|c'\n        }\n        texte += '}\\\\hline \\\\text{Day}'\n        for (let j = 0; j < Math.round(temperatures.length / 2); j++) {\n          texte += '&' + texNombre(j + 1)\n        }\n        texte += '\\\\\\\\\\\\hline \\\\text{Temperature in} ^\\\\circ\\\\text{C}'\n        for (let j = 0; j < Math.round(temperatures.length / 2); j++) {\n          texte += '&' + temperatures[j]\n        }\n        texte += '\\\\\\\\\\\\hline\\\\end{array}$<br><br>'\n        texte += '$\\\\def\\\\arraystretch{1.5}\\\\begin{array}{|c' // On construit le tableau des températures\n        texte += '|c'\n        for (let j = Math.round(temperatures.length / 2); j < temperatures.length; j++) {\n          texte += '|c'\n        }\n        texte += '}\\\\hline \\\\text{Day}'\n        for (let j = Math.round(temperatures.length / 2); j < temperatures.length; j++) {\n          texte += '&' + texNombre(j + 1)\n        }\n        texte += '\\\\\\\\\\\\hline \\\\text{Temperature in} ^\\\\circ\\\\text{C}'\n        for (let j = Math.round(temperatures.length / 2); j < temperatures.length; j++) {\n          texte += '&' + temperatures[j]\n        }\n        texte += '\\\\\\\\\\\\hline\\\\end{array}$'\n\n        texte += '<br><br>Calculate temperature frequency' + `$${temperatures[indexValeur]}^\\\\circ\\\\text{C}$.`\n        texteCorr = `In ${nomDuMois(mois)} ${annee}, at ${choice(['Moscow', 'Berlin', 'Paris', 'Brussels', 'Rome', 'Belgrade'])}, the temperature $${temperatures[indexValeur]}^\\\\circ\\\\text{C}$ was recorded $${frequence}$ times.<br>`\n        texteCorr += `There are $${joursParMois(mois, annee)}$ days this month.<br> The frequency of temperature $${temperatures[indexValeur]}^\\\\circ\\\\text{C}$ is:<br>`\n        texteCorr += `$${deprecatedTexFraction(texNombre(frequence), texNombre(joursParMois(mois, annee)))}$`\n        reponse = new FractionEtendue(frequence, joursParMois(mois, annee))\n        if (arrondi(frequence / nombreTemperatures, 3) === frequence / nombreTemperatures) { // valeurs exactes\n          texteCorr += `$=${texNombre(frequence / nombreTemperatures, 3)}$<br>`\n          texteCorr += 'Either' + `$${texNombre(calculANePlusJamaisUtiliser(frequence * 100 / nombreTemperatures))}\\\\thickspace\\\\%$.`\n        } else {\n          texteCorr += `$\\\\approx${texNombre(frequence / nombreTemperatures, 3)}$<br>` // rounded valuestextCorr += 'Either approximately ' + `$${texNombre(calculANePlusJamaisUtiliser(frequence * 100 / nombreTemperatures), 1)}\\\\thickspace\\\\%$.`\n        }\n      }\n      if (this.interactif) {\n        texte += ' (We will give the exact value in decimal or fractional writing)<br>'\n        texte += ajouteChampTexteMathLive(this, i, 'width25 inline')\n        setReponse(this, i, reponse, {\n          formatInteractif: 'fractionEqual',\n          digits: 5,\n          digitsNum: 3,\n          digitsDen: 2,\n          signe: true\n        })\n      }\n      if (context.isAmc) {\n        reponse = reponse.simplifie()\n        this.autoCorrection[i] = {\n          enonce: texte,\n          options: { multicols: true, barreseparation: true }, // facultatif. Par défaut, multicols est à false. Ce paramètre provoque un multicolonnage (sur 2 colonnes par défaut) : pratique quand on met plusieurs AMCNum. !!! Attention, cela ne fonctionne pas, nativement, pour AMCOpen. !!!\n          propositions: [\n            {\n              type: 'AMCOpen',\n              propositions: [{\n                texte: texteCorr,\n                statut: 3\n              }]\n            },\n            {\n              type: 'AMCNum',\n              propositions: [{\n                texte: '',\n                statut: '',\n                reponse: {\n                  texte: 'Result in the form of an irreducible fraction',\n                  valeur: [reponse],\n                  param: {\n                    signe: false,\n                    approx: 0\n                  }\n                }\n              }]\n            }\n          ]\n        }\n      }\n      if (this.listeQuestions.indexOf(texte) === -1) { // 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 = ['Type of series', 3, '1: Dice rolls \\n2: List of notes\\n3: A month of temperatures']\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","dateDeModifImportante","uuid","ref","CalculerDesFrequences","Exercice","i","temperatures","nombreTemperatures","nombreNotes","notes","reponse","nombreDes","nombreFaces","nombreTirages","indexValeur","frequence","tirages","texte","texteCorr","cpt","randint","choice","tirerLesDes","j","calculANePlusJamaisUtiliser","texNombre","deprecatedTexFraction","FractionEtendue","listeDeNotes","prenom","arrondi","mois","annee","temperaturesDeBase","joursParMois","unMoisDeTemperature","nomDuMois","ajouteChampTexteMathLive","setReponse","context","listeQuestionsToContenu"],"mappings":"mUAcY,MAACA,EAAQ,wBAERC,EAAkB,GAClBC,EAAiB,WACjBC,EAAW,GACXC,EAAU,aAEVC,EAAwB,aAOxBC,EAAO,QACPC,EAAM,OACJ,SAASC,GAAyB,CAC/CC,EAAS,KAAK,IAAI,EAClB,KAAK,MAAQT,EACb,KAAK,SAAW,GAChB,KAAK,YAAc,EACnB,KAAK,QAAU,EACf,KAAK,YAAc,IACnB,KAAK,OAAS,EACd,KAAK,WAAa,EAClB,KAAK,IAAM,EAEX,KAAK,gBAAkB,UAAY,CACjC,KAAK,eAAiB,CAAE,EACxB,KAAK,iBAAmB,CAAE,EAC1B,KAAK,eAAiB,CAAE,EACxB,QAASU,EAAI,EAAGC,EAAcC,EAAoBC,EAAaC,EAAOC,EAASC,EAAWC,EAAaC,EAAeC,EAAaC,EAAWC,EAASC,EAAOC,EAAWC,EAAM,EAAGd,EAAI,KAAK,aAAec,EAAM,IAAK,CACnN,GAAI,KAAK,MAAQ,EAAG,CAClBR,EAAYS,EAAQ,EAAG,CAAC,EACxBR,EAAcS,EAAO,CAAC,EAAG,EAAG,EAAG,EAAE,CAAC,EAClCR,EAAgBQ,EAAO,CAAC,GAAI,IAAK,IAAK,IAAK,GAAI,CAAC,EAChDL,EAAUM,EAAYT,EAAeD,EAAaD,CAAS,EAC3D,GACEG,EAAcM,EAAQ,EAAGJ,EAAQ,OAAS,CAAC,QAEtCA,EAAQF,CAAW,EAAE,CAAC,IAAM,GAOnC,GANIH,EAAY,EACdM,EAAQ,YAAYJ,CAAa,gBAAgBF,CAAS,gBAAgBC,CAAW,eAErFK,EAAQ,YAAYJ,CAAa,iBAAiBD,CAAW,mBAE/DK,GAAS,qDACLD,EAAQ,OAAS,GAAI,CACvBC,GAAS,6CACT,QAASM,EAAI,EAAGA,GAAK,KAAK,MAAMP,EAAQ,OAAS,CAAC,EAAGO,IACnDN,GAAS,KAEXA,GAAS,0BACT,QAASM,EAAI,EAAGA,EAAI,KAAK,MAAMP,EAAQ,OAAS,CAAC,EAAGO,IAClDN,GAAS,IAAMD,EAAQO,CAAC,EAAE,CAAC,EAE7BN,GAAS,4CACT,QAASM,EAAI,EAAGA,EAAI,KAAK,MAAMP,EAAQ,OAAS,CAAC,EAAGO,IAClDN,GAAS,IAAMD,EAAQO,CAAC,EAAE,CAAC,EAE7BN,GAAS,mCAETA,GAAS,6CACT,QAASM,EAAI,KAAK,MAAMP,EAAQ,OAAS,CAAC,EAAGO,GAAKP,EAAQ,OAAQO,IAChEN,GAAS,KAEXA,GAAS,0BACT,QAASM,EAAI,KAAK,MAAMP,EAAQ,OAAS,CAAC,EAAGO,EAAIP,EAAQ,OAAQO,IAC/DN,GAAS,IAAMD,EAAQO,CAAC,EAAE,CAAC,EAE7BN,GAAS,4CACT,QAASM,EAAI,KAAK,MAAMP,EAAQ,OAAS,CAAC,EAAGO,EAAIP,EAAQ,OAAQO,IAC/DN,GAAS,IAAMD,EAAQO,CAAC,EAAE,CAAC,EAE7BN,GAAS,0BACnB,KAAe,CACLA,GAAS,6CACT,QAASM,EAAI,EAAGA,GAAKP,EAAQ,OAAQO,IACnCN,GAAS,KAEXA,GAAS,0BACT,QAASM,EAAI,EAAGA,EAAIP,EAAQ,OAAQO,IAClCN,GAAS,IAAMD,EAAQO,CAAC,EAAE,CAAC,EAE7BN,GAAS,4CACT,QAASM,EAAI,EAAGA,EAAIP,EAAQ,OAAQO,IAClCN,GAAS,IAAMD,EAAQO,CAAC,EAAE,CAAC,EAE7BN,GAAS,0BACV,CAEDA,GAAS,kDAAuDO,EAA4Bb,EAAYG,CAAW,CAAC,KACpHI,EAAY,cAAmBM,EAA4Bb,EAAYG,CAAW,CAAC,cAAmBE,EAAQF,CAAW,EAAE,CAAC,CAAC,8CAA8CW,EAAUZ,CAAa,CAAC,SACnMK,GAAa,+BAAoCM,EAA4Bb,EAAYG,CAAW,CAAC,SAAmBY,EAAsBV,EAAQF,CAAW,EAAE,CAAC,EAAGW,EAAUZ,CAAa,CAAC,CAAC,IAAIY,EAAUD,EAA4BR,EAAQF,CAAW,EAAE,CAAC,EAAID,CAAa,CAAC,CAAC,QACnRK,GAAa,WAAgBO,EAAUD,EAA4BR,EAAQF,CAAW,EAAE,CAAC,EAAI,IAAMD,CAAa,CAAC,CAAC,oBAClHH,EAAU,IAAIiB,EAAgBX,EAAQF,CAAW,EAAE,CAAC,EAAGD,CAAa,CAC5E,SAAiB,KAAK,MAAQ,EAAG,CACzBL,EAAca,EAAO,CAAC,EAAG,GAAI,EAAE,CAAC,EAChCZ,EAAQmB,EAAapB,EAAaY,EAAQ,EAAG,CAAC,EAAGA,EAAQ,GAAI,EAAE,CAAC,EAChEN,EAAcM,EAAQ,EAAGX,EAAM,OAAS,CAAC,EACzCM,EAAY,EACZ,QAASQ,EAAI,EAAGA,EAAId,EAAM,OAAQc,IAC5Bd,EAAMc,CAAC,IAAMd,EAAMK,CAAW,GAChCC,IAGJE,EAAQ,GAAGY,EAAQ,CAAA,uDACnBZ,GAAS,IAAIR,EAAM,CAAC,CAAC,IACrB,QAASc,EAAI,EAAGA,EAAIf,EAAc,EAAGe,IACnCN,GAAS,MAAMR,EAAMc,CAAC,CAAC,IAEzBN,GAAS,QAAQR,EAAMD,EAAc,CAAC,CAAC,KAEvCS,GAAS,2CAA2CR,EAAMK,CAAW,CAAC,UACtEI,EAAY,QAAQT,EAAMK,CAAW,CAAC,0BAA0BC,CAAS,2BAA2BP,CAAW,iBAC/GU,GAAa,iCAAiCT,EAAMK,CAAW,CAAC,UAAeY,EAAsBD,EAAUV,CAAS,EAAGU,EAAUjB,CAAW,CAAC,CAAC,IAClJE,EAAU,IAAIiB,EAAgBZ,EAAWP,CAAW,EAChDsB,EAAQf,EAAYP,EAAa,CAAC,IAAMO,EAAYP,IACtDU,GAAa,KAAKO,EAAUV,EAAYP,EAAa,CAAC,CAAC,QAEjE,KAAa,CACL,MAAMuB,EAAOX,EAAQ,EAAG,EAAE,EACpBY,EAAQZ,EAAQ,KAAM,IAAI,EAC1Ba,EAAqB,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EACtE1B,EAAqB2B,EAAaH,EAAMC,CAAK,EAC7C1B,EAAe6B,EAAoBF,EAAmBF,EAAO,CAAC,EAAGA,EAAMC,CAAK,EAC5ElB,EAAcM,EAAQ,EAAGd,EAAa,OAAS,CAAC,EAChDS,EAAY,EACZ,QAASQ,EAAI,EAAGA,EAAIjB,EAAa,OAAQiB,IACnCjB,EAAaiB,CAAC,IAAMjB,EAAaQ,CAAW,GAC9CC,IAGJE,EAAQ,MAAMmB,EAAUL,CAAI,CAAC,IAAIC,CAAK,QAAQX,EAAO,CAAC,SAAU,SAAU,QAAS,WAAY,OAAQ,UAAU,CAAC,CAAC,kDAEnHJ,GAAS,6CACTA,GAAS,KACT,QAASM,EAAI,EAAGA,EAAI,KAAK,MAAMjB,EAAa,OAAS,CAAC,EAAGiB,IACvDN,GAAS,KAEXA,GAAS,uBACT,QAASM,EAAI,EAAGA,EAAI,KAAK,MAAMjB,EAAa,OAAS,CAAC,EAAGiB,IACvDN,GAAS,IAAMQ,EAAUF,EAAI,CAAC,EAEhCN,GAAS,sDACT,QAASM,EAAI,EAAGA,EAAI,KAAK,MAAMjB,EAAa,OAAS,CAAC,EAAGiB,IACvDN,GAAS,IAAMX,EAAaiB,CAAC,EAE/BN,GAAS,mCACTA,GAAS,6CACTA,GAAS,KACT,QAASM,EAAI,KAAK,MAAMjB,EAAa,OAAS,CAAC,EAAGiB,EAAIjB,EAAa,OAAQiB,IACzEN,GAAS,KAEXA,GAAS,uBACT,QAASM,EAAI,KAAK,MAAMjB,EAAa,OAAS,CAAC,EAAGiB,EAAIjB,EAAa,OAAQiB,IACzEN,GAAS,IAAMQ,EAAUF,EAAI,CAAC,EAEhCN,GAAS,sDACT,QAASM,EAAI,KAAK,MAAMjB,EAAa,OAAS,CAAC,EAAGiB,EAAIjB,EAAa,OAAQiB,IACzEN,GAAS,IAAMX,EAAaiB,CAAC,EAE/BN,GAAS,2BAETA,GAAS,2CAAgDX,EAAaQ,CAAW,CAAC,qBAClFI,EAAY,MAAMkB,EAAUL,CAAI,CAAC,IAAIC,CAAK,QAAQX,EAAO,CAAC,SAAU,SAAU,QAAS,WAAY,OAAQ,UAAU,CAAC,CAAC,sBAAsBf,EAAaQ,CAAW,CAAC,mCAAmCC,CAAS,eAClNG,GAAa,cAAcgB,EAAaH,EAAMC,CAAK,CAAC,wDAAwD1B,EAAaQ,CAAW,CAAC,4BACrII,GAAa,IAAIQ,EAAsBD,EAAUV,CAAS,EAAGU,EAAUS,EAAaH,EAAMC,CAAK,CAAC,CAAC,CAAC,IAClGtB,EAAU,IAAIiB,EAAgBZ,EAAWmB,EAAaH,EAAMC,CAAK,CAAC,EAC9DF,EAAQf,EAAYR,EAAoB,CAAC,IAAMQ,EAAYR,GAC7DW,GAAa,KAAKO,EAAUV,EAAYR,EAAoB,CAAC,CAAC,QAC9DW,GAAa,UAAeO,EAAUD,EAA4BT,EAAY,IAAMR,CAAkB,CAAC,CAAC,qBAExGW,GAAa,YAAYO,EAAUV,EAAYR,EAAoB,CAAC,CAAC,OAExE,CACG,KAAK,aACPU,GAAS,uEACTA,GAASoB,EAAyB,KAAMhC,EAAG,gBAAgB,EAC3DiC,EAAW,KAAMjC,EAAGK,EAAS,CAC3B,iBAAkB,gBAClB,OAAQ,EACR,UAAW,EACX,UAAW,EACX,MAAO,EACjB,CAAS,GAEC6B,EAAQ,QACV7B,EAAUA,EAAQ,UAAW,EAC7B,KAAK,eAAeL,CAAC,EAAI,CACvB,OAAQY,EACR,QAAS,CAAE,UAAW,GAAM,gBAAiB,EAAM,EACnD,aAAc,CACZ,CACE,KAAM,UACN,aAAc,CAAC,CACb,MAAOC,EACP,OAAQ,CACxB,CAAe,CACF,EACD,CACE,KAAM,SACN,aAAc,CAAC,CACb,MAAO,GACP,OAAQ,GACR,QAAS,CACP,MAAO,gDACP,OAAQ,CAACR,CAAO,EAChB,MAAO,CACL,MAAO,GACP,OAAQ,CACT,CACF,CACjB,CAAe,CACF,CACF,CACF,GAEC,KAAK,eAAe,QAAQO,CAAK,IAAM,KACzC,KAAK,eAAe,KAAKA,CAAK,EAC9B,KAAK,iBAAiB,KAAKC,CAAS,EACpCb,KAEFc,GACD,CACDqB,EAAwB,IAAI,CAC7B,EACD,KAAK,0BAA4B,CAAC,iBAAkB,EAAG;AAAA;AAAA,2BAA8D,CACvH"}