diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 987d1548184..06c3d40f24f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,5 +1,5 @@ repos: - - repo: https://github.com/pre-commit/mirrors-autopep8 + - repo: https://github.com/hhatto/autopep8 rev: v2.0.4 hooks: - id: autopep8 diff --git a/README.md b/README.md index 4884e81a2c9..b34afc34649 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ The latest version of Hedy can be found at [hedy.org](https://hedy.org). What's next? ------------ -If you want to see what the core team will work on next, you can follow [our Project](https://github.com/hedyorg/hedy/projects/5), the [Discussions](https://github.com/hedyorg/hedy/discussions) or join our [Discord](https://discord.gg/8yY7dEme9r) channel. +If you want to see what the core team will work on next, you can follow [our Project Board](https://github.com/orgs/hedyorg/projects/1/views/5), the [Discussions](https://github.com/hedyorg/hedy/discussions) or join our [Discord](https://discord.gg/8yY7dEme9r) channel. Živjo Hedy! Привет Hedy! !Hedy سلام ---------------------------------------------- @@ -55,4 +55,4 @@ Want to help improve Hedy? We would love to have a few more programmers join the Hedy team as regular contributors! See how you can get started with contributing in our docs: [CONTRIBUTING.md](docs/CONTRIBUTING.md). -You can follow the [Discussions](https://github.com/hedyorg/hedy/discussions) to stay up to date on things we are working on and considering. Full documentation including our design and design principles can be found [DESIGN.md](docs/DESIGN.md) +You can follow the [Project Board](https://github.com/orgs/hedyorg/projects/1/views/5) to see what we are currently working on, and [Discussions](https://github.com/hedyorg/hedy/discussions) to stay up to date on things we are considering. Full documentation including our design and design principles can be found [DESIGN.md](docs/DESIGN.md). diff --git a/all_snippet_hashes.pkl b/all_snippet_hashes.pkl index 6c11489747b..d3aa8c7d44d 100644 Binary files a/all_snippet_hashes.pkl and b/all_snippet_hashes.pkl differ diff --git a/content/adventures/es.yaml b/content/adventures/es.yaml index 1b8ab839e47..d1462882627 100644 --- a/content/adventures/es.yaml +++ b/content/adventures/es.yaml @@ -944,10 +944,11 @@ adventures: story_text: "Con `{for}` puedes simplificar programas de practica de las tablas de multiplicación.\n\n### Ejercicio 1\nMejora el codigo de ejemplo para que\n\n### Exercise 2\nGo back to your level 10 multiplication code, and modify it so that it uses a `{for}` and `{range}`.\n" start_code: '# pon tu codigo aquí' 13: - story_text: | + story_text: |2 + ### Ejercicio 1 Hagamos el programa de practica un poco mas difícil. El jugador tiene que responder dos preguntas correctamente. Llena los espacios en blanco para completar el programa. - + ### Ejercicio 2 Extra A veces las calculadoras tienen múltiples respuestas correctas. Por ejemplo, 10 se puede dividir por 5 y 2. Entonces la pregunta '¿Qué numero divide el 10?' se puede responder con 2 y con 5. Pide un cálculo que tenga múltiples respuestas correctas, pídele al jugador que lo responda y determine si es correcto usando`{or}`. diff --git a/content/adventures/kmr.yaml b/content/adventures/kmr.yaml index ba7a39c77a4..c6fdf7e3416 100644 --- a/content/adventures/kmr.yaml +++ b/content/adventures/kmr.yaml @@ -1,37 +1,37 @@ adventures: default: - name: Introduction + name: Pêşkêş levels: 4: - start_code: "{print} 'Hello world'" + start_code: "{print} 'Silav dinya'" story_text: "In level 4 `{ask}` and `{print}` have changed.\nYou must put text that you want to print between quotation marks.\nThis is useful, because now you can print all the words you want. Also the words you used to store something with `{is}`.\nMost programming languages also use quotation marks when printing, so we are also getting a step closer to real programming!\n" - example_code: "```\n{print} 'You need to use quotation marks from now on!'\nanswer {is} {ask} 'What do we need to use from now on?'\n{print} 'We need to use ' answer\n```\n" + example_code: "```\n{print} 'Pêwîste ku hûn ji nuha û pê ve nîşanan bikar bînin!'\nbersiv {is} {ask} 'Ji niha û pê ve divê em çi bikar bînin?'\n{print} 'Divê em navê Sophie bikar bînin'\n{print} 'Navê min navê min'\n" 5: - start_code: "name {is} {ask} 'what is your name?'\n{if} name {is} Hedy {print} 'cool!' {else} {print} 'meh'" + start_code: "nav {is} {ask} 'navê te çi ye?'\n{if} nav {is} Hedy {print} 'xweş!' {else} {print} 'meh'" story_text: "In level 5 there is something new, the `{if}`! With the `{if}` you can choose between two different options.\nThis code prints nice if you enter Hedy as a name, and boo! if you enter something else.\n`{ask}` and `{print}` still work like they did in level 4.\n" - example_code: "```\nname {is} {ask} 'what is your name?'\n{if} name {is} Hedy {print} 'nice' {else} {print} 'boo!'\n```\n" + example_code: "```\nnav {is} {ask} 'Navê te çi ye?'\n{if} nav {is} Hedy {print} 'xweşik' {else} {print} 'boo!'\n```\n" 18: start_code: "name = 'Hedy'\n{print}('My name is ', name)" story_text: "We arrived at real Python code! That means we need to use parentheses with {print} and {range} from now on.\nIt also means you can use Hedy code from this level in any Python environment as long as you use the English commands. If you haven't until now, you can switch the toggle in the commands menu to do so." 1: story_text: "Bi xêr hatî Hedy! Di Asta 1 de hûn dikarin fermanên `{print}`, `{ask}` û `{echo}` bikar bînin.\nKoda xwe di qada bernamekirinê de binivîsin. An jî bişkoka kesk a di bloka kodê ya nimûneyê de bikirtînin, û kod dê ji we re were nivîsandin! Bi çapkirina çîrokek dest pê bikin.\n\nBi bişkoja kesk 'Run code' di binê qada bernamekirinê de kodê biceribînin.\n\nHûn dikarin nivîsê li ser ekranê bi karanîna `{print}` çap bikin Amade ne? Ew cax biçin tabloya din da ku emrê xweya yekem fêr bibin . !\n" - start_code: '{print} hello world!' + start_code: '{print} silav dinya!' 2: story_text: "In level 2 we learn two new commands: `{is}` and `{sleep}`.\nYou can name a word with `{is}`. This is called a variable. In this example we made a variable called name and a variable called age. You can use the word name anywhere in your code and it will be replaced by Hedy, like this:\n\nThis way you no longer need the `{echo}` command!\n" - example_code: "```\nname {is} Hedy\nage {is} 15\n{print} name is age years old\n```\n" + example_code: "{print} Hûn bi xêr hatin Hedy's\n{ask} Tu dixwazî çi bixwî?\n{echo} Ji ber vê yekê hûn dixwazin\n{ask} dixwazin çi vexwin?\n{echo} Ji ber vê yekê hûn dixwazin\n" story_text_2: "`{print}` still works the same, but the `{ask}` command has changed. You need to use a variable in the `{ask}` command as well. It looks like this:\n" - start_code: '{print} hello world!' + start_code: '{print} silav dinya!' 3: story_text: "In level 3 you can make a list. You can let the computer choose something random from the list. You do that with `{at} {random}`.\n" - start_code: '{print} hello world!' + start_code: '{print} silav dinya!' 6: - start_code: "{print} '5 times 5 is ' 5 * 5" + start_code: "{print} '5 caran 5 ' 5 * 5" story_text: " In this level you learn something new: you can now also calculate.\n\n The plus is easy, you write it like with math: `5 + 5` for example. The minus also works fine, it is `5 - 5`.\n\n The times is a bit different, because there is no times symbol on your keyboard. Just search, there really isn't!\n That is why we multiply with the asterisk above 8: `5 * 5`. Read that as \"5 times 5\" that helps you remember it best.\n" - example_code: "```\n{print} '5 plus 5 is ' 5 + 5\n{print} '5 minus 5 is ' 5 - 5\n{print} '5 times 5 is ' 5 * 5\n```\n" + example_code: "```\n{print} '5 biserve 5 {is} ' 5 + 5\n{print} '5 kêmkir 5 {is} ' 5 - 5\n{print} '5 caran 5 {is} ' 5 * 5\n```\n" 7: - start_code: "{repeat} 3 {times} {print} 'Hedy is fun!'" - story_text: "Level 7 adds the `{repeat}` command. `{repeat}` can be used to execute one line of code multiple times.\n" - example_code: "```\n{repeat} 3 {times} {print} 'Hedy is fun!'\n```\n" + start_code: "{repeat} 3 {times} {print} 'Hedy xweş e!'\n" + story_text: "Asta 7 fermana `{repeat}` zêde dike. `{repeat}` dikare ji bo pêkanîna yekê were bikar anîn\n" + example_code: "{repeat} 3 {times} {print} 'Hedy kêfxweş e! {print} 'rojbûna te pîroz be'\n{repeat} 3 {times} {print} 'Hedy kêfxweş e!print!'\n```\n" 8: start_code: "{repeat} 5 {times}\n {print} 'Hello folks'\n {print} 'This will be printed 5 times'" story_text: "`{ask}` and `{print}` still work as you know them. But `{if}`, `{else}`, {pressed} and `{repeat}` have changed!\nYou can now group several lines together, but you will have to *indent* the code.\nThat means putting four spaces at the beginning of the line. You will also have to indent when you just want to create a block of one line.\n" diff --git a/content/adventures/nl.yaml b/content/adventures/nl.yaml index 52b2be31eb7..979369d52ec 100644 --- a/content/adventures/nl.yaml +++ b/content/adventures/nl.yaml @@ -8,7 +8,7 @@ adventures: story_text: | Welkom bij Hedy! In Level 1 ga je je eerste codes leren maken. - Als je een code het getypt in het invoerscherm kun je op de knop 'Voer de code uit' klikken. Je programma wordt dan uitgevoerd in het uitvoerscherm. + Als je een code hebt getypt in het invoerscherm kun je op de knop 'Voer de code uit' klikken. Je programma wordt dan uitgevoerd in het uitvoerscherm. Klaar om te leren programmeren? Ga dan snel naar het eerste avontuur in het volgende tabje! start_code: "{print} hallo wereld!" @@ -1897,7 +1897,7 @@ adventures: {print} Vandaag serveren we pizza of lasagne. eten {is} {ask} Wat wilt u eten? {print} Heerlijk! eten is ook mijn favoriet! - topping {is} {ask} Wilt u eten met groente of vlees? + topping {is} {ask} Met groente of vlees? {print} eten met topping komt eraan! ``` start_code: "# Schrijf jouw code hier" @@ -2216,7 +2216,7 @@ adventures: {print} Je stapt het oude verlaten spookhuis binnen {print} Meteen hoor je het geluid van een monster1 {print} Dus snel ren je naar de volgende kamer. - {print} Maar daar wordt je opgewacht door een monster2 + {print} Maar daar word je opgewacht door een monster2 {print} HELP! {print} Je rent naar de keuken, maar wordt daar aangevallen door een monster3 ``` @@ -2233,7 +2233,7 @@ adventures: {print} Je stapt het oude verlaten spookhuis binnen {print} Meteen hoor je het geluid van een monster1 {print} Dus snel ren je naar de volgende kamer. - {print} Maar daar wordt je opgewacht door een monster2 + {print} Maar daar word je opgewacht door een monster2 {print} HELP! {print} Je rent naar de keuken, maar wordt daar aangevallen door een monster3 ``` @@ -2241,7 +2241,7 @@ adventures: 3: story_text: | In het vorige level heb je een spannende intro bedacht voor je spookhuis, maar een echt spel is het nog niet: Het loopt namelijk altijd hetzelfde af. - In level twee kun je je verhaal interactiever maken door verschillende eindes te bedenken: soms wordt je opgepeuzeld door een verschrikkelijk monster en soms ontsnap je! + In level twee kun je je verhaal interactiever maken door verschillende eindes te bedenken: soms word je opgepeuzeld door een verschrikkelijk monster en soms ontsnap je! Hedy kiest willekeurig of je overleeft of niet... start_code: "{print} Ontsnap uit het spookhuis!" example_code: "```\n_ Escape from the haunted house!\n_ There are 3 doors in front of you...\n_ _ _ Which door do you choose?\n_ You picked door ... choice\nmonsters _ a zombie, a vampire, NOTHING YOUVE ESCAPED\n_ You see...\n{sleep}\n_ _ _ _\n```\n" @@ -2882,7 +2882,7 @@ adventures: levels: 2: story_text: "Nu je `{ask} hebt geleerd te gebruiken, kun je de steen, papier, schaar code ook interactief maken!\n\n### Opdracht\nMaak de steen, papier, schaarcode interactief door met `{ask}` commando.\n" - example_code: "```\nckeuze is _\n{print} Ik kies keuze\n```\n" + example_code: "```\nkeuze is _\n{print} Ik kies keuze\n```\n" start_code: "# place your code here" is_command: name: "{is}" @@ -2890,10 +2890,10 @@ adventures: default_save_name: is_command levels: 2: - story_text: "## Variabelen\nJe kunt een waarde in een woord opslaan met het commando `{is}`. Dit noemen we een **variabele**. In dit voorbeeld hebben we een variabele gemaakt die 'naam' heet en een variabele 'leeftijd'. Je kunt een variabele overal in de zin plaatsen waar je wil en Hedy verplaatst de variabele dan met de waarde. Kijk maar:\n" + story_text: "## Variabelen\nJe kunt een waarde in een woord opslaan met het commando `{is}`. Dit noemen we een **variabele**. In dit voorbeeld hebben we een variabele gemaakt die 'naam' heet en een variabele 'leeftijd'. Je kunt een variabele overal in de zin plaatsen waar je wil en Hedy vervangt de variabele dan voor de waarde. Kijk maar:\n" example_code: "```\nnaam {is} Hedy\nleeftijd {is} 15\n{print} naam is leeftijd jaar oud\n```\n" story_text_2: "### Opdracht\nTijd om je eigen variabelen te maken!\nIn het voorbeeld hebben we de variabele 'lievelingsdier' gemaakt. In regel 1 wordt de variabele 'ingesteld', en in regel 2 gebruiken we de variabele met een `{print}`.\nMaak eerst ons voorbeeld af door jouw lievelingsdier in te vullen op de plek van het streepje. Bedenk daarna zelf minstens 3 van zulk soort codes. Kies daarbij een variabele en stel hem in met het `{is}` commando. Gebruik daarna de variabele in een zin met een `{print}` commando, zoals wij in het voorbeeld hebben gedaan.\n" - example_code_2: "```\nlievelingsdier is _\n{print} Ik hou van favorite_animals\n```\n" + example_code_2: "```\nlievelingsdier is _\n{print} Ik hou van lievelingsdier\n```\n" start_code: "naam {is} Hedy\nleeftijd {is} 15\n{print} naam is leeftijd jaar oud." 14: start_code: |- @@ -2946,16 +2946,12 @@ adventures: dieren {is} hond, kat, kangoeroe {print} dieren {at} {random} ``` - - story_text_2: |- - Je kunt in dit level ook dingen aan een lijstje toevoegen met het commando `{add}`. Daarnaast kun je dingen van het lijstje verwijderen. Dat doe je met `{remove}`. - + story_text_2: | + Je kunt {at} {random} ook in een zin gebruiken. example_code_2: | ``` - taarten {is} aardbei, chocolade - {add} appel {to_list} taarten - {remove} chocolade {from} taarten - {print} taarten {at} {random} + eten {is} broodje, pizza, salade, burrito + {print} Ik ga een eten {at} {random} lunchen. ``` start_code: "dieren {is} hond, kat, kangoeroe\n{print} dieren {at} {random}\n" story_text_3: "### Opdracht\nProbeer het `{at} {random}` commando uit door je eigen gameshow te maken (zoals Miljoenenjacht op tv). De kandidaat kiest een koffer of een deur waarachter een grote prijs verstopt kan zitten!\nLukt het jou om zo'n programma te maken? De eerste regels zijn alvast te vinden in het voorbeeld\n" diff --git a/content/adventures/vi.yaml b/content/adventures/vi.yaml index 055a0068489..3568e762241 100644 --- a/content/adventures/vi.yaml +++ b/content/adventures/vi.yaml @@ -1,12 +1,12 @@ adventures: default: name: Giới thiệu - description: Level explanation - default_save_name: intro + description: Giải thích cấp độ + default_save_name: phần giới thiệu levels: 1: start_code: '{print} hello world!' - story_text: "In Level 1 you can use the commands `{print}`, `{ask}` and `{echo}`.\nType your code in the programming field. Or press the green button in the example code block, and the code will be typed for you!\nTry the code yourself with the green 'Run code' button under the programming field.\n\nYou can print text to the screen using the `{print}` command. \n" + story_text: "Ở Cấp độ 1, bạn có thể sử dụng các lệnh `{print}`, `{ask}` và `{echo}`.\nNhập mã của bạn vào trường lập trình. Hoặc nhấn vào nút màu xanh trong khối mã ví dụ, và mã sẽ được gõ tự động cho bạn!\nHãy thử mã của bạn bằng cách sử dụng nút 'Chạy mã' màu xanh dưới trường lập trình.\nBạn có thể in ra màn hình văn bản bằng cách sử dụng lệnh `{print}`.\n" 5: story_text: "In level 5 there is something new, the `{if}`! With the `{if}` you can choose between two different options.\nThis code prints nice if you enter Hedy as a name, and boo! if you enter something else.\n`{ask}` and `{print}` still work like they did in level 4.\n" example_code: "```\nname {is} {ask} 'what is your name?'\n{if} name {is} Hedy {print} 'nice' {else} {print} 'boo!'\n```\n" @@ -32,12 +32,12 @@ adventures: story_text: "We are going to make lists the Python way, with square brackets around the lists! We also keep the quotation marks around each item like we have learned in previous levels.\nYou can use the square brackets as well to point out a place in the lists." example_code: "```\nfriends = ['Ahmed', 'Ben', 'Cayden']\nlucky_numbers = [15, 18, 6]\n{for} i {in} {range} 1 {to} 3\n {print} 'the lucky number of ' friends[i]\n {print} 'is ' lucky_numbers[i]\n```\n" 2: - story_text: "In level 2 we learn two new commands: `{is}` and `{sleep}`.\nYou can name a word with `{is}`. This is called a variable. In this example we made a variable called name and a variable called age. You can use the word name anywhere in your code and it will be replaced by Hedy, like this:\n\nThis way you no longer need the `{echo}` command!\n" + story_text: "Ở cấp độ 2, chúng ta học hai lệnh mới: `{is}` và `{sleep}`.\nBạn có thể đặt tên cho một từ bằng cách sử dụng lệnh `{is}`. Điều này được gọi là biến. Trong ví dụ này, chúng tôi tạo ra một biến có tên là \"name\" và một biến có tên là \"age\". Bạn có thể sử dụng từ \"name\" bất kỳ nơi nào trong mã của bạn và nó sẽ được thay thế bằng \"Hedy\", như thế này:\nNhư vậy, bạn không cần sử dụng lệnh `{echo}` nữa!\n" example_code: "```\nname {is} Hedy\nage {is} 15\n{print} name is age years old\n```\n" - story_text_2: "`{print}` still works the same, but the `{ask}` command has changed. You need to use a variable in the `{ask}` command as well. It looks like this:\n" + story_text_2: "`{print}` vẫn hoạt động như cũ, nhưng lệnh `{ask}` đã thay đổi. Bạn cần sử dụng một biến trong lệnh `{ask}` cũng như vậy. Nó trông như thế này:\n" start_code: '{print} hello world!' 3: - story_text: "In level 3 you can make a list. You can let the computer choose something random from the list. You do that with `{at} {random}`.\n" + story_text: "Ở cấp độ 3, bạn có thể tạo một danh sách. Bạn có thể để máy tính chọn ngẫu nhiên một phần tử từ danh sách đó. Bạn thực hiện điều đó bằng cách sử dụng `{at} {random}`.\n" start_code: '{print} hello world!' 4: start_code: "{print} 'Hello world'" diff --git a/content/quizzes/en.yaml b/content/quizzes/en.yaml index 4d910c372f3..933fd9f4a95 100644 --- a/content/quizzes/en.yaml +++ b/content/quizzes/en.yaml @@ -3249,15 +3249,15 @@ levels: {print} 'Enjoy the ride' mp_choice_options: - option: "You must be taller than 120 cm to go on the roller coaster" - feedback: "> means greater than" + feedback: "True!" - option: "You must be taller than 119 cm to go on the roller coaster" feedback: "If you are 120 cm you won't get in" - - option: "You must be shorter or equal to 120 cm to go on the roller coaster" - feedback: "True!" + - option: "You must be shorter than 120 cm to go on the roller coaster" + feedback: "> means greater than" - option: "There are no length restrictions to go on the roller coaster" feedback: "There are." - correct_answer: "C" - hint: "Focus on which length values are allowed" + correct_answer: "A" + hint: "> means greater than" question_score: "10" 9: question_text: "How many pieces of chocolate will give you a stomach ache according to this fitbit?" @@ -3359,7 +3359,7 @@ levels: - option: "`{for}`" feedback: "That's not it" - option: "`{range}`" - feedback: "That's not it" + feedback: "That's not it" correct_answer: "B" hint: "You are not allowed in the bar as long as you are 17 or younger" question_score: "10" @@ -3411,7 +3411,7 @@ levels: hint: "wetness should get less each time" question_score: "10" 6: - question_text: "what is wrong with this code?" + question_text: "What is wrong with this code?" code: | lives = 100 {while} lives != 0 @@ -3482,7 +3482,7 @@ levels: 9: question_text: "What will the diet app say if you have eaten 1600 calories today?" code: | - chocolate = {ask} 'How many calories have you eaten today?' + calories = {ask} 'How many calories have you eaten today?' {while} calories <= 1000 {print} 'You could eat some more' {while} calories > 1000 and calories =< 2000 diff --git a/content/quizzes/es.yaml b/content/quizzes/es.yaml index 7f97a32c225..a75feef77d3 100644 --- a/content/quizzes/es.yaml +++ b/content/quizzes/es.yaml @@ -269,7 +269,7 @@ levels: hint: "'nombre' se está reemplazando con 'Hedy' en los dos lugares" question_score: '10' 5: - question_text: "Que pasa cuando uses el comando `{sleep}`" + question_text: "¿Qué pasa cuando usas el comando `{sleep}`?" mp_choice_options: - option: "Ralentiza tu ordenador" feedback: "Afortunadamente no !" @@ -857,7 +857,7 @@ levels: - option: "`{else}`\n" feedback: "Correct!" correct_answer: "D" - hint: "We have only learned a new command in level 5." + hint: "¿Cuál va junto con el comando `{if}`?" question_score: '10' code: "numero {is} {ask} '¿Cuál es tu número de la suerte?'\n{if} numero {is} 5 {print} '¡También el mío!'\n_?_ {print} '¡Mi número de la suerte es 5!'" 2: @@ -934,11 +934,11 @@ levels: 6: question_text: "¿Qué palabra debe ir en el lugar del signo de interrogación en la última línea?" code: |- - {print} 'Im Hedy the football fortune teller!' - {print} 'I will predict what place your team will end up!' - club is {ask} 'Which club is your favorite?' - {if} club {is} ajax {print} 'Ajax is going to win of course!' - _?_ {print} 'Sorry, your club is gonna be in last place...' + {print} '¡Soy Hedy, el advino de fútbol!' + {print} '¡Voy a predecir en que posición acabará tu equipo!' + equipo es {ask} '¿Cuál es tu equipo favorito?' + {if} equipo {is} ajax {print} '¡Ajax va a ganar por supuesto!' + _ {print} 'Lo siento, tu equipo va a quedar último...' mp_choice_options: - option: | ``` @@ -966,10 +966,10 @@ levels: 7: question_text: "¿Qué palabra debe ir en el lugar del signo de interrogación?" code: |- - {print} 'I can predict if you will be a millionair or not!' - name {is} {ask} 'Whats your name?' - {if} name {is} Hedy {print} 'You will be a millionair!' - {else} _?_ 'Unfortunately... No big money for you.' + {print} '¡Puedo predecir si serás millonario o no!' + nombre {is} {ask} '¿Cómo te llamas?' + {if} nombre {is} Hedy {print} '¡Vas a ser millonario!' + {else} _ 'Por desgracia... No hay mucho dinero para ti.' mp_choice_options: - option: | `{if}` @@ -989,9 +989,9 @@ levels: 8: question_text: "¿Qué palabra debe ir en el lugar del signo de interrogación?" code: |- - animal {is} {ask} 'What is your favorite animal?' - {if} _?_ {is} penguin {print} 'Thats my favorite animal too!' - {else} {print} 'Cool! I like penguins.' + animal {is} {ask} '¿Cuál es tu animal favorito?' + {if} _ {is} pingüino {print} '¡También es mi animal favorito!' + {else} {print} '¡Mola! Me gustan los pingüinos.' mp_choice_options: - option: | ``` @@ -1015,12 +1015,12 @@ levels: 9: question_text: "¿Qué puerta debes elegir para escapar?" code: |- - {print} 'Escape from the haunted house!' - {print} 'There are 3 doors in front of you' - door {is} {ask} 'Which door do you choose?' - monsters {is} vampire, werewolf, giant spider - {if} door {is} 2 {print} 'Yay, you can escape!' - {else} {print} 'You are being devoured by a... ' monsters {at} {random} + {print} '¡Escapa de la casa encantada!' + {print} 'Hay 3 puertas delante de ti' + puerta {is} {ask} '¿Qué puerta eliges?' + monstruos {is} vampiro, hombre lobo, araña gigante + {if} puerta {is} 2 {print} '¡Sí, puedes escapar!' + {else} {print} 'Eres devorado por un... ' monstruos {at} {random} mp_choice_options: - option: "1" feedback: "¡Mala elección! Se te han comido" @@ -1036,12 +1036,12 @@ levels: 10: question_text: "¿Qué monstruo se encuentra detrás de la puerta 1?" code: |- - {print} 'Escape from the haunted house!' - {print} 'There are 3 doors in front of you' - door {is} {ask} 'Which door do you choose?' - monsters {is} vampire, werewolf, giant spider - {if} door {is} 2 {print} 'Yay, you can escape!' - {else} {print} 'You are being devoured by a... ' monsters {at} {random} + {print} '¡Escapa de la casa encantada!' + {print} 'Hay 3 puertas delante de ti' + puerta {is} {ask} '¿Qué puerta eliges?' + monstruos {is} vampiro, hombre lobo, araña gigante + {if} puerta {is} 2 {print} '¡Sí, puedes escapar!' + {else} {print} 'Eres devorado por un... ' monstruos {at} {random} mp_choice_options: - option: "Hedy elige un monstruo aleatorio cada vez." feedback: "¡Increible!" @@ -1089,7 +1089,7 @@ levels: code: "{print} '3*10'" mp_choice_options: - option: "30" - feedback: "This would be the right answer if there were no quotation marks." + feedback: "Esta sería la respuesta correcta si no hubiera comillas." - option: "13" feedback: "Inténtalo de nuevo.." - option: "3*10" @@ -1116,190 +1116,190 @@ levels: - option: "Tu número de la suerte es... 10" feedback: "Su número de la suerte es el nombre multiplicado por la edad..." correct_answer: "C" - hint: "Kim has 3 letters, she is 10 years old so: letters times age = 3*10 = 30." + hint: "Kim tiene 3 letras, ella tiene 10 años así que: letras por edad = 3*10 = 30." question_score: '10' 5: - question_text: "If 5 people eat at this restaurant, how much do they have to pay in total?" + question_text: "Si 5 personas comen en este restaurante, ¿cuánto tienen que pagar en total?" code: |- - {print} 'Welcome to Hedys!' - people = {ask} 'How many people are eating with us tonight?' - price = people * 10 - {print} 'That will be ' price 'dollar please' + {print} '¡Bienvenidos a Hedys!' + gente = {ask} '¿Cuántas personas van a comer con nosotros esta noche?' + precio = gente * 10 + {print} 'Serán ' precio 'dólares por favor' mp_choice_options: - option: "5 dólares" - feedback: "Unfortunately, it's not that cheap." + feedback: "Por desgracia, no es tan barato." - option: "10 dólares" - feedback: "No, it's 10 dollars each." + feedback: "No, son 10 dólares cada uno." - option: "15 dólares" - feedback: "The * means multiplication." + feedback: "El * significa multiplicación." - option: "50 dólares" feedback: "Great!" correct_answer: "D" hint: "`price` `is` `people` `times` 10" question_score: '10' 6: - question_text: "How much does a hamburger cost is this virtual restaurant?" + question_text: "¿Cuánto cuesta una hamburguesa en este restaurante virtual?" code: |- - {print} 'Welcome at Hedys diner' - food = {ask} 'What would you like to eat?' - price = 0 - {if} food {is} hamburger price = 15 - {if} food {is} fries price = 6 + {print} 'Bienvenido a la cena de Hedys' + comida = {ask} '¿Qué le gustaría comer?' + precio = 0 + {if} comida {is} hamburguesa precio = 15 + {if} comida {is} patatas fritas precio = 6 mp_choice_options: - option: "15 dólares" feedback: "¡Super!" - option: "6 dólares" - feedback: "The fries are 6 dollars" + feedback: "Las patatas fritas cuestan 6 dólares" - option: "0 dólares" - feedback: "The hamburger isn't free!" + feedback: "¡La hamburguesa no es gratis!" - option: "21 dólares" - feedback: "That's the price for a hamburger and fries!" + feedback: "¡Ese es el precio por una hamburguesa y patatas fritas!" correct_answer: "A" - hint: "Mind the fourth line." + hint: "Cuidado con la cuarta línea." question_score: '10' 7: - question_text: "Why does line 7 say 'price is price + 3' instead of 'price is 3'?" - code: |- - {print} 'Welcome at Hedys diner' - food = {ask} 'What would you like to eat?' - price = 0 - {if} food {is} hamburger price = price + 15 - {if} food {is} fries price = price + 6 - drinks is {ask} 'What would you like to drink?' - {if} drinks {is} coke price = price + 3 - {if} drinks {is} water price = price + 1 - {print} price ' dollars please' - mp_choice_options: - - option: "It could have been `price = 3` just as well." - feedback: "No, that's not true. Hedy needs to add 3 dollars to the total." - - option: "Because Hedy doesn't understand `price = 3`." - feedback: "Hedy would understand, but it wouldn't be right." - - option: "Because Hedy would otherwise forget about the previous order. The price would be 3 dollars in total." + question_text: "¿Por qué la línea 7 dice 'precio es precio + 3' en vez de 'precio es 3'?" + code: |- + {print} 'Bienvenido a la cena de Hedys' + comida = {ask} '¿Qué le gustaría comer?' + precio = 0 + {if} comida {is} hamburguesa precio = precio + 15 + {if} comida {is} patatas fritas precio = precio + 6 + bebidas es {ask} '¿Qué le gustaría beber?' + {if} bebidas {is} refresco precio = precio + 3 + {if} bebidas {is} agua precio = precio + 1 + {print} precio ' dólares por favor' + mp_choice_options: + - option: "También podría haber sido `price = 3`." + feedback: "No, eso no es cierto. Hedy tiene que añadir 3 dólates al total." + - option: "Porque Hedy no entiende `price = 3`." + feedback: "Hedy lo entendería, pero no estaría bien." + - option: "Porque si no, Hedy se olvidaría del pedido anterior. El precio sería de 3 dólares en total." feedback: "¡Eso es!" - - option: "Because the price is 0 dollars to begin with." + - option: "Para empezar, porque el precio es 0 dólares." feedback: "Eso es verdad, pero no es la razón" correct_answer: "C" - hint: "The price shouldn't be 3, but 3 dollars more than it already was" + hint: "El precio no debe ser 3 sino 3 dólares más de lo que ya es" question_score: '10' 8: - question_text: "Why is this code incorrect?" + question_text: "¿Por qué este código es incorrecto?" code: |- - correct answer = 3*12 - answer = {ask} 'What is 3 times 12?' - {if} answer {is} correct answer {print} 'Good job!' - {else} {print} 'No... It was ' correct answer + respuesta correcta = 3*12 + respuesta = {ask} '¿Cuánto es 3 veces 12?' + {if} respuesta {is} respuesta correcta {print} '¡Buen trabajo!' + {else} {print} 'No... Fue ' respuesta correcta mp_choice_options: - option: "No debería haber comillas en la línea 2" feedback: "¡No, debería haber!" - - option: "The variable is called correct answer, but a variable's name can only be 1 word. So it should be correct_answer" + - option: "La variable se llama respuesta correcta, pero un nombre de variable sólo puede ser una palabra. Así que debería ser respuesta_correcta" feedback: "¡Correcto!" - - option: "The `{if}` and `{else}` commands should be in the same line." - feedback: "No, that's not true." - - option: "The variable in line 2 can't be called answer, because it is too similar to the variable correct answer." - feedback: "Variable names can be similar, but they can't be 2 words..." + - option: "Los comandos `{if}` y `{else}` deberían estar en la misma línea." + feedback: "No, eso no es cierto." + - option: "La variable en la línea 2 no se puede llamar respuesta, porque es muy similar a la variable respuesta correcta." + feedback: "Los nombres de las variables pueden ser parecidos, pero no pueden ser 2 palabras..." correct_answer: "B" - hint: "Inspect what the variables are called." + hint: "Revisa como se llaman las variables." question_score: '10' 9: - question_text: "Imagine you love football a 10, you've eaten 2 bananas and have washed your hands 3 times today. How smart does the silly fortune teller think you are?" + question_text: "Imagina que te gusta el fútbol un 10, te has comido 2 plátanos y te has lavado las manos 3 veces hoy. ¿Cómo de listo se cree que eres el necio adivino?" code: |- - {print} 'Im Hedy the silly fortune teller' - {print} 'I will predict how smart you are!' - football = {ask} 'On a scale of 0 to 10 how much do you love football?' - bananas = {ask} 'How many bananas have you eaten this week?' - hygiene = {ask} 'How many times did you wash your hands today??' - result = bananas + hygiene - result = result * football - {print} 'You are ' result 'percent smart.' + {print} 'Soy Hedy el adivino de tontos' + {print} '¡Voy a predecir cómo eres de inteligente!' + fútbol = {ask} 'En una escala de 0 a 10, ¿cuánto amas el fútbol?' + plátanos = {ask} '¿Cuántos plátanos te has comido esta semana?' + higiene = {ask} '¿Cuántas veces te has lavado las manos hoy??' + resultado = plátanos + higiene + resultado = resultado * fútbol + {print} 'Eres ' resultado ' por ciento inteligente.' mp_choice_options: - option: "10%" - feedback: "(2 bananas + 3 hygiene) * 10 football = 5*10 =?" + feedback: "(2 plátanos + 3 higiene) * 10 fútbol = 5*10 =?" - option: "32%" - feedback: "(2 bananas + 3 hygiene) * 10 football = 5*10 =?" + feedback: "(2 plátanos + 3 higiene) * 10 fútbol = 5*10 =?" - option: "50%" - feedback: "Super! You are 100 percent smart!" + feedback: "¡Super! ¡Eres 100 por cien inteligente!" - option: "100%" - feedback: "(2 bananas + 3 hygiene) * 10 football = 5*10 =?" + feedback: "(2 plátanos + 3 higiene) * 10 fútbol = 5*10 =?" correct_answer: "C" - hint: "(2 bananas + 3 hygiene) * 10 football = 5*10 =?" + hint: "(2 plátanos + 3 higiene) * 10 fútbol = 5*10 =?" question_score: '10' 10: - question_text: "Which statement is true?" - code: |- - name _?_ Hedy - {print} name 'is walking trough the forrest' - mp_choice_options: - - option: "You can only fill in the word is on the `_?_`" - feedback: "You are allowed to use the `=` sign as well" - - option: "You can fill in either the word is or the `=` sign on the `_?_`" - feedback: "Amazing!" - - option: "You have to fill in =is= on the `_?_`" - feedback: "No, one `=` sign is enough" - - option: "You can only use the `=` sign when working with numbers, not with words." - feedback: "You can also use `=` with words." + question_text: "¿Qué afirmación es cierta?" + code: |- + name _ Hedy + {print} nombre 'está caminando por el bosque' + mp_choice_options: + - option: "Sólo puedes rellenar la palabra en el `_`" + feedback: "También se permite que uses el signo `=`" + - option: "Puedes rellenar o la palabra es o el signo `=` en el `_`" + feedback: "¡Increíble!" + - option: "Tienes que rellenar =es= en el `_`" + feedback: "No, un signo `=` es suficiente" + - option: "Sólo puedes usar el signo `=` cuando trabajas con números, no con palabras." + feedback: "También puedes usar `=` con palabras." correct_answer: "B" - hint: "`{is}` and `=` are both allowed" + hint: "se permiten ambos `{is}` y `=`" question_score: '10' 7: 1: - question_text: "How many lines can you repeat at once with the repeat command at this level?" + question_text: "¿Cuántas líneas puedes repetir de una vez con el comando repetir en este nivel?" mp_choice_options: - option: "0" - feedback: "No you can repeat a line." + feedback: "No, puedes repetir una línea." - option: "1" - feedback: "Correct, one line at a time" - - option: "2" - feedback: "In this level only one line at a time" - - option: "infinite" - feedback: "In this level you can only repeat one line at a time" + feedback: "Correcto, una línea cada vez" + - option: "3" + feedback: "En este nivel sólo una línea cada vez" + - option: "infinito" + feedback: "En este nivel sólo puedes repetir una línea cada vez" correct_answer: "B" - hint: "You can only repeat 1 line at a time" + hint: "Sólo puedes repetir 1 línea cada vez" question_score: '10' 2: - question_text: "Which code is right?" + question_text: "¿Qué código es correcto?" mp_choice_options: - option: | ``` - {print} 100 {times} 'hello' + {print} 100 {times} 'hola' ``` - feedback: "`{repeat}` 100 `{times}` `{print}` 'hello'" + feedback: "`{repeat}` 100 `{times}` `{print}` 'hola'" - option: | ``` - {print} {repeat} 100 {times} 'hello' + {print} {repeat} 100 {times} 'hola' ``` - feedback: "{repeat} 100 {times} {print} 'hello'" + feedback: "{repeat} 100 {times} {print} 'hola'" - option: | ``` - {repeat} 'hello' 100 {times} + {repeat} 'hola' 100 {times} ``` - feedback: "{repeat} 100 {times} {print} 'hello'" + feedback: "{repeat} 100 {times} {print} 'hola'" - option: | ``` - {repeat} 100 {times} {print} 'hello' + {repeat} 100 {times} {print} 'hola' ``` feedback: "¡Eso es!" correct_answer: "D" - hint: "First the repeat command, then the `{print}` command" + hint: "Primero el comando repetir, después el comando `{print}`" question_score: '10' 3: - question_text: "Is this code right or wrong?" - code: "{repeat} 100 {times} 'Hello!'" + question_text: "¿Este código está bien o mal?" + code: "{repeat} 100 {times} '¡Hola!'" mp_choice_options: - option: "Right" feedback: "No, falta una palabra" - - option: "Wrong, the word `{repeat}` is missing" - feedback: "The word `{repeat}` is there, another word is missing" - - option: "Wrong, the word `{times}` is missing" - feedback: "The word `{times}` is there, another word is missing." - - option: "Wrong, the word `{print}` is missing" + - option: "Incorrecto, falta la palabra `{repeat}`" + feedback: "La palabra `{repeat}` está ahí, falta otra palabra" + - option: "Incorrecto, falta la palabra `{times}`" + feedback: "La palabra `{times}` está ahí, falta otra palabra." + - option: "Incorrecto, falta la palabra `{print}`" feedback: "Correcto" correct_answer: "D" - hint: "It should be: `{repeat}` 100 `{times}` `{print}` 'Hello'" + hint: "Debería ser: `{repeat}` 100 `{times}` `{print}` 'Hola'" question_score: '10' 4: - question_text: "Which word is wrong in the code?" + question_text: "¿Qué palabra es incorrecta en el código?" code: |- - {print} 'I'm blue' + {print} 'Soy azul' {repeat} 7 {times} {print} 'da ba dee, da ba da' mp_choice_options: - option: | @@ -1309,222 +1309,222 @@ levels: feedback: "¡Eso es!" - option: | `{print}` - feedback: "`{print}` is spelled correctly" + feedback: "`{print}` está mal escrito" - option: | `{repeat}` - feedback: "`{repeat}` is spelled correctly" + feedback: "`{repeat}` está mal escrito" - option: | `{times}` - feedback: "`{times}` is spelled correctly" + feedback: "`{times}` está mal escrito" correct_answer: "A" - hint: "I'm is wrong, you can't use apostrophes" + hint: "Yo soy es incorrecto, no puedes usar apóstrofes" question_score: '10' 5: - question_text: "Is this code right or wrong?" + question_text: "¿Este código está bien o mal?" code: |- - {repeat} 100 {times} {print} 'Hedy is awesome!' + {repeat} 100 {times} {print} '¡Hedy es increíble!' mp_choice_options: - option: "Correcto" feedback: "¡Eso es!" - option: "Incorrecto" - feedback: "That's not it" + feedback: "No es eso" correct_answer: "A" hint: "¡El código es correcto!" question_score: '10' 6: - question_text: "What will be the output from this code?" - code: |- - {print} 'The wheels on the bus go' - {repeat} 3 {times} {print} ' round and round' - mp_choice_options: - - option: "the wheels on the bus go\nround and round" - feedback: "Only the second line is repeated 3 times" - - option: "the wheels on the bus go\nthe wheels on the bus go\nthe wheels on the bus go\nround and round" - feedback: "Only the second line is repeated 3 times" - - option: "the wheels on the bus go\nround and round\nthe wheels on the bus go\nround and round\nthe wheels on the bus go\nround and round" - feedback: "Only the second line is repeated 3 times" - - option: "the wheels on the bus go\nround and round\nround and round\nround and round" - feedback: "All though the town! Perfect!" + question_text: "¿Cuál será la salida de este código?" + code: |- + {print} 'las ruedas del bus' + {repeat} 3 {times} {print} ' giran y giran' + mp_choice_options: + - option: "las ruedas del bus\ngiran y giran" + feedback: "Sólo la segunda línea se repite 3 veces" + - option: "las ruedas del bus\nlas ruedas del bus\nlas ruedas del bus\ngiran y giran" + feedback: "Sólo la segunda línea se repite 3 veces" + - option: "las ruedas del bus\ngiran y giran\nlas ruedas del bus\ngiran y giran\nlas ruedas del bus\ngiran y giran" + feedback: "Sólo la segunda línea se repite 3 veces" + - option: "las ruedas del bus\ngiran y giran\ngiran y giran\ngiran y giran" + feedback: "¡Por toda la ciudad! ¡Perfecto!" correct_answer: "D" - hint: "Only 'round and round' is repeated 3 times." + hint: "Sólo 'giran y giran' se repite 3 veces." question_score: '10' 7: - question_text: "What will be the output from this code?" + question_text: "¿Cuál será el resultado de este código?" code: |- - {repeat} 2 {times} {print} 'We will' - {print} 'ROCK YOU!' + {repeat} 2 {times} {print} 'Vamos' + {print} '¡A SACUDIRTE!' mp_choice_options: - - option: "We will We will\nROCK YOU!" - feedback: "'We will' won't appear twice in the same line" - - option: "We will\nWe will\nROCK YOU!" + - option: "Vamos Vamos\n¡A SACUDIRTE!" + feedback: "'Vamos' no aparecerá dos veces en la misma línea" + - option: "Vamos\nVamos\n¡A SACUDIRTE!" feedback: "Great!" - - option: "We will\nROCK YOU!\nWe will\nROCK YOU!" - feedback: "ROCK YOU! won't be repeated" - - option: "We will\nROCK YOU!" - feedback: "Mind the repeat command" + - option: "Vamos\n¡A SACUDIRTE!\nVamos\n¡A SACUDIRTE!" + feedback: "¡A SACUDIRTE! no sé repetirá" + - option: "Vamos\n¡A SACUDIRTE!" + feedback: "Cuidado con el comando repetir" correct_answer: "B" - hint: "Mind the `{repeat}` command." + hint: "Cuidado con el comando `{repeat}`." question_score: '10' 8: - question_text: "Welke Hedy code hoort bij dit resultaat" - code: "Here comes the sun\nDo do do do\nHere comes the sun\nAnd I say\nIts alright" + question_text: "¿Qué código de Hedy corresponde a esta salida?" + code: "Ahí viene el Sol\nDo do do do\nAhí viene el Sol\nY digo\nTodo está bien" mp_choice_options: - option: | ``` - {print} 'Here comes the sun' + {print} 'Ahí viene el Sol' {print} 'Do do do do' - {print} 'Here comes the sun' - {print} 'And I say' - {print} 'Its alright' + {print} 'Ahí viene el Sol' + {print} 'Y digo' + {print} 'Todo está bien' ``` - feedback: "Perfect, je kan het `{repeat}` commando hier niet gebruiken." + feedback: "Increíble, no puedes usar aquí el comando `{repeat}`." - option: | ``` - {repeat} 2 {times} {print} 'Here comes the sun' - {print} 'And I say' - {print} 'Its alright'" - feedback: "Waar is de 'Do do do do' gebleven?" + {repeat} 2 {times} {print} 'Ahí viene el Sol' + {print} 'Y digo' + {print} 'Todo está bien' + feedback: "¿Dónde dejaste 'Do do do do'?" - option: | ``` - {repeat} 2 {times} {print} 'Here comes the sun' + {repeat} 2 {times} {print} 'Ahí viene el Sol' {print} 'Do do do do' - {print} 'And I say' - {print} 'Its alright' + {print} 'Y digo' + {print} 'Todo está bien' ``` - feedback: "Dit is niet de juiste volgorde.." + feedback: "Este no es el orden correcto.." - option: | ``` - {repeat} 2 {times} {print} 'Here comes the sun' + {repeat} 2 {times} {print} 'Ahí viene el Sol' {repeat} 2 {times} {print} 'Do do' - {print} 'And I say' - {print} 'Its alright'" + {print} 'Y digo' + {print} 'Todo está bien' ``` - feedback: "Dit is niet de juiste volgorde.." - hint: "`{repeat}` kan alleen worden gebruikt als je dezelfde regel meerdere keren achter elkaar wil uitvoeren." + feedback: "Este no es el orden correcto.." + hint: "`{repeat}` sólo se puede usar si quieres ejecutar la misma línea varias veces seguidas." correct_answer: "A" question_score: '10' 9: - question_text: "Welke Hedy code hoort bij dit resultaat ?" + question_text: "¿Qué código de Hedy pertenece a este resultado?" code: |- - Batman was flying through Gotham. - When suddenly he heard someone screaming... - Help ! - Help ! - Help ! - Please help me !" + Batman estaba volando por Gotham. + Cuando de repente oyó a alguien gritar... + ¡Ayuda! + ¡Ayuda! + ¡Ayuda! + ¡Por favor ayúdadme! mp_choice_options: - option: | ``` - {print} 'Batman was flying through Gotham. ' - {print} 'When suddenly he heard someone screaming...' - {print} 'Help !' - {repeat} 3 {times} {print} 'Please help me !' + {print} 'Batman estaba volando por Gotham. ' + {print} '¡Cuando de repente oyó a alguien gritar!' + {print} '¡Ayuda!' + {repeat} 3 {times} {print} '¡Por favor ayúdadme!' ``` - feedback: "Je herhaalt de verkeerde regel" + feedback: "Tu línea repetida es incorrecta." - option: | ``` - {print} 'Batman was flying through Gotham.' - {print} 'When suddenly he heard someone screaming...' - {repeat} 3 {times} 'Help !' - {print} 'Please help me !' + {print} 'Batman estaba volando por Gotham.' + {print} '¡Cuando de repente oyó a alguien gritar!' + {repeat} 3 {times} '¡Ayuda!' + {print} '¡Por favor ayúdadme!' ``` - feedback: "Het commando `{print}` mist op regel 3" + feedback: "Falta el comando `{print}` en la línea 3." - option: | ``` - {print} Batman was flying through Gotham. - {print} When suddenly he heard someone screaming... - {repeat} 3 {times} {print} Help ! - {print} Please help me ! + {print} Batman estaba volando por Gotham. + {print} ¡Cuando de repente oyó a alguien gritar! + {repeat} 3 {times} {print} ¡Ayuda! + {print} ¡Por favor ayúdadme! ``` - feedback: "Je vergeet de aanhalingstekens" + feedback: "Te faltan las comillas" - option: | ``` - {print} 'Batman was flying through Gotham.' - {print} 'When suddenly he heard someone screaming...' - {repeat} 3 {times} {print} 'Help !' - {print} 'Please help me !' + {print} 'Batman estaba volando por Gotham.' + {print} '¡Cuando de repente oyó a alguien gritar!' + {repeat} 3 {times} {print} '¡Ayuda!' + {print} '¡Por favor ayúdadme!' ``` - feedback: "Perfect" + feedback: "Perfecto" question_score: '10' - hint: "'Help !' wordt 3x herhaald." + hint: "'¡Ayuda!' se repite 3 veces." correct_answer: "D" 10: - question_text: "What Hedy code belongs to this output?" + question_text: "¿Qué código de Hedy corresponde a este resultado?" code: |- - if youre happy and you know it clap your hands - if youre happy and you know it clap your hands - if youre happy and you know it and you really want to show it - if youre happy and you know it clap your hands + si estás feliz y lo sabes aplaude + si estás feliz y lo sabes aplaude + si estás feliz y lo sabes y realmente quieres mostrarlo + si estás feliz y lo sabes aplaude mp_choice_options: - option: | ``` - {repeat} 2 {times} 'if youre happy and you know it clap your hands' - {print} 'if youre happy and you know it and you really want to show it' - {print} 'if youre happy and you know it clap your hands' + {repeat} 2 {times} 'si estás feliz y lo sabes aplaude' + {print} 'si estás feliz y lo sabes y realmente quieres mostrarlo' + {print} 'si estás feliz y lo sabes aplaude' ``` - feedback: "Almost! the first line needs an extra word" + feedback: "¡Casi! la primera línea necesita una palabra extra" - option: | ``` - {repeat} 2 {times} {print} 'if youre happy and you know it clap your hands' - {print} 'if youre happy and you know it and you really want to show it' - {print} 'if youre happy and you know it clap your hands' + {repeat} 2 {times} {print} 'si estás feliz y lo sabes aplaude' + {print} 'si estás feliz y lo sabes y realmente quieres mostrarlo' + {print} 'si estás feliz y lo sabes aplaude' ``` feedback: "Great!" - option: | ``` - {repeat} 3 {times} {print} 'if youre happy and you know it clap your hands' - {print} 'if youre happy and you know it and you really want to show it' + {repeat} 3 {times} {print} 'si estás feliz y lo sabes aplaude' + {print} 'si estás feliz y lo sabes y realmente quieres mostrarlo' ``` - feedback: "This is not in the right order." + feedback: "Esto no está en el orden correcto." - option: | ``` - {repeat} 4 {times} 'if youre happy and you know it' - {repeat} 2 times 'clap your hands' - {print} 'and you really want to show it' - {print} 'clap your hands' + {repeat} 4 {times} 'si estás feliz y lo sabes' + {repeat} 2 veces 'aplaude' + {print} 'y realmente quieres mostrarlo' + {print} 'aplaude' ``` - feedback: "This is not in the right order." + feedback: "Esto no está en el orden correcto." correct_answer: "B" - hint: "Mind the order of the sentences." + hint: "Cuidado con el orden de las frases." question_score: '10' 8: 1: - question_text: "Which output will be produced by this code?" + question_text: "¿Qué resultado producirá este código?" code: |- {repeat} 2 {times} - {print} 'Hello' - {print} 'Im Hedy!' - mp_choice_options: - - option: "Hello\nIm Hedy!" - feedback: "Everything is printed twice." - - option: "Hello\nHello\nIm Hedy" - feedback: "The second line is repeated twice as well." - - option: "Hello\nIm Hedy!\nHello\nIm Hedy!" + {print} 'Hola' + {print} '¡Soy Hedy!' + mp_choice_options: + - option: "Hola\n¡Soy Hedy!\n" + feedback: "Todo se imprime dos veces." + - option: "Hola\nHola\nSoy Hedy\n" + feedback: "La segunda línea también se repite dos veces." + - option: "Hola\n¡Soy Hedy!\nHola\n¡Soy Hedy!\n" feedback: "¡Super!" - - option: "Hello\nHello\nIm Hedy!\nIm Hedy!" - feedback: "Everything is printed twice" + - option: "Hola\nHola\n¡Soy Hedy!\n¡Soy Hedy!\n" + feedback: "Todo se imprime dos veces" correct_answer: "C" - hint: "Both lines are repeated twice." + hint: "Ambas líneas se repiten dos veces." question_score: '10' 2: question_text: "¿Qué le pasa a este código?" code: |- {repeat} 5 {times} - {print} 'Hedy is cool!' - mp_choice_options: - - option: "This should be only one line, not 2." - feedback: "No it should be 2 lines." - - option: "This `{print}` command has to go" - feedback: "No, you need it." - - option: "There is a spelling mistake in the `{repeat}` command." - feedback: "Nee, repeat is de goede spelling" - - option: "The second line need to start with 4 spaces as indentation." + {print} '¡Hedy mola!' + mp_choice_options: + - option: "Esto debería ser una línea, no 2." + feedback: "No, deberían ser 2 líneas." + - option: "Este comando `{print}` se tiene que eliminar." + feedback: "No, lo necesitas." + - option: "Hay una falta de ortografía en el comando `{repeat}`." + feedback: "No, la ortografía correcta es repetir" + - option: "La segunda línea tiene que empezar con 4 espacios de sangría." feedback: "¡Correcto!" correct_answer: "D" - hint: "Something is missing in the second line?" + hint: "¿Falla algo en la segunda línea?" question_score: '10' 3: - question_text: "What output will be produced when you run this program?" + question_text: "¿Qué resultado se producirá al ejecutar este programa?" code: |- {repeat} 3 {times} {print} 'Baby shark tututudutudu' @@ -1533,50 +1533,50 @@ levels: - option: "Baby shark tututudutudu\nBaby shark" feedback: "¡Cuidado con el comando `{repeat}`!" - option: "Baby shark tututudutudu\nBaby shark\nBaby shark tututudutudu\nBaby shark\nBaby shark tututudutudu\nBaby shark" - feedback: "The last line has no indentation, so it's not repeated." + feedback: "La última línea no tiene sangría, así que no se repite." - option: "Baby shark tututudutudu\nBaby shark tututudutudu\nBaby shark tututudutudu\nBaby shark" feedback: "¡Muy bien!" - option: "Baby shark tututudutudu\nBaby shark\nBaby shark\nBaby shark" - feedback: "What is being repeated and what isn't." + feedback: "Qué se repite y qué no." correct_answer: "C" - hint: "What is being repeated and what is not?." + hint: "¿Qué se repite y qué no?." question_score: '10' 4: - question_text: "Which output is correct?" + question_text: "¿Qué resultado es correcto?" code: |- - {print} 'The children went:' + {print} 'Los niños se fueron:' {repeat} 2 {times} - {print} 'Yay!' - {print} 'Were going on holiday!' + {print} '¡Yay!' + {print} '¡Estamos de vacaciones!' mp_choice_options: - option: "The children went:\nYay!\nWere going on holiday!" - feedback: "Mind the `{repeat}` command !" + feedback: "¡Cuidado con el comando `{repeat}`!" - option: "The children went:\nYay!\nWere going on holiday!\nYay!\nWere going on holiday!" feedback: "¡Correcto!" - option: "The children went:\nYay!\nYay!\nWere going on holiday!\nWere going on holiday!" - feedback: "This order is incorrect." + feedback: "Este orden es incorrecto." - option: "The children went:\nYay!\nYay!\nWere going on holiday!" - feedback: "The last line is repeated too." + feedback: "La última línea también se repite." correct_answer: "B" - hint: "The block under the `{repeat}` command is repeated twice." + hint: "El bloque debajo del comando `{repeat}` se repite dos veces." question_score: '10' 5: question_text: "¿Qué le pasa a este código?" code: |- - end = {ask} 'Do you want a happy or a sad ending?' - {if} end {is} happy {print} 'They lived happily ever after' - {else} {print} 'The world exploded. The end.' + final = {ask} '¿Quieres un final feliz o final triste?' + {if} final {is} feliz {print} 'Vivieron felices para siempre' + {else} {print} 'El mundo explotó. Fin.' mp_choice_options: - - option: "The `{print}` commands on the last two lines should start on new lines en start with 4 spaces." + - option: "Los comandos `{print}` en las últimas dos líneas deberían comenzar en líneas nuevas con 4 espacios." feedback: "¡Eso es!" - option: "`{else}` is not a command!" - feedback: "It is!" - - option: "Lines that start with `{if}` should start with 4 spaces" - feedback: "That's not true" - - option: "`{ask}` is no longer a command" - feedback: "That's not true" + feedback: "¡Lo es!" + - option: "Las líneas que empiezan con `{if}` deberían empezar con 4 espacios" + feedback: "Eso no es cierto" + - option: "`{ask}` ya no es un comando" + feedback: "Eso no es cierto" correct_answer: "A" - hint: "Something is wrong with indentation" + hint: "Algo falla con la sangría" question_score: '10' 6: question_text: "What will be the output of this code when we enter pancakes?" @@ -1614,365 +1614,365 @@ levels: 7: question_text: "¿Qué le pasa a este código?" code: |- - eten = {ask} 'What would you like to eat?' - {if} food {is} fries - sauce = {ask} 'What sauce would you like?' - {print} 'One fries with ' sauce - {if} food {is} pizza - topping = {ask} 'What topping would you like?' - {print} 'One pizza with ' topping - {print} 'That you for your order' - mp_choice_options: - - option: "Nothing this code is correct!" - feedback: "Something is wrong!." - - option: "You're not allowed to use an `{if}` command after an `{ask}` command." - feedback: "You are!." - - option: "You don't have to use indentation twice. Only in the first `{if}` command." - feedback: "You always have to use indentation." - - option: "The indentation is wrong in the first `{if}` command." + comida = {ask} '¿Qué te gustaría comer?' + {if} comida {is} patatas fritas + salsa = {ask} '¿Qué salsa quieres?' + {print} 'Unas patatas fritas con ' salsa + {if} comida {is} pizza + ingrediente = {ask} '¿Qué ingrediente le gustaría?' + {print} 'Una pizza con ' ingrediente + {print} 'Gracias por su pedido' + mp_choice_options: + - option: "¡Nada de este código es correcto!" + feedback: "¡Algo falla!" + - option: "No se permite usar un comando `{if}` tras un comando `{ask}`." + feedback: "¡Lo eres!" + - option: "No tienes que usar la sangría dos veces. Sólo en el primer comando `{if}`." + feedback: "Siempre tienes que usar la sangría." + - option: "La sangría está mal en el primer comando `{if}`." feedback: "Eso es." correct_answer: "D" - hint: "Take a careful look at the indentation." + hint: "Presta mucha atención a la sangría." question_score: '10' 8: - question_text: "In which of the codes is the indentation done right?" + question_text: "¿En cuál de los códigos la sangría está bien hecha?" mp_choice_options: - option: | ``` - {if} answer is right - {print} You are... - sleep - {print} right! + {if} respuesta {is} 32 + {print} 'Estas...' + {sleep} + {print} '¡en lo cierto!' {else} - {print} You are wrong! + {print} '¡Estás equivocado!' ``` - feedback: "You are wrong!" + feedback: "¡Te equivocas!" - option: | ``` - {if} answer is right - {print} You are... - sleep - {print} right! + {if} respuesta {is} 32 + {print} 'Estas...' + {sleep} + {print} '¡en lo cierto!' {else} - {print} You are wrong! + {print} '¡Estás equivocado!' ``` - feedback: "You are wrong!" + feedback: "¡Te equivocas!" - option: | ``` - {if} answer is right - {print} You are... - sleep - {print} right! + {if} respuesta {is} 32 + {print} 'Estas...' + {sleep} + {print} '¡en lo cierto!' {else} - {print} You are wrong! + {print} '¡Estás equivocado!' ``` - feedback: "You are... right!" + feedback: "¡Tienes... razón!" - option: | ``` - {if} answer is right - {print} You are... - sleep - {print} right! + {if} respuesta {is} 32 + {print} 'Estas...' + {sleep} + {print} '¡en lo cierto!' {else} - {print} You are wrong! + {print} '¡Estás equivocado!' ``` - feedback: "You are wrong!" + feedback: "¡Te equivocas!" correct_answer: "C" - hint: "What should happen if the person is right? And what else?" + hint: "¿Qué debería ocurrir si la persona tiene razón? ¿Y qué más?" question_score: '10' 9: - question_text: "What line(s) in this code should start with 4 spaces?" + question_text: "¿Qué línea(s) en este código deberían empezar con 4 espacios?" code: |- - 1 music = {ask} 'What is your favorite music genre?' - 2 {if} music is rock + 1 música = {ask} '¿Cuál es tu género musical favorito?' + 2 {if} música {is} rock 3 {print} '🤘' 4 {else} 5 {print} '👎' mp_choice_options: - - option: "Line 2 and 4" - feedback: "The lines after the `{if}` and `{else}` command should start with 4 spaces" - - option: "Only line 3" - feedback: "Not only 3..." - - option: "Line 3, 4 and 5" - feedback: "Line 4 shouldn't" - - option: "Line 3 and 5" + - option: "Líneas 2 y 4" + feedback: "Las líneas tras el comando `{if}` y `{else}` debería empezar con 4 espacios" + - option: "Sólo la línea 3" + feedback: "No sólo 3..." + - option: "Líneas 3, 4 y 5" + feedback: "La línea 4 no debería" + - option: "Línea 3 y 5" feedback: "¡Gran trabajo!" correct_answer: "D" - hint: "The lines after an `{if}` or `{else}` command should start with 4 spaces." + hint: "Las líneas tras un comando `{if}` o `{else}` deberían empezar con 4 espacios." question_score: '10' 10: - question_text: "Which statement is true?" - code: |- - 1 level = {ask} 'What level are you on?" - 2 {if} level {is} 8 - 3 {print} Great job! - mp_choice_options: - - option: "All lines should start with 4 spaces" - feedback: "That's not true" - - option: "Line 2 and 3 should start with 4 spaces" - feedback: "That's not true" - - option: "Line 2 should start with 4 spaces" - feedback: "That's not true" - - option: "Line 3 should start with 4 spaces" - feedback: "You are correct!" + question_text: "¿Qué afirmación es cierta?" + code: |- + 1 nivel = {ask} '¿En qué nivel estás?' + 2 {if} nivel {is} 8 + 3 {print} '¡Gran trabajo!' + mp_choice_options: + - option: "Todas las líneas deben empezar con 4 espacios" + feedback: "Eso no es cierto" + - option: "Las líneas 2 y 3 deberían empezar con 4 espacios" + feedback: "Eso no es cierto" + - option: "La línea 2 debería empezar con 4 espacios" + feedback: "Eso no es cierto" + - option: "La línea 3 debería empezar con 4 espacios" + feedback: "¡Tienes razón!" correct_answer: "D" - hint: "Only one line starts with 4 spaces, but which one...?" + hint: "Sólo una linea empieza con 4 espacios, ¿pero cuál de ellas...?" question_score: '10' 9: 1: question_text: "¿Qué le pasa a este código?" code: |- {repeat} 3 {times} - eten = {ask} 'What would you like to eat?' - {if} food {is} fries - sauce = {ask} 'What sauce would you like?' - {print} 'One fries with ' sauce - {if} food {is} pizza - topping = {ask} 'What topping would you like?' - {print} 'One pizza with ' topping - {print} 'That you for your order' - mp_choice_options: - - option: "Nothing this code is correct!" + comida = {ask} '¿Qué te gustaría comer?' + {if} comida {is} patatas fritas + salsa = {ask} '¿Qué salsa quieres?' + {print} 'Unas patatas fritas con ' salsa + {if} comida {is} pizza + ingrediente = {ask} '¿Qué ingrediente le gustaría?' + {print} 'Una pizza con ' ingrediente + {print} 'Gracias por su pedido' + mp_choice_options: + - option: "¡Nada, este código es correcto!" feedback: "¡Eso es!" - - option: "You're not allowed to use an `{if}` command after an `{ask}` command." - feedback: "You are!." - - option: "You don't have to use indentation twice." - feedback: "You always have to use indentation." - - option: "The indentation is wrong in the last `{if}` command." - feedback: "It not, though." + - option: "No se permite usar un comando `{if}` tras un comando `{ask}`." + feedback: "¡Lo eres!" + - option: "No tienes que usar la sangría dos veces." + feedback: "Siempre tienes que usar sangría." + - option: "La sangría está mal en el último comando `{if}`." + feedback: "No es la sangría." correct_answer: "A" - hint: "all the indentation is done correctly." + hint: "Todá la sangría está hecha correctamente." question_score: '10' 2: - question_text: "What will be printed after entering the correct password?" + question_text: "¿Qué se imprimirá tras introducir la contraseña correcta?" code: |- - password = {ask} 'What is the password?' - correct_password = Hedy - {if} password {is} correct_password + contraseña = {ask} '¿Cuál es la contraseña?' + contraseña_correcta = Hedy + {if} contraseña {is} contraseña_correcta {repeat} 2 {times} - {print} 'Good job!' - {print} 'You can use the computer!' + {print} ''Buen trabajo!' + {print} '¡Puedes usar el ordenador!' {else} - {print} 'The computer will explode in 5... 4... 3... 2... 1...' + {print} 'El ordenador explotará en 5... 4... 3... 2... 1...' mp_choice_options: - option: "Good job!\nGood job!" - feedback: "That's not it!" - - option: "The computer will explode in 5... 4... 3... 2... 1..." - feedback: "That's not it!" + feedback: "¡No es eso!" + - option: "```\nEl ordenador explotará en 5... 4... 3... 2... 1...\n```" + feedback: "¡No es eso!" - option: "Good job !\nGood job!\nYou can use the computer!" - feedback: "That's not it!" + feedback: "¡No es eso!" - option: "Good job!\nYou can use the computer!\nGood job!\nYou can use the computer!" feedback: "¡Correcto!" correct_answer: "D" - hint: "Everything under the `{repeat}` command is repeated twice." + hint: "Todo debajo del comando `{repeat}` se repite dos veces." question_score: '10' 3: - question_text: "Which case should you choose to win a million dollars?" - code: |- - {print} 'Choose the right case and win!' - case = {ask} 'Which case will you pick? 1 or 2?' - {if} case {is} 1 - action = {ask} 'Open it or sell it?' - {if} action {is} sell - {print} 'You sell your case for 10 dollars' - {if} action {is} open - {print} 'You open the case and win an apple pie' - {if} case {is} 2 - action = {ask} 'Open it or sell it?' - {if} action {is} sell - {print} 'You sell the case for 500 dollars' - {if} action {is} open - {print} 'You open the case and win a million dollars!' - mp_choice_options: - - option: "case 1, sell" - feedback: "You don't win a million!" - - option: "case 1, open" - feedback: "You don't win a million" - - option: "case 2, sell" - feedback: "You don't win a million" - - option: "case 2, open" + question_text: "¿Qué caso deberías elegir para ganar un millón de dólares?" + code: |- + {print} '¡Elige la caja correcta y gana!' + caja = {ask} '¿Qué caja elegirás? 1 o 2?' + {if} caja {is} 1 + acción = {ask} '¿La abres o la vendes?' + {if} acción {is} vender + {print} 'Vendes tu caja por 10 dólares' + {if} acción {is} abrir + {print} 'Abres la caja y ganas una tarta de manzana' + {if} caja {is} 2 + acción = {ask} '¿La abres o la vendes?' + {if} acción {is} vender + {print} 'Vendes la caja por 500 dólares' + {if} acción {is} abrir + {print} '¡Abres la caja y ganas un millón de dólares!' + mp_choice_options: + - option: "caso 1, vende" + feedback: "¡No ganas un millón!" + - option: "caso 1, abrir" + feedback: "No ganas un millón" + - option: "caso 2, vende" + feedback: "No ganas un millón" + - option: "caso 2, abrir" feedback: "¡Gran trabajo! ¡Ganaste!" correct_answer: "D" - hint: "Follow the right path" + hint: "Sigue el camino correcto" question_score: '10' 4: - question_text: "Which statement is true?" + question_text: "¿Qué afirmación es cierta?" code: |- - name = {ask} 'What is your name?' - size = {ask} 'What is your shoe size?' - {if} size {is} 38 - {if} name {is} Cinderella - {print} 'I was looking for you!' + nombre = {ask} '¿Cómo te llamas?' + talla = {ask} '¿Cuál es tu número de calzado??' + {if} talla {is} 38 + {if} nombre {is} Cenicienta + {print} '❤️❤️❤️' {else} - {print} 'You are not the one!' + {print} '¡Tu no eres!' {else} - {print} 'Ill keep looking' + {print} 'Seguiré buscando' mp_choice_options: - - option: "Sleeping Beauty with shoe size 38 gets the output 'Ill keep looking'" - feedback: "No, she gets 'You are not the one!'" - - option: "Cinderella with shoe size 40 gets the output: 'I was looking for you!'" - feedback: "No, she gets 'Ill keep looking'" - - option: "Sleeping Beauty with shoe size 40 gets the output 'Ill keep looking'" + - option: "La Bella Durmiente con una talla 38 de calzado recibe el mensaje 'seguiré mirando'" + feedback: "No, ella recibe '¡Tú no eres!'" + - option: "Cenicienta con talla 40 de calzado recibe el mensaje '❤️❤️❤️'" + feedback: "No, ella recibe 'seguiré mirando'" + - option: "La Bella Durmiente con talla 40 de calzado recibe el mensaje 'seguiré mirando'" feedback: "¡Eso es!" - - option: "Cinderella with shoe size 40 gets the output 'I was looking for you!'" - feedback: "No she gets 'Ill keep looking'" + - option: "Cenicienta con talla 38 de calzado recibe el mensaje 'seguiré mirando'" + feedback: "No, ella conseguirá '❤️❤️❤️'" correct_answer: "C" - hint: "No matter what your name is, if you have shoe size 40 you will get the message 'Ill keep looking'." + hint: "No importa como se llama, si tiene una talla 40 de calzado recibe el mensaje 'seguiré mirando'." question_score: '10' 5: - question_text: "Which code produced this output?" + question_text: "¿Qué código produce este resultado?" mp_choice_options: - option: | ``` - desert = {ask} 'What is your favorite type of desert?' - {if} desert {is} icecream + postre = {ask} '¿Cuál es tu postre favorito?' + {if} postre {is} helado {repeat} 3 {times} - {print} 'Icecream is the best!' + {print} '¡El helado es el mejor!' ``` - feedback: "Don't forget the indentation after `{repeat}` commands." + feedback: "No te olvides la sangría tras los comandos `{repeat}`." - option: | ``` - desert = {ask} 'What is your favorite type of desert?' - {if} desert {is} icecream + postre = {ask} '¿Cuál es tu postre favorito?' + {if} postre {is} helado {repeat} 3 {times} - {print} 'Icecream is the best!' + {print} '¡El helado es el mejor!' ``` - feedback: "Use indentation after an `{if}` command" + feedback: "Usa sangría tras un comando `{if}`" - option: | ``` - desert = {ask} 'What is your favorite type of desert?' - {if} desert {is} icecream + postre = {ask} '¿Cuál es tu postre favorito?' + {if} postre {is} helado {repeat} 3 {times} - {print} 'Icecream is the best!' + {print} '¡El helado es el mejor!' ``` - feedback: "Perfect" + feedback: "Perfecto" - option: | ``` {repeat} 3 {times} - desert = {ask} 'What is your favorite type of desert?' - {if} desert {is} icecream + postre = {ask} '¿Cuál es tu postre favorito?' + {if} postre {is} helado {repeat} 3 {times} - {print} 'Icecream is the best!' + {print} '¡El helado es el mejor!' ``` - feedback: "There are 2 `{repeat}` commands in this code." + feedback: "Hay 2 comandos `{repeat}` en este código." correct_answer: "C" - hint: "Watch the indentation" + hint: "Revisa la sangría" question_score: '10' - output: "Icecream is the best!\nIcecream is the best!\nIcecream is the best!" + output: "¡El helado es el mejor!\n¡El helado es el mejor!\n¡El helado es el mejor!" 6: - question_text: "After which command(s) should you use indentation (starting the next line with 4 spaces)?" + question_text: "¿Tras qué comando(s) se debería usar sangría (Que empiece la siguiente línea con 4 espacios)?" mp_choice_options: - option: "`{if}`" - feedback: "Don't forget the others" + feedback: "No te olvides de los otros" - option: "`{if}` `{repeat}`" - feedback: "Don't forget `{else}`!" + feedback: "¡No olvides `{else}`!" - option: "`{if}` `{else}` `{repeat}`" - feedback: "Keep it up!" + feedback: "¡Sigue así!" - option: "`{if}` `{else}` `{repeat}` `{print}`" - feedback: "Not with print" + feedback: "No con imprimir" correct_answer: "C" - hint: "Indentation happens on the line below some commands" + hint: "La sangría ocurre en la línea inferior de algunos comandos" question_score: '10' 7: - question_text: "In this code from a pizza restaurant. \nYoull get a 5 dollar discount if you order a medium pizza with coke.\n What should you do to debug this code?" + question_text: "Conseguirás un descuento de 5 dólares si pides una pizza mediana y un refresco.
¡Pero el código tiene un fallo! ¿Cómo depurarlo?" code: |- - {if} food {is} pizza - {if} size {is} medium - {if} drink {is} coke - price = price - 2 + {if} comida {is} pizza + {if} tamaño {is} mediana + {if} bebida {is} refresco + precio = precio - 5 mp_choice_options: - option: | ``` - {if} food {is} pizza - {if} size {is} medium - {if} drink {is} coke - price = price - 2 + {if} comida {is} pizza + {if} tamaño {is} mediana + {if} bebida {is} refresco + precio = precio - 5 ``` - feedback: "Amazing!" + feedback: "¡Increíble!" - option: | ``` - {if} food {is} pizza - {if} size {is} medium - {if} drink {is} coke - price = price - 2 + {if} comida {is} pizza + {if} tamaño {is} mediana + {if} bebida {is} refresco + precio = precio - 5 ``` - feedback: "Try again!" + feedback: "¡Falta código en el segundo `{if}`!" - option: | ``` - {if} food {is} pizza - {if} size {is} medium - {if} drink {is} coke - price = price - 2 + {if} comida {is} pizza + {if} tamaño {is} mediana + {if} bebida {is} refresco + precio = precio - 5 ``` - feedback: "Try again" + feedback: "Dos `{if}`s consecutivos nunca es correcto." - option: | ``` - {if} food {is} pizza - {if} size {is} medium - {if} drink {is} coke - price = price - 2 + {if} comida {is} pizza + {if} tamaño {is} mediana + {if} bebida {is} refresco + precio = precio - 5 ``` feedback: "Try again" correct_answer: "A" - hint: "After each `{if}` command, the line below should indent" + hint: "Tras cada comando `{if}`, la línea de debajo debe tener sangría" question_score: '10' 8: - question_text: "What is wrong is this code?" - code: |- - age = {ask} 'Happy Birthday! How old are you?' - singing = {ask} 'Would you like us to sing?' - if singing {is} yes - {repeat} years {times} - {print} 'Hip Hip Hooray' - mp_choice_options: - - option: "You can't put two questions in a row" - feedback: "Yes you can." - - option: "The variable called 'age' is later on used as 'years'" - feedback: "Keen eye! Good job!" - - option: "You're not allowed to start with 8 spaces, like line 4 and 5 do" - feedback: "You actually must start like that." - - option: "A code must always start with a `{print}` command in the first line" - feedback: "That's not true." + question_text: "¿Qué falla en este código?" + code: |- + edad = {ask} '¡Feliz cumpleaños! ¿Qué edad tienes?' + cantar = {ask} '¿Quieres que cantemos?' + {if} cantar {is} sí + {repeat} años {times} + {print} 'Hip Hip Hurra' + mp_choice_options: + - option: "No puedes poner dos preguntas seguidas" + feedback: "Sí puedes." + - option: "La variable llamada 'edad' se usa después como 'años'" + feedback: "¡Buen ojo! ¡Buen trabajo!" + - option: "No está permitido empezar con 8 espacios, como pasa en las líneas 4 y 5" + feedback: "De hecho debes empezar así." + - option: "Un código siempre debe empezar con un comando `{print}` en la primera línea" + feedback: "Eso no es cierto." correct_answer: "B" - hint: "The indentation is done right this time" + hint: "Esta vez la sangría está bien hecha" question_score: '10' 9: - question_text: "How many `{if}` commands can be placed inside another `{if}` command?" + question_text: "¿Cuántos comandos `{if}` se pueden poner dentro de otro comando `{if}`?" mp_choice_options: - - option: "None, that is not allowed" - feedback: "You are allowed to" - - option: "Only 1" - feedback: "You could use more if you like" + - option: "Ninguno, no está permitido" + feedback: "Tienes permiso" + - option: "Sólo 1" + feedback: "Puedes usar más si quieres" - option: "3" - feedback: "You could use more if you like" - - option: "Infinite, as long as you keep using indentation correctly" - feedback: "That is true" + feedback: "Puedes usar más si quieres" + - option: "Infinito, siempre y cuando utilices la sangría correctamente" + feedback: "Eso es cierto" correct_answer: "D" - hint: "You can put an `{if}` command inside an `{if}` command." + hint: "Puedes poner un comando `{if}` dentro de un comando `{if}`." question_score: '10' 10: - question_text: "Which statement is true?" + question_text: "¿Qué afirmación es cierta?" code: |- 1 {repeat} 2 {times} 2 {if} nivel {is} 9 3 {print} ¡Gran trabajo! mp_choice_options: - - option: "All lines should start with 4 spaces" - feedback: "Only line 2 and 3 start with spaces" - - option: "Line 2 and 3 should start with 4 spaces" - feedback: "Line 3 should start with 8" - - option: "Line 2 and 3 should start with 8 spaces" - feedback: "Line 2 should start with 4" - - option: "line 2 should atart with 4 spaces and line 3 with 8" - feedback: "You are correct!" + - option: "Todas las líneas deberían empezar con 4 espacios" + feedback: "Sólo las líneas 2 y 3 deberían empezar con espacios" + - option: "Las líneas 2 y 3 deberían empezar con 4 espacios" + feedback: "La línea 3 debería empezar con 8" + - option: "Las líneas 2 y 3 deberían empezar con 8 espacios" + feedback: "La línea 2 debería empezar con 4" + - option: "la línea 2 debería empezar con 4 espacios y la línea 3 con 8" + feedback: "¡Tienes razón!" correct_answer: "D" - hint: "The first line doens't start with any spaces" + hint: "La primera línea no empieza con ningún espacio" question_score: '10' 11: 1: question_text: "What word should be at the place of the question mark?" code: |- - {for} i {in} _?_ 1 {to} 10 + {for} i {in} _ 1 {to} 10 {print} i mp_choice_options: - option: | @@ -1981,19 +1981,13 @@ levels: ``` feedback: "No" - option: | - ``` - {range} - ``` + `{range}` feedback: "Correct" - option: | - ``` - {if} - ``` + `{if}` feedback: "No" - option: | - ``` - {for} - ``` + `{for}` feedback: "No" correct_answer: "B" hint: "What did you learn in this level?" @@ -2016,7 +2010,7 @@ levels: hint: "How do the numbers appear in the screen?" question_score: '10' 3: - question_text: "Which code was used to get this output?" + question_text: "¿Qué código se usó para conseguir este resultado?" output: |- 1 2 @@ -2116,41 +2110,41 @@ levels: hint: "There is something wrong with the indention" question_score: '10' 6: - question_text: "How many times does the word Hello appear on your screen when you run the code?" + question_text: "¿Cuántas veces aparece la palabra Hola en tu pantalla cuando ejecutes el código?" code: |- {for} i {in} {range} 0 {to} 2 - {print} 'Hello' + {print} 'Hola' mp_choice_options: - - option: "1 time" + - option: "1 vez" feedback: "No" - - option: "2 times" + - option: "2 veces" feedback: "No" - - option: "3 times" + - option: "3 veces" feedback: "¡Eso es!" - - option: "Never" + - option: "Nunca" feedback: "No" correct_answer: "C" - hint: "0 also counts. So 0,1,2 that's 3 times." + hint: "0 también cuenta. Así que 0,1,2 son 3 veces." question_score: '10' 7: - question_text: "What should be on the place of the question mark?" + question_text: "¿Qué debería ir en lugar del interrogante?" code: |- - {print} 'Welcome to Hedys diner' - people is {ask} 'How many people will be eating here tonight?' - _?_ - food is {ask} 'What would you like to order?' - {print} food + {print} 'Bienvenido a la cena de Hedys' + gente = {ask} '¿Cuántas personas comerán aquí esta noche?' + _ + comida = {ask} '¿Qué te gustaría pedir?' + {print} comida mp_choice_options: - option: | ``` {for} i {in} {range} 0 {to} 3 ``` - feedback: "There's not always 3 people" + feedback: "No siempre hay 3 personas" - option: | ``` - {for} i {in} {range} 1 {to} guests + {for} i {in} {range} 1 {to} invitados ``` - feedback: "The variable is not named guests" + feedback: "La variable no se llama invitados" - option: | ``` {for} i {in} {range} 1 {to} people @@ -2160,33 +2154,33 @@ levels: ``` {for} i {in} {range} 0 {to} people ``` - feedback: "That's one order too many!" + feedback: "¡Es un pedido de más!" correct_answer: "C" - hint: "Use the variable 'people'" + hint: "Usa la variable 'gente'" question_score: '10' 8: - question_text: "What will be the output from this code?" + question_text: "¿Cuál será el resultado de este código?" code: |- {for} i {in} {range} 23 {to} 25 {print} 'hi' mp_choice_options: - option: "23\n24\n25" - feedback: "The numbers don't appear. It doesn't say `{print}` i." + feedback: "El número no aparece. No dice `{print}` i." - option: "23 hi 24 hi 25 hi" - feedback: "The numbers don't appear. It doesn't say `{print}` i" + feedback: "El número no aparece. No dice `{print}` i" - option: "hi\nhi\nhi" feedback: "Correcto" - - option: "The word 'hi' will appear 25 times in a row." - feedback: "No it will only appear 3 times." + - option: "La palabra 'hola' aparecerá 25 veces seguidas." + feedback: "No, sólo aparecerá 3 veces." correct_answer: "C" - hint: "It doesn't say `{print}` i" + hint: "No dice `{print}` i" question_score: '10' 9: - question_text: "How many times does Hedy chant Hip Hip Hooray?" + question_text: "¿Cuántas veces Hedy canta Hip Hip Hurra?" code: |- - age = {ask} 'How old are you?' - {for} i {in} {range} 1 {to} age - {print} 'Hip Hip Hoorray!' + edad = {ask} '¿Qué edad tienes?' + {for} i {in} {range} 1 {to} edad + {print} '¡Hip Hip Hurra!' mp_choice_options: - option: "1 vez" feedback: "Inténtalo de nuevo" @@ -2194,13 +2188,13 @@ levels: feedback: "Inténtalo de nuevo" - option: "Nunca" feedback: "Inténtalo de nuevo" - - option: "That depends on how old you are" + - option: "Que depende de cuantos años tienes" feedback: "¡Eso es!" correct_answer: "D" - hint: "`{for}` i `{in}` `{range}` 1 `{to}` age" + hint: "`{for}` i `{in}` `{range}` 1 `{to}` edad" question_score: '10' 10: - question_text: "Which code belongs to this output?" + question_text: "¿Qué código pertenece a este resultado?" output: |- Baby shark tututudutudu Baby shark tututudutudu @@ -2213,7 +2207,7 @@ levels: {print} Baby shark tututudutudu {print} Baby shark ``` - feedback: "Mind the indention" + feedback: "Cuidado con la sangría" - option: | ``` {for} i {in} {range} 1 {to} 3 @@ -2227,111 +2221,111 @@ levels: {print} Baby shark tututudutudu {print} Baby shark ``` - feedback: "`{range}` 0 `{to}` 3 is 4 times." + feedback: "`{range}` 0 `{to}` 3 son 4 veces." - option: | ``` {for} i {in} {range} 0 {to} 3 {print} Baby shark tututudutudu {print} Baby shark ``` - feedback: "`{range}` 0 `{to}` 3 is 4 times." + feedback: "`{range}` 0 `{to}` 3 son 4 veces." correct_answer: "B" - hint: "Mind the indention" + hint: "Cuidado con la sangría" question_score: '10' 10: 1: - question_text: "What do we need to fill in on the `_?_` if we want to print each compliment?" + question_text: "¿Qué tenemos que rellenar en el `_` si queremos imprimir cada cumplido?" code: |- - compliments = perfect, great job, amazing - _?_ - {print} compliment + cumplidos = perfecto, gran trabajo, increíble + _ + {print} cumplido mp_choice_options: - option: | ``` - {for} each compliment + {for} cada cumplido ``` - feedback: "That's not it" + feedback: "No es eso" - option: | ``` - {for} compliment {in} compliments + {for} cumplido {in} cumplidos ``` - feedback: "You deserve all those compliments!" + feedback: "¡Te mereces todos esos cumplidos!" - option: | ``` - {if} compliment {in} compliments + {if} cumplido {in} cumplidos ``` - feedback: "That's not it" + feedback: "No es eso" - option: | ``` - {for} compliments {in} compliment + {for} cumplidos {in} cumplido ``` - feedback: "Almost there!" + feedback: "¡Ya casi está!" correct_answer: "B" - hint: "`{for}` each compliment in the lists of compliments..." + hint: "`{for}` cada cumplido en la lista de cumplidos..." question_score: '10' 2: - question_text: "Which output is correct?" - code: |- - meals = pizza, pasta, pancakes - {for} meal {in} meals - {print} 'I love ' meal - mp_choice_options: - - option: "I love pizza" - feedback: "Line 2 says `{for}` each meal in the list of meals. So each meal is printed." - - option: "I love pasta" - feedback: "Line 2 says `{for}` each meal in the list of meals. So each meal is printed." - - option: "I love pancakes" - feedback: "Line 2 says `{for}` each meal in the list of meals. So each meal is printed." + question_text: "¿Qué resultado es correcto?" + code: |- + comidas = pizza, pasta, tortitas + {for} comida {in} comidas + {print} 'Me encanta ' comida + mp_choice_options: + - option: "Me encanta la pizza" + feedback: "La línea 2 dice `{for}` cada comida en la lista de comidas. Así que se imprime cada comida." + - option: "Me encanta la pasta" + feedback: "La línea 2 dice `{for}` cada comida en la lista de comidas. Así que se imprime cada comida." + - option: "Me encanta las tortitas" + feedback: "La línea 2 dice `{for}` cada comida en la lista de comidas. Así que se imprime cada comida." - option: |- - I love pizza - I love pasta - I love pancakes + Me encanta la pizza + Me encanta la pasta + Me encanta las tortitas feedback: "Great!" correct_answer: "D" - hint: "Line 2 says for each meal in the list of meals. So each meal is printed." + hint: "La línea 2 dice cada comida en la lista de comidas. Así que se imprime cada comida." question_score: '10' 3: - question_text: "Which output is correct?" + question_text: "¿Qué resultado es correcto?" code: |- - animals = dogs, cats, hamsters, chickens - {for} animal {in} animals - {print} animal ' are lovely pets' + animales = perros, gatos, hámsteres, gallinas + {for} animal {in} animales + {print} animal ' son mascotas adorables' mp_choice_options: - - option: "dogs are lovely pets" - feedback: "Line 2 says {for} each animal in the list of animals. So each animal is {print}ed." - - option: "dogs, cats, hamsters, chickens are lovely pets" - feedback: "Each animal gets their own line in the output." + - option: "los perros son mascotas adorables" + feedback: "La línea 2 dice {for} cada animal en la lista de animales. Así que se {print} cada animal." + - option: "perros, gatos, hámsteres, gallinas son mascotas adorables" + feedback: "Cada animal tiene su propia línea en la salida." - option: |- - dogs are lovely pets - cats are lovely pets - hamsters are lovely pets - chickens are lovely pets + los perros son mascotas adorables + los gatos son mascotas adorables + los hámsteres son mascotas adorables + las gallinas son mascotas adorables feedback: "Great!" - - option: "You don't know yet. Because it chooses one of the animals {at} {random}." - feedback: "Line 2 says {for} each animal in the list of animals. So each animal is {print}ed." + - option: "Todavía no lo sabes. Porque elige uno de los animales {at} {random}." + feedback: "La línea 2 dice {for} cada animal en la lista de animales. Así que se {print} cada animal." correct_answer: "C" - hint: "Line 2 says {for} each animal in the list of animals. So each animal is printed" + hint: "La línea 2 dice {for} cada animal en la lista de animales. Así que se imprime cada animal" question_score: '10' 4: question_text: "¿Qué le pasa a este código?" code: |- - groceries = apples, bread, milk - {for} item {in} groceries - {print} 'We need ' groceries - mp_choice_options: - - option: "Line 2 needs to start with 4 spaces as indentation" - feedback: "No it doesn't. Only line 3 needs indentation, which it has." - - option: "Line 3 does not need to start with 4 spaces as indentation" - feedback: "Line 2 is a `{for}`command so line 3 does need to start with an indent." - - option: "Line 3 should say item instead of groceries" - feedback: "Good job!" - - option: "Line 2 should say groceries instead of item" - feedback: "No it does not." + alimentos = manzanas, pan, leche + {for} objeto {in} alimentos + {print} 'Necesitamos ' alimentos + mp_choice_options: + - option: "La línea 2 tiene que empezar con 4 espacios como sangría" + feedback: "No. Sólo la línea 3 necesita sangría, la cual tiene." + - option: "La línea 3 no tiene que empezar con 4 espacios como sangría" + feedback: "La línea 2 es un comando `{for}` así que la línea 3 no tiene que empezar con sangría." + - option: "La línea 3 debería decir artículo en vez de comestibles" + feedback: "¡Buen trabajo!" + - option: "La línea 2 debería decir comestibles en vez de artículo" + feedback: "No, no es así." correct_answer: "C" - hint: "Line 2 says `{for}` each item in the list of groceries" + hint: "La línea 2 dice `{for}` cada artículo en la lista de la compra" question_score: '10' 5: - question_text: "What word should be on the _?_ with these digital dice?" + question_text: "¿Qué palabra debería ir en el _ con estos dados digitales?" code: |- {print} 'Welcome to the digital dice!' players = Ann, John, Jesse @@ -2339,44 +2333,44 @@ levels: {for} player {in} players {print} player ' throws ' _?_ {at} {random} mp_choice_options: - - option: "players" - feedback: "It would say 'Ann throws Jesse', instead of 'Ann throws 6'." - - option: "choices" + - option: "jugadores" + feedback: "Diría 'Ann lanza a Jesse', en vez de 'Ann lanza un 6'." + - option: "opciones" feedback: "¡Eso es!" - - option: "choice" - feedback: "You are very close. But you need Hedy to pick from the list called 'choices' not 'choice'..." - - option: "dice" - feedback: "Look at the names of the variables." + - option: "opcion" + feedback: "Estás muy cerca. Pero necesitas que Hedy elija de la lista llamada 'opciones' no 'opcion'..." + - option: "dados" + feedback: "Mira los nombres de las variables." correct_answer: "B" - hint: "Hedy needs to pick a number `{at} {random}`" + hint: "Hedy tiene que elegir un número `{at} {random}`" question_score: '10' 6: - question_text: "Which of the answers below is a possible outcome when you run the code?" + question_text: "¿Cuál de las respuestas de abajo es un posible resultado cuando ejecutes el código?" code: |- - choices = rock, paper, scissors - players = Kelly, Meredith - {for} player {in} players - {print} player ' chooses ' choices {at} {random} + opciones = piedra, papel, tijeras + jugadores = Kelly, Meredith + {for} jugador {in} jugadores + {print} jugador ' elige ' opciones {at} {random} mp_choice_options: - option: |- - Kelly chooses rock - feedback: "Meredith wants to play too!" + Kelly elige piedra + feedback: "¡Meredith también quiere jugar!" - option: |- - Meredith chooses scissors - Kelly chooses rock - feedback: "So close! But Kelly is first in the list, so she goes first" + Meredith elige tijeras + Kelly elige piedra + feedback: "¡Muy cerca! Pero Kelly es la primera en la lista, así que ella elige primero" - option: |- - Meredith chooses paper - feedback: "Kelly wants to play too!" + Meredith elige papel + feedback: "¡Kelly también quiere jugar!" - option: |- - Kelly chooses paper - Meredith chooses scissors - feedback: "Amazing!" + Kelly elige papel + Meredith elige tijeras + feedback: "¡Increíble!" correct_answer: "D" - hint: "Each player will pick an option. The player that's first on the list will go first." + hint: "Cada jugador elegirá una opción. El jugador que esté primero en la lista escogerá primero." question_score: '10' 7: - question_text: "What line should be on the _?_ in this code that decides what these people will have for dinner?" + question_text: "¿Qué línea debería ir en el _ en este código que decide lo que cenarán estas personas?" code: |- names = Ron, Leslie, April, Andy food = pasta, fries, salad @@ -2385,60 +2379,60 @@ levels: mp_choice_options: - option: | ``` - {for} name {in} names + {for} nombre {in} nombres ``` - feedback: "You are on fire!" + feedback: "¡Estás en racha!" - option: | ``` - {for} names {in} name + {for} nombres {in} nombre ``` - feedback: "No it should be for each name in the list nameS, so the other way around" + feedback: "No, debería ser para cada nombre en la lista de nombres, así que al revés" - option: | ``` - {for} food {in} food + {for} comida {in} comida ``` - feedback: "Each name should be told what they will have for dinner." + feedback: "Hay que decir a cada uno lo que va a cenar." - option: | ``` - {for} name {in} food + {for} nombre {in} comida ``` - feedback: "Each name should be told what they will have for dinner." + feedback: "Hay que decir a cada uno lo que va a cenar." correct_answer: "A" - hint: "Each name should be told what they will have for dinner." + hint: "Hay que decir a cada uno lo que va a cenar." question_score: '10' 8: - question_text: "What should be on the _?_ in this code that decides which color shirt you get?" + question_text: "¿Qué debería ir en el _ en este código que decide qué color de camiseta recibes?" code: |- - names = Donna, Tommy, Ben - colors = blue, red, purple - {for} name {in} names - {print} _?_ + nombres = Donna, Tommy, Ben + colores = azul, rojo, morado + {for} nombre {in} nombres + {print} _ mp_choice_options: - option: | ``` - 'name gets a color shirt' + 'nombre recibe una camiseta de color' ``` - feedback: "That's not it!" + feedback: "¡No es eso!" - option: | ``` - name 'gets a ' colors {at} {random} ' shirt' + nombre 'consigue una camiseta ' colores {at} {random} ``` - feedback: "Great job! This was a hard one!" + feedback: "¡Gran trabajo! Este era difícil!" - option: | ``` - names 'gets a ' color {at} {random} ' shirt' + nombres 'consigue una camiseta ' color {at} {random} ``` - feedback: "You want each name printed. So the first word should not be names but..." + feedback: "Quieres que se imprima cada nombre. Así que la primera palabra no debería ser nombres pero..." - option: | ``` - 'people gets a colors shirt' + gente ' recibe una camiseta de colores' ``` - feedback: "There is no variable named people.." + feedback: "No hay una variable llamada gente.." correct_answer: "B" - hint: "Mind the quotation marks and the names of the variables" + hint: "Cuidado con las comillas y los nombres de las variables" question_score: '10' 9: - question_text: "What is the first question Hedy will `{ask}` you when you run the program?" + question_text: "¿Cuál será la primera pregunta que Hedy te preguntará cuando ejecutes el programa?" code: |- courses = appetizer, main course, dessert names = Timon, Onno @@ -2447,246 +2441,246 @@ levels: food = {ask} name ', what would you like to eat as your ' course '?' {print} name ' orders ' food ' as their ' course mp_choice_options: - - option: "Timon, what would you like to eat as your appetizer?" - feedback: "Perfect!" - - option: "Onno, what would you like to eat as your appetizer?" - feedback: "Timon is first on the list!" - - option: "Timon, what would you like to eat as your dessert?" - feedback: "Appetizers are first in the list" - - option: "You don't know that. Hedy will choose `{at} {random}`." - feedback: "There is no `{at} {random}` in this code..." + - option: "Timón, ¿qué te gustaría comer como aperitivo?" + feedback: "¡Perfecto!" + - option: "Onno, qué te gustaría comer de aperitivo?" + feedback: "¡Timón es el primero en la lista!" + - option: "Timón, qué te gustaría comer de postre?" + feedback: "Aperitivos son los primeros en la lista" + - option: "No sabes eso. Hedy elegirá `{at} {random}`." + feedback: "No hay `{at} {random}` en este código..." correct_answer: "A" - hint: "The first options from both lists are chosen." + hint: "Se eligen las primeras opciones de ambas listas." question_score: '10' 10: - question_text: "What is true about this code?" + question_text: "¿Qué hay de cierto en este código?" code: |- prices = 1 million dollars, car, sandwich names = Bob, Patrick, Sandy, Larry {for} price {in} prices {print} 'The ' price 'is won by ' names {at} {random} mp_choice_options: - - option: "Everybody will always win a price." - feedback: "That is not true, you could end up without a price." - - option: "All the prices always go to one single person." - feedback: "That is not true. All the prices are given away, but to random people" - - option: "Larry will never win a price" - feedback: "That is not true. Larry has the same odds as the others" - - option: "Someone might win with two prices" - feedback: "You get it!" + - option: "Todo el mundo siempre ganará un premio." + feedback: "Eso no es cierto, puede que acabes sin llevarte un premio." + - option: "Todos los premios siempre van a la misma persona." + feedback: "Eso no es cierto. Todos los premios se reparten, pero a gente al azar" + - option: "Larry nunca ganará con un premio" + feedback: "Eso no es cierto. Larry tiene las mismas probabilidades que los otros" + - option: "Alguno podría ganar con dos premios" + feedback: "¡Lo conseguiste!" correct_answer: "D" - hint: "Try to imagine the output of this code." + hint: "Intenta imaginar el resultado de este código." question_score: '10' 12: 1: mp_choice_options: - - feedback: Don't forget the first line of code! + - feedback: ¡No olvides la primera línea de código! option: "5\n" - option: "3.5 + 1.5\n" - feedback: This is not the one! - - option: "thee and a half plus one and a half is...\nfive\n" - feedback: Take a close look at the second line... - - option: "three and a half plus one and a half is...\n5\n" + feedback: ¡Este no es el uno! + - option: "tres y medio más uno y medio es...\ncinco\n" + feedback: Fíjate bien en la segunda línea... + - option: "tres y medio más uno y medio es...\n5\n" feedback: ¡Gran trabajo! - question_text: Which output is correct? - code: "print 'three and a half plus one and a half is...'\nprint 3.5 + 1.5" + question_text: ¿Qué resultado es correcto? + code: "{print} 'tres y medio más uno y medio es...'\n{print} 3.5 + 1.5" correct_answer: D - hint: Both lines are printed! + hint: ¡Se imprimen ambas líneas! question_score: '10' 2: question_score: '10' - question_text: Which of these codes is correct? + question_text: ¿Cuál de estos códigos es correcto? mp_choice_options: - - option: "```\nflavors is vanilla, strawberry, chocolate\nprint 'I would like a ' flavors at random ' cake.'\n```" - feedback: All the different values of flavors should be in quotation marks. - - option: "```\n'flavors = vanilla, strawberry, chocolate'\nprint 'I would like a ' flavors at random ' cake.'\n```" - feedback: All the different values of flavors should be in quotation marks. - - option: "```\nflavors = 'vanilla', 'strawberry', 'chocolate'\nprint 'I would like a ' flavors at random ' cake.'\n```" - feedback: Alright! - - option: "\n```\nflavors = 'vanilla, strawberry, chocolate'\nprint 'I would like a ' flavors at random ' cake.'\n```\n" - feedback: All the different values of flavors should be in quotation marks. + - option: "```\nsabores {is} vainilla, fresa, chocolate\n{print} 'Me gustaría tomar una tarta de ' sabores {at} {random}\n```" + feedback: Todos los diferentes valores de sabores deberían estar entre comillas. + - option: "```\n'sabores = vainilla, fresa, chocolate'\n{print} 'Me gustaría tomar una tarta de ' sabores {at} {random}\n```" + feedback: Todos los diferentes valores de sabores deberían estar entre comillas. + - option: "```\nsabores = 'vainilla, fresa, chocolate'\n{print} 'Me gustaría tomar una tarta de ' sabores {at} {random}\n```" + feedback: ¡Muy bien! + - option: "\n```\nsabores = 'vainilla, fresa, chocolate'\n{print} 'Me gustaría tomar una tarta de ' sabores {at} {random} \n```\n" + feedback: Todos los diferentes valores de sabores deberían estar entre comillas. correct_answer: C - hint: The second line is the same in each code, pay attention to the first line + hint: La segunda línea es la misma en cada código, presta atención a la primera línea 3: question_score: '10' question_text: ¿Qué le pasa a este código? - code: "favorite_animal = ask 'What is your favorite animal?'\nprint 'I like ' favoriteanimal ' too!'" + code: "animal_favorito = {ask} '¿Cuál es tu animal favorito?'\n{print} 'Me gustan ' animalfavorito ' también!'" mp_choice_options: - - option: "The name of the variable is different in line 1 than in line 2.\n" + - option: "El nombre de la variable es diferente en la línea 1 que en la línea 2.\n" feedback: ¡Correcto! - - option: "The quotation marks aren't used correctly in line 2\n" - feedback: That's not true - - option: "You can't use the = sign when using an ask command\n" - feedback: That's not true - - option: "Nothing is wrong.\n" - feedback: That's not true + - option: "No se han utilizado correctamente las comillas en la línea 2\n" + feedback: Eso no es cierto + - option: "No puedes usar el signo = al usar un comando {ask}\n" + feedback: Eso no es cierto + - option: "No ocurre nada.\n" + feedback: Eso no es cierto correct_answer: A - hint: The quotation marks are used correctly + hint: Las comillas se han utilizado correctamente 5: correct_answer: B - question_text: What output does Agent007 get when they put in the correct password? + question_text: ¿Qué resultado tendrá el Agente007 cuando pongan la contraseña correcta? code: "name is ask 'What is your name?'\nif name is 'Agent007'\n a is 'Go to the airport '\nelse\n a is 'Go to the train station '\npassword is ask 'What is the password?'\nif password is 'TOPSECRET'\n b is 'tomorrow at 02.00'\nelse\n b is 'today at 10.00'\nprint a + b" mp_choice_options: - - option: Go to the train station today at 10.00 - feedback: The agent won't be catching any bad guys here - - option: Go to the airport tomorrow at 02.00 - feedback: You've cracked the code! - - option: Go to the train station tomorrow at 02.00 - feedback: The agent won't be catching any bad guys here - - option: Go to the airport tomorrow at 10.00 - feedback: The agent won't be catching any bad guys here - hint: The correct password is TOPSECRET + - option: Ve a la estación de trenes hoy a las 10.00 + feedback: El agente no atrapará a ningún malo aquí + - option: Ve al aeropuerto mañana a las 02.00 + feedback: ¡Has descifrado el código! + - option: Ve a la estación de trenes mañana a las 02.00 + feedback: El agente no atrapará a ningún malo aquí + - option: Ve al aeropuerto mañana a las 10.00 + feedback: El agente no atrapará a ningún malo aquí + hint: La contraseña correcta es TOPSECRET question_score: '10' 6: question_score: '10' - question_text: Which line should be filled in at the ??? + question_text: ¿Qué línea debe rellenarse en ??? code: "print 'Welcome to McHedy!'\norder = ask 'Would you like a hamburger or fries?'\nif order = 'hamburger'\n price = 12\nif order = 'fries'\n price = 4\ndrinks = ask 'Would you like a drink with that for 2 dollars?'\nif drinks = 'yes'\n ???\nprint 'That will be ' price ' dollar please'\n" mp_choice_options: - - option: "```\nprice = 14\n```\n" - feedback: What if you only order fries and a drink? - - option: "```\nprice = '14'\n```" - feedback: What if you only order fries and a drink? - - option: "```\nprice = price + 2\n```" - feedback: Excellent! - - option: "```\nprice = + 2\n```" - feedback: Almost there! + - option: "```\nprecio = 14\n```\n" + feedback: ¿Qué ocurre si sólo pides patatas fritas y una bebida? + - option: "```\nprecio = '14'\n```" + feedback: ¿Qué ocurre si sólo pides patatas fritas y una bebida? + - option: "```\nprecio = precio + 2\n```" + feedback: ¡Excelente! + - option: "```\nprecio = + 2\n```" + feedback: ¡Ya casi está! correct_answer: C - hint: What if you only order fries and a drink? + hint: ¿Qué ocurre si sólo pides patatas fritas y una bebida? 7: question_score: '10' - question_text: Which output does a vegan get? + question_text: ¿Qué resultado obtiene un vegano? code: "menu = 'cookies', 'cheese', 'grapes'\nprint \"It's my birthday! I`ve brought some snacks!\"\ndiet = ask 'Do you have any dietary restrictions?'\nif diet = 'gluten free'\n remove 'cookies' from menu\nif diet = 'vegan'\n remove 'cheese' from menu\nprint 'For you I have brought: '\nfor snack in menu\n print snack" mp_choice_options: - - option: "It's my birthday! I've brought some snacks!\nFor you I have brought:\ncookies\ngrapes" - feedback: Terrific! - - option: "It's my birthday! I've brought some snacks!\nFor you I have brought:\ngrapes" - feedback: There's more options than just one - - option: "It's my birthday! I've brought some snacks!\nFor you I have brought:\ncheese\ngrapes" - feedback: A vegan person can't have cheese - - option: "It's my birthday! I've brought some snacks!\nFor you I have brought:\ngrapes\ncookies" - feedback: Almost there, but look at the order of snacks in the list + - option: "¡Es mi cumpleaños! ¡He traído algunos aperitivos!\nPara ti he traído:\ngalletas\nuvas" + feedback: ¡Magnífico! + - option: "¡Es mi cumpleaños! ¡He traído algunos aperitivos!\nPara ti he traído:\nuvas" + feedback: Hay más opciones que una + - option: "¡Es mi cumpleaños! ¡He traído algunos aperitivos!\nPara ti he traído:\nqueso\nuvas" + feedback: Una persona vegana no puede comer queso + - option: "¡Es mi cumpleaños! ¡He traído algunos aperitivos!\nPara ti he traído:\nuvas\ngalletas" + feedback: Ya casi está, pero mira el orden de los aperitivos de la lista correct_answer: A - hint: What item is removed from the list when you answer 'vegan'? + hint: ¿Qué elemento se elimina de la lista cuando respondes 'vegano'? 8: question_score: '10' - question_text: Which code was used to create this output? + question_text: ¿Qué código se ha utilizado para crear este resultado? code: '3.5' mp_choice_options: - - option: "```\nprint '7 / 2'\n```" + - option: "```\n{print} '7 / 2'\n```" feedback: No - - option: "```\nprint 7 / 2\n```" - feedback: That is right! - - option: "```\nprint 7 : 2\n```" + - option: "```\n{print} 7 / 2\n```" + feedback: ¡Así es! + - option: "```\n{print} 7 : 2\n```" feedback: No - - option: "```\nprint 7 * 2\n```" + - option: "```\n{print} 7 * 2\n```" feedback: No correct_answer: B - hint: 7 devided by 2 is 3.5 + hint: 7 dividido por 2 es 3.5 4: - question_text: In which lines are quotation marks needed to get the code to work? + question_text: ¿En qué líneas se necesitan comillas para conseguir que el código funcione? code: "print Welcome to the online shoe shop\ncategory = ask What kind of shoes are you looking for?\nif category = high heels\n print High heels are 50% off now!" mp_choice_options: - - option: "Line 1 and 2\n" + - option: "Líneas 1 y 2\n" feedback: No - - option: "Line 1, 2 and 3\n" + - option: "Líneas 1, 2 y 3\n" feedback: No - - option: "Line 1, 2 and 4\n" + - option: "Líneas 1, 2 y 4\n" feedback: No - - option: "All of the lines\n" - feedback: Perfect! + - option: "Todas las líneas\n" + feedback: ¡Perfecto! correct_answer: D - hint: Does line 3 need quotation marks too? + hint: ¿La línea 3 también necesita comillas? question_score: '10' 9: - question_text: Which code should be filled in in line 1 at the ??? - code: "???\nprint 'You won ' prices at random '!'" - mp_choice_options: - - option: "```\nprices = 'one' 'million' 'dollars', 'nothing'\n```" - feedback: You won nothing - - option: "```\nprices = 'one million dollars, nothing'\n```" - feedback: You won nothing - - option: "```\nprices = 'one million dollars', 'nothing'\n```" - feedback: Winner! - - option: "```\n'prices' = 'one million dollars', 'nothing'\n```" - feedback: You one nothing + question_text: ¿Qué código debe rellenarse en la línea 1 en ??? + code: "???\n{print} 'Ganaste ' premios {at} {random} '!'" + mp_choice_options: + - option: "```\npremios = 'un' 'millón' 'dólares', 'nada'\n```" + feedback: No ganaste nada + - option: "```\npremios = 'un millón de dólares, nada'\n```" + feedback: No ganaste nada + - option: "```\npremios = 'un millón de dólares', 'nada'\n```" + feedback: ¡Ganador! + - option: "```\n'premios' = 'un millón de dólares', 'nada'\n```" + feedback: Tú nada correct_answer: C - hint: The items on the list should be in quotation marks + hint: Los objetos de la lista deben ir entre comillas question_score: '10' 10: - question_text: Which line of code should be filled in at the ??? to complete the song ? - code: "actions = 'clap your hands', 'stomp your feet', 'shout Hurray!'\n???\n for i in range 0 to 1\n print 'if youre happy and you know it'\n print action\n print 'if youre happy and you know it and you really want to show it'\n print 'if youre happy and you know it'\n print action" - mp_choice_options: - - option: for i in range 1 to 3 - feedback: This is a hard one! All the actions on the list must be in the song. - - option: for action in actions - feedback: You are amazing! - - option: repeat 3 times - feedback: This is a hard one! All the actions on the list must be in the song. - - option: print actions at random - feedback: This is a hard one! All the actions on the list must be in the song. + question_text: ¿Qué línea de código debe rellenarse en ??? para completar la canción ? + code: "acciones = 'aplaude', 'pisa fuerte', 'grita ¡Hurra!'\n???\n {for} i {in} rango 0 {to} 1\n {print} 'si estás feliz y lo sabes'\n {print} accion\n {print} 'si estás feliz y lo sabes y realmente quieres mostrarlo'\n {print} 'si estás feliz y lo sabes'\n {print} accion" + mp_choice_options: + - option: "```\n{for} i {in} {range} 1 {to} 3\n```" + feedback: ¡Esta es difícil! En la canción deben aparecer todas las acciones de la lista. + - option: "```\n{for} acción {in} acciones\n```" + feedback: ¡Eres increíble! + - option: "```\n{repeat} 3 {times}\n```" + feedback: ¡Esta es difícil! En la canción deben aparecer todas las acciones de la lista. + - option: "```\n{print} acciones {at} {random}\n```" + feedback: ¡Esta es difícil! En la canción deben aparecer todas las acciones de la lista. correct_answer: B - hint: This is a hard one! All the actions on the list must be in the song. + hint: ¡Esta es difícil! En la canción deben aparecer todas las acciones de la lista. question_score: '10' 13: 4: question_score: '10' - question_text: Which line of code should follow this line in rock-paper-scissors game? - code: if computer_choice is 'rock' and your_choice is 'paper' - mp_choice_options: - - option: print 'you win' - feedback: You win! - - option: print 'you lose' - feedback: You lose! - - option: print 'tie' - feedback: It's only a tie if both choices are the same - - option: print 'try again' - feedback: Try again! + question_text: ¿Qué línea de código debe seguir a esta línea en el juego de piedra-papel-tijeras? + code: "{if} opcion_ordenador {is} 'piedra' {and} tu_opcion {is} 'papel'" + mp_choice_options: + - option: "```\n{print} 'ganas'\n```" + feedback: ¡Ganas! + - option: "```\n{print} 'pierdes'\n```" + feedback: ¡Pierdes! + - option: "```\n{print} 'empate'\n```" + feedback: Sólo hay empate si ambas opciones son iguales + - option: "```\n{print} 'inténtalo de nuevo'\n```" + feedback: ¡Inténtalo de nuevo! correct_answer: A - hint: Paper beats rock + hint: Papel vence a piedra 5: correct_answer: C - question_text: Which statement is true about this code? - code: "if name = 'Cinderella' and shoe_size = '38'\n print 'You are my one true love!'" - mp_choice_options: - - option: Every person with shoe size 38 is this prince's one true love - feedback: The prince is a little more picky than that! - - option: Every person named Cinderella is this prince's one true love - feedback: The prince is a little more picky than that! - - option: Every person that is named Cinderella and has shoe size 38 is this prince's one true love - feedback: Fantastic! - - option: Every person that's not named Cinderella and does not have shoe size 38 is this prince's one true love - feedback: The prince is a little more picky than that! - hint: Both statements have to be true + question_text: ¿Qué afirmación es cierta sobre este código? + code: "{if} nombre = 'Cenicienta' {and} talla_calzado = '38'\n {print} '¡Eres mi único amor verdadero!'" + mp_choice_options: + - option: Toda persona con una talla 38 de calzado es el verdadero amor del príncipe + feedback: ¡El príncipe es un poco más exigente que eso! + - option: Toda persona que se llame Cenicienta es el amor verdadero del príncipe + feedback: ¡El príncipe es un poco más exigente que eso! + - option: Toda persona que se llame Cenicienta y tiene una talla 38 de calzado es el amor verdadero del príncipe + feedback: ¡Fantástico! + - option: Toda persona que no se llama Cenicienta y no tiene una talla 38 de calzado es el amor verdadero del príncipe + feedback: ¡El príncipe es un poco más exigente que eso! + hint: Ambas afirmaciones tienen que ser ciertas question_score: '10' 7: mp_choice_options: - - option: The grey cat is called Abby - feedback: This is true! - - feedback: This is true - option: Milo the orange cat eats 4 scoops of cat nibbles - - option: The black hamster needs to be fed a piece of carrot + - option: El gato gris se llama Abby + feedback: ¡Esto es verdad! + - feedback: Esto es verdad + option: Milo, el gato naranja, come 4 cucharadas de bocaditos para gatos + - option: El hámster negro tiene que alimentarse con un trozo de zanahoria feedback: ¡Gran trabajo! - - option: The yellow bird was fed this morning - feedback: This is true - question_text: Which statement is false? + - option: El pájaro amarillo se alimentó esta mañana + feedback: Esto es verdad + question_text: ¿Qué afirmación es falsa? code: "print 'Thank you for helping me take care of my pets'\nprint 'Here is a program to help feed them'\nanimal is ask 'What kind of animal are they?'\ncolor is ask 'What colour are they?'\nif animal is 'cat' and color = 'grey'\n print 'That is Abby. She eats 3 scoops of cat nibbles'\nif animal is 'cat' and color = 'orange'\n print 'That is Milo. He eats 4 scoops of cat nibbles'\nif animal is 'bird' or color is 'black'\n print 'I fed them this moring! They do not need more food today'\nif animal is 'hamster' and color is 'brown'\n print 'You can feed them a piece of carrot'" correct_answer: C - hint: Read the last 4 lines carefully + hint: Lee con atención las 4 últimas líneas question_score: '10' 8: - question_text: What output do you get if you order popcorn but no drink? - mp_choice_options: - - feedback: You have paid too much! - option: "Welcome to the movie theater\nThat will be 8 dollars please\nEnjoy the movie" - - option: "Welcome to the movie theater\nThat will be 5 dollars please\nEnjoy the movie" - feedback: Amazing! - - option: "Welcome to the movie theater\nThat will be 3 dollars please\nEnjoy the movie" - feedback: That's not enough money! - - option: "Welcome to the movie theater\nOk\nEnjoy the movie" - feedback: You have to pay for your popcorn! + question_text: ¿Qué salida recibes si pides palomitas sin bebida? + mp_choice_options: + - feedback: ¡Has pagado demasiado! + option: "Bienvenido al cine\nSerán 8 dólares por favor\nDisfruta de la película" + - option: "Bienvenido al cine\nSerán 5 dólares por favor\nDisfruta de la película" + feedback: ¡Increíble! + - option: "Bienvenido al cine\nSerán 3 dólares por favor\nDisfruta de la película" + feedback: ¡No es suficiente dinero! + - option: "Bienvenido al cine\nVale\nDisfruta de la película" + feedback: ¡Tienes que pagar tus palomitas! code: "print 'Welcome to the movie theater'\npopcorn = ask 'Would you like some popcorn?'\ndrink = ask 'Would you like a drink?'\nif popcorn = 'yes' and drink = 'yes'\n print 'That will be 8 dollars please'\nif popcorn = 'no' and drink = 'yes'\n print 'That will be 3 dollars please'\nif popcorn = 'yes' and drink = 'no'\n print 'That will be 5 dollars please'\nif popcorn = 'no' and drink = 'no'\n print 'Ok'\nprint 'Enjoy the movie'" correct_answer: B - hint: popcorn = yes and drink = no + hint: palomitas = sí y bebida = no question_score: '10' 9: question_score: '10' @@ -2696,271 +2690,271 @@ levels: - option: "Line 3 should be:\n```\n{if} chocolate = 'yes' {and} sprinkles = 'yes'\n```\n" feedback: ¡Correcto! - option: "Line 3 should be:\n```\n{if} chocolate = 'no' {and} sprinkles = 'no'\n```\n" - feedback: This is not what I ordered! + feedback: ¡Esto no es lo que he pedido! - option: "Line 5 should be:\n```\n{if} chocolate = 'yes' {and} sprinkles = 'yes'\n```\n" - feedback: This is not what I ordered! + feedback: ¡Esto no es lo que he pedido! - option: "Line 7 should be:\n```\n{if} chocolate = 'yes' {and} sprinkles = 'no'\n```\n" - feedback: This is not what I ordered! + feedback: ¡Esto no es lo que he pedido! correct_answer: A - hint: There is a mistake in line 3 + hint: Hay un fallo en la línea 3 10: mp_choice_options: - - option: and - feedback: There are no items that are both the list of snacks and the list of drinks - - option: or + - option: '`{and}`' + feedback: No hay artículos que estén a la vez en la lista de aperitivos y en la lista de bebidas + - option: '`{or}`' feedback: ¡Gran trabajo! - - option: in + - option: '`{in}`' feedback: No - feedback: No - option: if - question_text: Which command needs to be in line 8 at the place of the ??? ? + option: '`{if}`' + question_text: ¿Qué comando se necesita en la línea 8 en el lugar de ??? ? code: "print 'Welcome to the product finder of this supermarkt'\nitem is ask 'What product are you looking for?'\nbakery = 'bread', 'buns', 'muffins'\ndrinks = 'soda', 'water', 'lemonade'\nsnacks = 'chips', 'nuts', 'dips'\nfrozen = 'fries', 'icecream', 'pizza'\nfruit = 'bananas', 'apples', 'oranges'\nif item in snacks ??? item in drinks\n print 'This item is in aile 3'\nif item in bakery or item in bakery\n print 'This item in in the back of the store'\nif item in fruit\n print 'The fruit is sold near the register'" correct_answer: B - hint: The item is either in the list of snacks, or in the list of drinks + hint: El artículo o está en la lista de aperitivos, o en la lista de bebidas question_score: '10' 1: - question_text: Which code should be filled in at the ??? ? - code: "name = ask 'What is your name?'\nsong = ask 'Whould you like to hear a song?'\nbirthday = ask 'Is today your birthday?'\n???\n print 'Happy Birthday to you!'\n print 'Happy Birthday to you!'\n print 'Happy Birthday. dear ' name\n print 'Happy Birthday to you!'" - mp_choice_options: - - option: "```\nif birthday and song = 'yes'\n```" - feedback: Almost there - - option: "```\nif birthday = 'yes' and name = 'Hedy'\n```" - feedback: Hedy only sings for you if you like to hear a song - - option: "```\nif song = 'yes' and birthday = 'yes'\n```" - feedback: Super! - - option: "```\nif song = 'yes' or birthday = 'yes'\n```" - feedback: Hedy only sings if both answers are yes + question_text: ¿Qué código debe rellenarse en ??? ? + code: "nombre = {ask} '¿Cómo te llamas?'\ncanción = {ask} '¿Quieres escuchar una canción?'\ncumpleaños = {ask} '¿Hoy es tu cumpleaños?'\n???\n {print} '¡Cumpleaños Feliz para ti!'\n {print} '¡Cumpleaños Feliz para ti!'\n {print} 'Cumpleaños Feliz querido ' nombre\n {print} '¡Cumpleaños Feliz para ti!'" + mp_choice_options: + - option: "```\n{if} cumpleaños {and} canción = 'sí'\n```" + feedback: Ya casi está + - option: "```\n{if} cumpleaños = 'sí' {and} nombre = 'Hedy'\n```" + feedback: Hedy sólo canta para ti si quieres escuchar una canción + - option: "```\n{if} canción = 'sí' {and} cumpleaños = 'sí'\n```" + feedback: ¡Super! + - option: "```\n{if} canción = 'sí' {or} cumpleaños = 'sí'\n```" + feedback: Hedy sólo canta si ambas respuestas son afirmativas correct_answer: C - hint: Hedy sings if you want to hear a song and it's you birthday + hint: Hedy canta si quieres escuchar una canción y es tu cumpleaños question_score: '10' 2: - question_text: Which command is missing in the code at the place of the ??? ? + question_text: ¿Qué comando falta en el código en el lugar de ??? ? code: "menu = 'cheese', 'sausage rolls', 'cookies'\ndiet = ask 'Do you have any dietary restrictions?'\nif diet = 'vegan' ??? diet = 'halal'\n remove 'sausage rolls' from menu" mp_choice_options: - - option: and - feedback: You don't have to be vegan and muslim - - option: or - feedback: Great thinking! - - option: ' + ' + - option: '`{and}`' + feedback: No tienes que ser vegano y musulmán + - option: '`{or}`' + feedback: ¡Muy bien pensado! + - option: ' `+` ' feedback: No - - option: print + - option: '`{print}`' feedback: No correct_answer: B - hint: Neither vegans nor muslims can eat sausage rolls. + hint: Ni los veganos ni los musulmanes pueden comer panecillos de salchichas. question_score: '10' 3: - question_text: Which output is given to a member without a discount code? + question_text: ¿Qué salida se le da a un miembro sin un código de descuento? code: "member = ask 'Do you have a membership card?'\ndiscount = ask 'Do you have a discount code?'\nif member = 'yes' or discount = 'yes'\n print 'You get a free apple pie!'\nelse\n print 'That will be 5 dollars please'" mp_choice_options: - - option: You get a free pie! + - option: ¡Recibes una tarta de manzana gratis! feedback: ¡Gran trabajo! - - option: That will be 5 dollars please - feedback: That is not true - - option: This code won't work, so there is no output - feedback: There is nothing wrong with the code - - option: There is no way of knowing - feedback: There is! Read the question carefully + - option: Serán 5 dólares por favor + feedback: Eso no es cierto + - option: El código no funciona, así que no hay un resultado + feedback: No hay nada malo en el código + - option: No hay manera de saber + feedback: ¡Ahí está! Lee la pregunta con cuidado correct_answer: A - hint: Mind the command 'or' in line 3 + hint: Atención al comando `{or}` en la línea 3 question_score: '10' 6: - question_text: Which statement about this code is true? + question_text: ¿Qué afirmación sobre este código es cierta? code: "print 'Let me guess which family member you are!'\nglasses = ask 'Do you wear glasses?'\nfemale = ask 'Are you female?'\nif glasses = 'yes' and female = 'yes'\n print 'You must be Sophie!'\nif glasses = 'no' and female = 'yes'\n print 'You must be Marleen!'\nif glasses = 'yes' and female = 'no'\n print 'You must be Wouter!'\nif glasses = 'no' and female = 'no'\n print 'You must be Michael!'" mp_choice_options: - - option: Michael is a boy with glasses + - option: Michael es un chico con gafas feedback: Inténtalo de nuevo - - option: Marleen is a girl with glasses + - option: Marleen es una chica con gafas feedback: Inténtalo de nuevo - - option: Wouter is a boy without glasses + - option: Wouter es un chico sin gafas feedback: Inténtalo de nuevo - option: Sofía es una chica que lleva gafas feedback: ¡Gran trabajo! correct_answer: D - hint: Take a good look! Or do you need glasses? + hint: ¡Mira bien! ¿O necesitas gafas? question_score: '10' 14: 1: mp_choice_options: - option: '`=>`' - feedback: This is not a symbol. + feedback: Esto no es un símbolo. - option: '`==`' - feedback: We are not comparing anything, just asking. + feedback: No estamos comparando nada, sólo preguntando. - option: '`!=`' - feedback: We are not comparing anything, just asking + feedback: No estamos comparando nada, sólo preguntando - option: '`=`' feedback: ¡Muy bien! - question_text: Which symbol should be used on the blank? - code: "name _ {ask} 'Who are you?'\n{if} name == 'Hedy'\n {print} 'Me too!'\n" - hint: We are not comparing anything, we are just asking a name. + question_text: ¿Qué símbolo se debería usar en el espacio en blanco? + code: "nombre _ {ask} '¿Quién eres?'\n{if} nombre == 'Hedy'\n {print} '¡Yo también!'\n" + hint: No comparamos nada, sólo estamos preguntando un nombre. question_score: '10' correct_answer: D 2: mp_choice_options: - - option: '{if} name = Hedy' + - option: '{if} nombre = Hedy' feedback: No - - option: '{if} age = 24' + - option: '{if} edad = 24' feedback: No - - option: answer = {ask} 'What is your answer' - feedback: Yes! - - option: answer == {ask} 'How are you doing?' + - option: respuesta = {ask} 'Cuál es tu respuesta' + feedback: ¡Sí! + - option: respuesta == {ask} '¿Qué tal estás?' feedback: No - question_text: Which of these codes has used the correct = or == symbol? + question_text: ¿Cuál de estos códigos han usado el símbolo correcto = o ==? correct_answer: C - hint: When you are comparing two answers you should use == + hint: Cuando comparas dos respuestas debes usar == question_score: '10' 4: correct_answer: B - code: "price = 10\nmoney = {ask} How much money do you have?\nbuy = {ask} 'Would you like to buy this teddy bear?'\n{if} money >= price and buy == 'yes'\n {print} 'You can buy the bear!'\n{else}\n {print} 'You cannot buy this bear!'\n" + code: "precio = 10\ndinero = {ask} ¿Cuánto dinero tienes?\ncomprar = {ask} '¿Quieres comprar este osito de peluche?'\n{if} dinero >= precio y comprar == 'sí'\n {print} '¡Puedes comprar el oso!'\n{else}\n {print} '¡No puedes comprar el oso!'\n" mp_choice_options: - - option: In line 1 == should be used instead of = - feedback: No that's not it - - option: Line 2 misses quotation marks + - option: En la línea 1 se debería haber usado == en vez de = + feedback: No, no es eso + - option: Faltan las comillas en la línea 2 feedback: Tienes razón - - option: In line 4 = should have been used instead of == - feedback: No that's not it - - option: In line 4 <= should have been used instead of >= - feedback: No that's not it + - option: En la línea 4 se debería haber usado = en vez de == + feedback: No, no es eso + - option: En la línea 4 se debería haber usado <= en vez de >= + feedback: No es eso question_text: ¿Qué le pasa a este código? - hint: The symbols are right + hint: Los símbolos son correctos question_score: '10' 6: question_score: '10' - question_text: How many times do you have to say you are annoyed before this annoying game stops? - mp_choice_options: - - option: 10 times - feedback: It stops after 2 times - - option: 0 times - feedback: It stops after 2 times - - option: 1 time - feedback: It stops after 2 times - - option: 2 times - feedback: That is correct - code: "lives = 2\n{repeat} 10 times\n {if} lives != 0\n answer = {ask} 'Are you annoyed yet?'\n {if} answer == 'yes'\n lives = lives - 1\n" + question_text: ¿Cuántas veces tienes que decir que estás enfadado antes que este irritante juego pare? + mp_choice_options: + - option: 10 veces + feedback: Se para tras 2 veces + - option: 0 veces + feedback: Se para tras 2 veces + - option: 1 vez + feedback: Se para tras 2 veces + - option: 2 veces + feedback: Eso es correcto + code: "vidas = 2\n{repeat} 10 veces\n {if} vidas != 0\n respuesta = {ask} '¿Ya estás enfadado?'\n {if} respuesta == 'sí'\n vidas = vidas - 1\n" correct_answer: D - hint: "!= means 'is not'" + hint: "!= significa 'no es'" 9: mp_choice_options: - - option: 1 or more + - option: 1 o más feedback: No - - option: 2 or more + - option: 2 o más feedback: No - feedback: Casi - option: 8 or more + option: 8 o más - feedback: ¡Genial! - option: 9 or more - code: "chocolate = {ask} 'How many pieces of chocolate have you eaten?'\n {if} chocolate <= 2\n {print} 'That is a healthy amount'\n {if} chocolate > 2 and chocolate =< 8\n {print} 'That is a bit much'\n {if} chocolate > 8\n {print} 'You will get a stomach ache!'\n" - question_text: How many pieces of chocolate will give you a stomach ache according to this fitbit? + option: 9 o más + code: "chocolate = {ask} '¿Cuántos trozos de chocolate te has comido?'\n {if} chocolate <= 2\n {print} 'Eso es una cantidad sana'\n {if} chocolate > 2 y chocolate =< 8\n {print} 'Eso es demasiado'\n {if} chocolate > 8\n {print} '¡Te va a doler el estómago!'\n" + question_text: ¿Cuántas porciones de chocolate harán que te duela el estómago de acuerdo a este fitbit? question_score: '10' correct_answer: D - hint: '> 8 means more than 8' + hint: '> 8 significa más de 8' 10: question_score: '10' - question_text: What should be filled in in the blanks? + question_text: ¿Qué debe rellenarse en los espacios en blanco? code: "{print} '¡Quién consiga más puntos gana!'\n{if} puntos_jugador_1 < puntos_jugador_2\n {print} _\n" mp_choice_options: - - option: "'player 1 wins'" - feedback: Look at who has the highest score! - - option: "'player 2 wins'" + - option: "'el jugador 1 gana'" + feedback: ¡Mira quién tiene la puntuación más alta! + - option: "'el jugador 2 gana'" feedback: ¡Sí! - - option: "'player 2 loses'" - feedback: Look at who has the highest score! + - option: "'el jugador 2 pierde'" + feedback: ¡Mira quién tiene la puntuación más alta! - option: "'Es un empate'" - feedback: No it's not, one player has a higher score + feedback: No, no lo es, un jugador tiene una puntuación más alta correct_answer: B - hint: You win the game by having the most points + hint: Ganas el juego por tener más puntos 3: - question_text: Which symbols should be filled in on the two blanks? - code: "guests = {ask} 'How many people are at the party?'\n{if} guests _ 130\n {print} 'You can come in!'\n{if} guests _ 130\n {print} 'Im sorry, the club is full. '\n {print} 'You have to wait for a guest to leave'\n" - mp_choice_options: - - option: '`>` and `<`' - feedback: That's not it - - option: '`=` and `>=`' - feedback: That's not it - - option: '`<` and `>=`' + question_text: ¿Qué símbolo debe rellenarse en los dos espacios en blanco? + code: "invitados = {ask} '¿Cuánta gente hay en la fiesta?'\n{if} invitados _ 130\n {print} '¡Puedes entrar!'\n{if} invitados _ 130\n {print} 'Lo siento, la sala está llena. '\n {print} 'Tienes que esperar a que alguien salga'\n" + mp_choice_options: + - option: '`>` y `<`' + feedback: No es eso + - option: '`=` y `>=`' + feedback: No es eso + - option: '`<` y `>=`' feedback: Tienes razón - - option: ' `+` and `==`' + - option: ' `+` y `==`' feedback: No es eso correct_answer: C - hint: There are 130 people allowed in the club + hint: El club admite 130 personas question_score: '10' 5: - question_text: 'Which symbol should be filled in on the blanks if the movie is suitable for kids for the age of 12 and up? ' - code: "age = {ask} 'How old are you?'\nticket = {ask} 'Do you have a ticket?'\n{if} age _ and ticket == 'yes'\n {print} 'You can enter the movie theater.'\n{else}\n {print} 'You are not allowed to come in!'\n" + question_text: '¿Qué símbolo debe rellenarse en los espacios en blanco si la película es apta para niños a partir de 12 años? ' + code: "edad = {ask} '¿Cuántos años tienes?'\nentrada = {ask} '¿Tienes una entrada?'\n{if} edad _ y entrada == 'sí'\n {print} 'Puedes entrar al cine.'\n{else}\n {print} '¡No puedes entrar!'\n" mp_choice_options: - option: '`> 12`' - feedback: 12 year olds are allowed too + feedback: También se admite a los de 12 años - option: '`>= 12`' feedback: ¡Genial! - option: '`< 12`' - feedback: These kids are too young! + feedback: ¡Estos niños son muy jóvenes! - option: '`<= 12`' - feedback: These kids are too young + feedback: Estos niños son muy jóvenes correct_answer: B - hint: '> means greater than' + hint: '> significa mayor que' question_score: '10' 7: - question_text: What should be filled in on the three blanks? - code: "{print} 'Guess which number'\nnumbers = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\nnumber = numbers {at} {random}\ngame = 'on'\n{for} i {in} {range} 1 {to} 10\n {if} game == 'on'\n guess = {ask} 'Which number do you think it is?'\n {if} guess < number\n {print} _\n {if} guess > number\n {print} _\n {if} guess == number\n {print} _\n game = 'over'\n" - mp_choice_options: - - option: "`'Lower'` and `'Higher'` and `'You win!'`" - feedback: That's not quite right. - - option: "`'Higher'` and `'Lower'` and `'You win!'`" - feedback: You win! - - option: "`'You win!'` and `'Lower!'` and `'Higher'`" - feedback: That's not quite right. - - option: "`'Lower!'` and `'You win!'` and `'Higher!'`" - feedback: That's not quite right. - hint: The last one should say you win. + question_text: ¿Qué debe rellenarse en los tres espacios en blanco? + code: "{print} 'Adivina el número'\nnúmeros = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\nnúmero = números {at} {random}\njuego = 'en marcha'\n{for} i {in} {range} 1 {to} 10\n {if} juego == 'en marcha'\n respuesta = {ask} '¿Qué número crees que es?'\n {if} respuesta < número\n {print} _\n {if} respuesta > número\n {print} _\n {if} respuesta == número\n {print} _\n juego = 'acabado'\n" + mp_choice_options: + - option: "`'Baja'` and `'Sube'` and `'¡Ganaste!'`" + feedback: Eso no es del todo correcto. + - option: "`'Sube'` and `'Baja'` and `'¡Ganaste!'`" + feedback: ¡Ganaste! + - option: "`'¡Ganaste!'` y `'¡Baja!'` y `'Sube'`" + feedback: Eso no es del todo correcto. + - option: "`'¡Baja!'` y `'¡Ganaste!'` y `'¡Sube!'`" + feedback: Eso no es del todo correcto. + hint: La última debe decir que ganaste. correct_answer: B question_score: '10' 8: mp_choice_options: - - option: You must be taller than 120 cm to go on the roller coaster - feedback: ¡Verdadero! - - feedback: If you are 120 cm you won't get in - option: You must be taller than 119 cm to go on the roller coaster - - option: You must be shorter than 120 cm to go on the roller coaster - feedback: '> means greater than' - - option: There are no length restrictions to go on the roller coaster - feedback: There are. - correct_answer: A - hint: '> means greater than' + - option: Debes ser más alto de 120 cm para montar en la montaña rusa + feedback: '> significa mayor que' + - feedback: Si mides 120 cm no subirás + option: Debes ser más alto de 119 cm para montar en la montaña rusa + - option: Debes medir 120 cm o menos para montar en la montaña rusa + feedback: '¡Cierto!' + - option: No hay restricciones de altura para montar en una montaña rusa + feedback: Ahí está. + correct_answer: C + hint: 'Céntrate en qué valores de longitud están permitidos' question_score: '10' - question_text: Which statement is true about this roller coaster? - code: "length = {ask} 'Please fill in your length in cm'\n{if} length < 120\n {print} 'Sorry, you cannot go on this roller coaster.'\n{else}\n {print} 'Enjoy the ride'\n" + question_text: ¿Qué sentencia es verdadera sobre esta montaña rusa? + code: "altura = {ask} 'Por favor indica tu altura en centímetros'\n{if} altura < 120\n {print} 'Lo siento, no puedes montar en la montaña rusa.'\n{else}\n {print} 'Disfruta del viaje'\n" 15: 1: - question_text: 'Which symbol should be used on the blank? Tip: You must keep guessing until you get it right.' - code: "answer = 0\nwhile answer _ 'Amsterdam'\n answer = ask 'What is the capital city of the Netherlands?'\nprint 'You have given the correct answer'\n" + question_text: '¿Qué símbolo debería usarse en el espacio en blanco? Consejo: Debes seguir adivinando hasta que lo consigas.' + code: "respuesta = 0\nwhile respuesta _ 'Amsterdam'\n respuesta = ask '¿Cuál es la capital de Paises Bajos?'\nprint 'Has dado la respuesta correcta'\n" mp_choice_options: - option: '`=!`' feedback: Eso no es correcto. - option: '`==`' - feedback: You don't have to keep guessing if you've given the right answer. + feedback: No tienes que seguir adivinando si has dado la respuesta acertada. - option: '`!=`' feedback: Correcto - option: '`=`' feedback: No es eso correct_answer: C - hint: Keep guessing until you say Amsterdam + hint: Sigue adivinando hasta que digas Amsterdam question_score: '10' 2: - question_text: Which of these codes has used the correct symbol(s)? + question_text: ¿Cuál de estos códigos ha usado el/los símbolo/s correcto/s? mp_choice_options: - option: "```\n{while} nombre = Hedy\n```\n" feedback: No - option: "```\n{while} edad = 24\n```\n" feedback: No - - option: "```\n{while} time > 0\n```\n" + - option: "```\n{while} tiempo > 0\n```\n" feedback: ¡Sí! - - option: "```\n{while} answer == yes'\n```\n" + - option: "```\n{while} respuesta == sí'\n```\n" feedback: Falta una comilla correct_answer: C - hint: When you are comparing two answers you should use == + hint: Cuando comparas dos respuestas debes usar == question_score: '10' 3: - question_text: Which command should be filled in on the two blanks? - code: "_ age >= 18\n print 'you are not allowed in this bar'\n" + question_text: ¿Qué comando debe rellenarse en los dos espacios en blanco? + code: "_ edad >= 18\n print 'no se te permite entrar en este bar'\n" mp_choice_options: - option: '`{in}`' feedback: No es eso @@ -2972,7 +2966,7 @@ levels: question_score: '10' feedback: No es eso correct_answer: B - hint: You are not allowed in the bar as long as you are 17 or younger + hint: No puedes entrar al bar si tienes 17 años o menos 4: question_text: ¿Qué le pasa a este código? code: "opciones = 1, 2, 3, 4, 5, 6\nprint '¡Lanza un 6 lo antes posible!'\nlanzamientos = 0\nintentos = 0\nwhile lanzamientos == 6\n lanzamientos = opciones at random\n print 'Lanzaste ' thrown\n intentos = intentos + 1\nprint '¡Sí! Has lanzado 6 en ' intentos ' intentos.'\n" diff --git a/content/quizzes/nl.yaml b/content/quizzes/nl.yaml index 46f86603dc1..34f42089abc 100644 --- a/content/quizzes/nl.yaml +++ b/content/quizzes/nl.yaml @@ -3173,151 +3173,151 @@ levels: question_score: "10" 15: 1: - question_text: 'Which symbol should be used on the blank? Tip: You must keep guessing until you get it right.' - code: "answer = 0\nwhile answer _ 'Amsterdam'\n answer = ask 'What is the capital city of the Netherlands?'\nprint 'You have given the correct answer'\n" + question_text: 'Welk symbool moet worden gebruikt op het streepje? Tip: Je moet blijven raden tot het antwoord goed is.' + code: "antwoord = 0\n{while} antwoord _ 'Amsterdam'\n antwoord = {ask} 'Wat is de hoofdstad van Nederland?'\nprint 'Je hebt het juiste antwoord gegeven'\n" mp_choice_options: - option: '`=!`' - feedback: That is not right. + feedback: Dat klopt niet. - option: '`==`' - feedback: You don't have to keep guessing if you've given the right answer. + feedback: Je hoeft niet te blijven raden als je het goede antwoord hebt gegeven - option: '`!=`' feedback: Correct - option: '`=`' - feedback: That's not it + feedback: Dat klopt niet correct_answer: C - hint: Keep guessing until you say Amsterdam + hint: Blijf raden tot de speler Amsterdam zegt. question_score: '10' 2: - question_text: Which of these codes has used the correct symbol(s)? - mp_choice_options: - - option: "```\n{while} name = Hedy\n```\n" - feedback: No - - option: "```\n{while} age = 24\n```\n" - feedback: No - - option: "```\n{while} time > 0\n```\n" - feedback: Yes! - - option: "```\n{while} answer == yes'\n```\n" - feedback: A quotation mark is missing + question_text: Welk van deze codes gebruikt het juiste symbool/symbolen? + mp_choice_options: + - option: "```\n{while} naam = Hedy\n```\n" + feedback: Nee + - option: "```\n{while} leeftijd = 24\n```\n" + feedback: Nee + - option: "```\n{while} tijd > 0\n```\n" + feedback: Ja! + - option: "```\n{while} antwoord == ja'\n```\n" + feedback: Hier mist een aanhalingsteken correct_answer: C - hint: When you are comparing two answers you should use == + hint: Je gebruikt == wanneer je twee dingen vergelijkt question_score: '10' 3: - question_text: Which command should be filled in on the two blanks? - code: "_ age >= 18\n print 'you are not allowed in this bar'\n" + question_text: Welk commando moet op het streepje? + code: "_ leeftijd >= 18\n print 'Jij mag deze bar niet in'\n" mp_choice_options: - option: '`{in}`' - feedback: That's not it + feedback: Dat is hem niet. - option: '`{while}`' - feedback: You are right + feedback: Goed gedaan! - option: '`{for}`' - feedback: That's not it + feedback: Dat is hem niet. - option: '`{range}`' - feedback: That's not it + feedback: Dat is hem niet. correct_answer: B - hint: You are not allowed in the bar as long as you are 17 or younger + hint: Je mag de bar niet in als je 17 of jonger bent. question_score: '10' 4: - question_text: What's wrong with this code? - code: "options = 1, 2, 3, 4, 5, 6\nprint 'Throw 6 as fast as you can!'\nthrown = 0\ntries = 0\nwhile thrown == 6\n thrown = options at random\n print 'You threw ' thrown\n tries = tries + 1\nprint 'Yes! You have thrown 6 in ' tries ' tries.'\n" - mp_choice_options: - - option: In line 1 == should be used instead of = - feedback: No that's not it - - option: Line 2 misses quotation marks - feedback: That's not right - - option: In line 5 if should have been used instead of while - feedback: That's not it - - option: In line 5 != should have been used instead of == - feedback: You are correct + question_text: Wat is er mis met deze code? + code: "opties = 1, 2, 3, 4, 5, 6\nprint 'Gooi zo snel mogelijk 6!'\ngegooid = 0\npogingen = 0\n{while} gegooid == 6\n gegooid = opties {at} {random}\n print 'Je gooide ' gegooid\n pogingen = pogingen + 1\nprint 'Hoera! Je gooide 6 in ' pogingen ' pogingen.'\n" + mp_choice_options: + - option: In regel 1 moet == worden gebruikt in plaats van = + feedback: Dat klopt niet + - option: Regel 2 mist aanhalingstekens + feedback: Dat klopt niet + - option: In regels 5 moet {if} gebruikt worden in plaats van {while} + feedback: Dat klopt niet + - option: In regel 5 moet != gebruikt worden in plaats van == + feedback: Dat is juist! correct_answer: D - hint: There is something wrong in line 5 + hint: Er is iets mis in regel 5 question_score: '10' 5: - question_text: What should be placed on the blank to make this program work correctly? - code: "wetness = 10\nwhile wetness != 0\n print 'Your hair is still wet, hair dryer on!'\n sleep 1\n clear\n wetness _\n\nprint 'All dry!'\n" - mp_choice_options: - - option: = wetness - feedback: That will not change anything - - option: = wetness = 1 - feedback: You can't have two times = in one line - - option: = wetness - 1 - feedback: You are correct! - - option: = wetness + 1 - feedback: The program should count down + question_text: Wat moet er op het streepje komen om dit programma goed te laten werken? + code: "vochtgehalte = 10\n{while} vochtgehalte != 0\n print 'Je haar is nog nat, zet de föhn aan!'\n {sleep} 1\n {clear}\n vochtgehalte _\n\nprint 'Helemaal droog!'\n" + mp_choice_options: + - option: = vochtgehalte + feedback: Dit verandert niets + - option: = vochtgehalte = 1 + feedback: Dat klopt niet + - option: = vochtgehalte - 1 + feedback: Super! + - option: = vochtgehalte + 1 + feedback: Het programma moet aftellen correct_answer: C question_score: '10' - hint: wetness should get less each time + hint: Het haar moet steeds minder vochtig zijn. 6: - question_text: what is wrong with this code? - code: "lives = 100\n {while} lives != 0\n answer = {ask} 'Are you annoyed yet?'\n{if} answer == 'yes'\n lives = lives - 1\n" - mp_choice_options: - - option: while should be if - feedback: No that is not right - - option: if should be while - feedback: No that is not right - - option: Line 3 should start with more indentation - feedback: No that's not right - - option: Line 2 should start with less indentation + question_text: Wat is er mis met deze code? + code: "levens = 100\n {while} levens != 0\n antwoord = {ask} 'Ben je al boos?'\n{if} antwoord == 'ja'\n levens = levens - 1\n" + mp_choice_options: + - option: "{while} moet {if} zijn." + feedback: Nee dat klopt niet + - option: "{if} moet {while} zijn." + feedback: Nee dat klopt niet + - option: Bij regel 3 moet meer worden ingesprongen + feedback: Nee dat klopt niet + - option: Bij regel 2 moet minder worden ingesprongen feedback: That is correct correct_answer: D - hint: Look closely at the indentation + hint: Er wordt verkeerd ingesprongen question_score: '10' 7: - question_text: How should this program be changed to that it works? - code: "{print} 'Guess which number'\nnumbers = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\nnumber = numbers {at} {random}\ngame = 'on'\n{if} game == 'on'\n guess = {ask} 'Which number do you think it is?'\n {if} guess < number\n {print} _\n {if} guess > number\n {print} _\n {if} guess == number\n {print} _\n game = 'over'\n" + question_text: Wat moet er in deze code veranderen? + code: "{print} 'Raad mijn getal'\nnumemrs = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\nnummer = nummers {at} {random}\ngame = 'aan'\n{if} game == 'aan'\n gok = {ask} 'Welk getal denk jij dat het is?'\n {if} gok < nummer\n {print} _\n {if} gok > nummer\n {print} _\n {if} gok == nummer\n {print} _\n spel = 'over'\n" mp_choice_options: - - option: '... change the first {if} into a {while}' + - option: 'De eerste {if} moet een {while} worden' feedback: Perfect! - - option: '... change the second {if} into a {while}' - feedback: That's not quite right. - - option: '... change the third {if} into a {while}' - feedback: That's not quite right. - - option: '... change the fourth {if} into a {while}' - feedback: That's not quite right. + - option: 'De tweede {if} moet een {while} worden' + feedback: Helaas. + - option: 'De derde {if} moet een {while} worden' + feedback: Helaas. + - option: 'De vierde {if} moet een {while} worden' + feedback: Helaas. correct_answer: A - hint: The last one should say you win. + hint: De laatste moet een {if} blijven. question_score: '10' 8: - question_text: Which statement is true about this automated toilet system? - code: "while toilet == 'occupied'\n lights = 'on'\n air_freshener_sprays = 'yes'\n sleep 60\nelse\n lights = 'off'\n" - mp_choice_options: - - option: The lights and air freshener will turn off after 1 minute - feedback: False! - - option: The air freshener sprays once every minute and the lights stay on the whole time while you are on the toilet - feedback: Great job - - option: The air freshener sprays once you leave the toilet. - feedback: It only sprays when you're in there. - - option: The lights will always stay on. - feedback: That wouldn't be right. - hint: The block after the while command keeps happening while the toilet is occupied. + question_text: Wat is waar over dit automatische toilet systeem? + code: "{while} toilet == 'bezet'\n licht = 'aan'\n lucgtverfrisser_sprayt = 'ja'\n {sleep} 60\nelse\n licht = 'uit'\n" + mp_choice_options: + - option: De lichten en luchtverfrisser gaan uit na 1 minuut + feedback: Fout! + - option: De luchtverfrisser sprayt een keer per minuut en de lichten blijven aan zolang je op de wc zit. + feedback: Geweldig! + - option: De luchtverfrisser sprayt als je het toilet verlaat. + feedback: Hij sprayt alleen als hij bezet is. + - option: Het licht blijft altijd aan. + feedback: Dat klopt niet. + hint: Het blok na het {while} commando blijft gebeuren zolang het toilet bezet is. question_score: '10' correct_answer: B 9: - question_text: What will the diet app say if you have eaten 1600 calories today? - code: "chocolate = {ask} 'How many calories have you eaten today?'\n {while} calories <= 1000\n {print} 'You could eat some more'\n {while} calories > 1000 and calories =< 2000\n {print} 'That is alright'\n {while} calories > 2000\n {print} 'You have had enough for today'\n" - mp_choice_options: - - option: Nothing. 1600 is not programmed into the app. - feedback: No - - option: you could eat some more - feedback: No - - option: That is alright - feedback: Yes! - - feedback: No - option: You have eaten enough for today + question_text: Wat zegt de dieetapp als je 1600 caloriëen hebt gegeten die dag? + code: "calorie = {ask} 'Hoeveel calorieën heb je vandaag gegeten?'\n {while} calorie <= 1000\n {print} 'Je kunt nog wat eten'\n {while} calorie > 1000 and calorie =< 2000\n {print} 'Prima'\n {while} calorie > 2000\n {print} 'Je hebt genoeg gehad'\n" + mp_choice_options: + - option: Niets. 1600 calorieën is niet geprogrammeerd + feedback: Nee + - option: Je kunt nog wat eten + feedback: Nee + - option: Prima + feedback: Ja! + - feedback: Nee + option: Je hebt genoeg gehad correct_answer: C - hint: 1600 is between 1000 and 2000 + hint: 1600 ligt tussen 1000 en 2000 question_score: '10' 10: - question_text: 'What should be filled in in the blanks? Tip: the player with the most points is in the lead.' - code: "name_player_1 = {ask} 'Name player 1:'\nname_player_2 = {ask} 'Name player 2:'\n{while} points_player_1 > points_player_2\n {print} _ ' is in the lead right now!'\n" + question_text: 'Wat moet worden ingevuld op het streepje? Tip: de speler met de meeste punten staat voor.' + code: "naam_speler_1 = {ask} 'Naam speler 1:'\nnaam_speler_2 = {ask} 'Naam speler 2:'\n{while} punten_speler_1 > punten_speler_2\n {print} _ ' staat voor!'\n" mp_choice_options: - - option: name_player_1 - feedback: You are right! + - option: naam_speler_1 + feedback: Fantastisch! - option: name_player_2 - feedback: No they are losing! - - option: points_player_1 - feedback: You should fill in a name, not a number - - option: points_player_2 - feedback: You should fill in a name, not a number + feedback: Nee die verliest! + - option: punten_speler_1 + feedback: Het moet een naam zijn, geen getal + - option: punten_speler_2 + feedback: Het moet een naam zijn, geen getal correct_answer: A - hint: You win the game by having the most points. Your name should appear on the screen + hint: Je wint het spel als je de meeste punten hebt. Je naam komt dan in beeld. question_score: '10' diff --git a/content/slides/es.yaml b/content/slides/es.yaml index d97b035b488..fcf7bb18c42 100644 --- a/content/slides/es.yaml +++ b/content/slides/es.yaml @@ -23,410 +23,410 @@ levels: text: "Iniciamos el código con el botón Ejecutar código debajo del código.\n.\n" 8: header: Programar en Hedy - text: "La salida aparece en el lado izquierdo.\n\n" + text: "El resultado aparece en el lado derecho.\n\n" 9: header: Programar en Hedy text: "La salida también puede ser un dibujo.\n\n" 1: 7: header: ¡Programando! - text: "Los botones de flecha amarillos se pueden utilizar para copiar ejemplos.\n\n" + text: "Las aventuras se muestran en pestañas.\n" editor: "\n" 1: header: ¡Bienvenido al nivel 1! text: "¡Empezaremos el nivel 1 creando historias en Hedy!\n\nNecesitamos tres códigos de texto para crear historias interactivas.\n" 2: - header: 'Hedy nivel 1: {print}' + header: '{print}' text: "El primer código que puede utilizar en el nivel 1 es `{print}`.\n\n`{print}` se utiliza para mostrar texto en la pantalla.\n" - editor: "\n" + editor: "\n" 3: - header: 'Hedy nivel 1: {ask}' - text: "El segundo código que puede utilizar en el nivel 1 es `{ask}`.\n\n`{ask}` se utiliza para hacer una pregunta que puede ser respondida.\n" - editor: "\n" + header: 'El comando {print}' + text: "Puedes cambiar el texto después del comando imprimir al que tu quieras.\n\nO puedes imprimir varias líneas añadiendo otra línea de código que también empiece con `{print}`.\n" + editor: "\n" 4: - header: 'Hedy nivel 1: {echo}' - text: "El código de texto final que puede usar en el nivel 1 es `{echo}`.\n\n`{echo}` se usa para repetir la respuesta de una `{ask}`.\n" - editor: "\n" + header: '{ask} ' + text: "El segundo código que puedes usar en el nivel 1 es `{ask}`.\n\n`{ask}` se usa para hacer una pregunta que se puede responder.\n" + editor: "\n" 5: - header: ¡Programando! - text: "con `{print}`, `{ask}` y `{echo}` ya puedes crear una pequeña historia.\nEs un buen momento para probar las aventuras Loro, Cuento y Piedra, papel o tijera.\n" + header: '{echo}' + text: "Como puedes ver en el ejemplo anterior. Si usas el comando `{ask}`, puedes hacer una pregunta.\n\nEn cambio, la respuesta no se muestra en la pantalla de salida.\n\nSi quieres que la respuesta se muestre, puedes usar el último comando de este nivel: `{echo}`.\n\n`{echo}` se usa para repetir la respuesta de una `{ask}`.\n" editor: "\n" 6: header: ¡Programando! - text: "Las aventuras se muestran en pestañas.\n" + text: "Con `{print}`, `{ask}` y `{echo}` ya puedes crear una pequeña historia.\nEste es un buen momento para probar las aventuras Loro, Cuento y Piedra, papel o tijera.\n" 8: - header: Dibujar con la tortuga - text: "Ahora que ya hemos visto los códigos de texto, veremos a continuación los códigos de dibujo.\n" + header: ¡Programación! + text: "Los botones de flecha amarillos se pueden utilizar para copiar ejemplos.\n\n" 9: + header: 'Dibuja con la tortuga' + text: "Ahora que ya hemos visto los códigos de texto, veremos a continuación los códigos de dibujo.\n" + 10: header: 'Dibujando con la tortuga: {forward}' text: "`{forward}` se utiliza para mover la tortuga hacia adelante.\n" - 10: - header: 'Dibujando con la tortuga: {turn}' - text: "`{turn}` se utiliza para hacer que la tortuga gire a la izquierda o a la derecha.\n" editor: "\n" 11: - header: 'Drawing with the turtle: {turn}' - text: "`{turn}` is used to make the turtle turn left or right.\n" + header: 'Dibuja con la tortuga: {turn}' + text: "`{turn}` se utiliza para hacer que la tortuga gire a la izquierda o a la derecha.\n" editor: "\n" 7: 5: - header: Ready Set Go! - text: "Enjoy the adventures in level 7!\n" + header: ¡Preparado Listo Ya! + text: "¡Disfruta las aventuras en el nivel 7!\n" 1: - text: "In this level you will learn how to repeat a line of code as many times a you'd like.\n" - header: Welcome to level 7 + text: "En este nivel aprenderás a cómo repetir una línea de código tantas veces como quieras.\n" + header: Bienvenido al nivel 7 2: - header: repeat 3 times - text: "If you want to repeat a line of code, you can use the `{repeat}` 3 `{times}` code.\nIf you want to repeat the line more times, simply change the number.\n\nFor example: If you are programming a story where your character shouts for help for 5 times, it could look like this:\n" + header: repetir 3 veces + text: "Si quieres repetir una línea de código, puedes usar el código `{repeat}` 3 `{times}`.\nSi quieres repetir la línea más veces, simplemente cambia el número.\n\nPor ejemplo: Si estás programando una historia donde tu personaje pide ayuda 5 veces, podría ser así:\n" editor: "\n" 3: - header: Don't forget the print command - text: "When using the repeat command, do not forget the `{print}` command.\n" + header: No te olvides el comando imprimir + text: "Al usar el comando repetir, no te olvides el comando `{print}`.\n" editor: "\n" 4: - header: Repeat an ask command - text: "You can also repeat an `{ask}`, `{if}` or `{else}` command multiple times.\n" + header: Repetir un comando preguntar + text: "También puedes repetir un comando `{ask}`, `{if}` or `{else}` varias veces.\n" editor: "\n" 2: 1: - text: "In this level you will learn to use variables.\n\nA variable is a word that can be used to store informatie.\n\nFor example: a name, age or favorite sports team.\n" - header: Welcome to level 2 + text: "En este nivel aprenderás a usar las variables.\n\nUna variable es una palabra que se usa para almacenar información.\n\nPor ejemplo: un nombre, edad o equipo de deportes favorito.\n" + header: Bienvenido al nivel 2 3: - header: Interactive - text: "We can also set a variable by asking questions.\n\nThe answer to the question is stored in the variable.\n\nThis way we don't need the `{echo}` command.\n" + header: Interactivo + text: "También podemos establecer una variable haciendo preguntas.\n\nLa respuesta a esta pregunta se guarda en la variable.\n\nDe esta manera no hace falta el comando `{echo}`.\n" editor: "\n" 6: - header: Sleep 5 - text: "You can add a number after the `{sleep}` command if you want the pause to be longer.\n\nIf you want, you could even use a variable instead of a number to decide the duration of the sleep command.\n" + header: Dormir 5 + text: "Puedes añadir un número tras el comando `{sleep}` si quieres que la pausa sea más larga.\n\nSi quieres, incluso podrías usar una variable en vez de un número para decidir la duración del comando dormir.\n" editor: "\n" 7: - text: "Enjoy the adventures in level 3!\n" - header: Let the programming fun begin! + text: "¡Disfruta las aventuras en el nivel 3!\n" + header: ¡Que empiece la diversión de programar! 2: header: Variables - text: "To make or 'set' a variable we use the `{is}` command\n" + text: "Para crear o 'establecer' una variable usamos el comando `{is}`\n" editor: "\n" 4: - header: Multiple variables - text: "Now that we use variables, we can use multiple variables instead of just one `{echo}`command.\n" + header: Multiples variables + text: "Ahora que usamos variables, podemos usar varias variables en vez de sólo un comando `{echo}`.\n" editor: "\n" 5: - header: Sleep - text: "You can also use the `{sleep}` command to pause the code for a while.\n" + header: Dormir + text: "También puedes usar el comando `{sleep}` para pausar el código durante un rato.\n" editor: "\n" 6: 1: - text: "In this level we are adding maths to our codes.\n" - header: Welcome to level 6 + text: "En este nivel añadimos las matemáticas a nuestros códigos.\n" + header: Bienvenido al nivel 6 2: - header: Addition - text: "If you want to calculate an addition, simply use the plus sign.\n" + header: Suma + text: "Si quieres calcular una suma, simplemente usa el signo más.\n" editor: "\n" 5: - text: "You can use the slash for division.\n" + text: "Puedes usar la barra para dividir.\n" editor: "\n" - header: Division + header: División 6: - header: Summary - text: "In summary, you can use +, -, * and / to do maths.\n" + header: Resumen + text: "En resumen, puedes usar +, -, * y / para hacer cálculos.\n" editor: "\n" 7: - header: The = symbol - text: "From now on you can also use the = symbol instead of the `{is}` command.\nThis goes for both numbers and words, and it also goes after the `{if}` or `{else}` commands.\n" + header: El símbolo = + text: "Desde ahora puedes usar también el símbolo = en vez del comando `{is}`.\nEsto ocurre tanto para números y palabras, y también ocurre tras los comandos `{if}` o `{else}`.\n" editor: "\n" 3: - header: Subtraction - text: "If you want to subtract, you can use the minus sign.\n" + header: Resta + text: "Si quieres restar, puedes usar el signo menos.\n" editor: "\n" 4: - header: Multiplication - text: "If you want to do multiplications, you can use the asterisk.\n" + header: Multiplicación + text: "Si quieres hacer multiplicaciones, puedes usar el asterisco.\n" editor: "\n" 8: - header: Calculations with variables - text: "You can use calculations with numbers, but you can also use variables to do calculations, like this:\n" + header: Cálculos con variables + text: "Puedes usar cálculos con números, pero también puedes usar variables para hacer cálculos, tal que así:\n" editor: "\n" 9: - header: Let's get to work! - text: "Enjoy the adventures in level 6!\n" + header: ¡Manos a la obra! + text: "¡Disfruta las aventuras en el nivel 6!\n" 4: 6: editor: "\n" - header: Quotation marks and variables - text: "You do not want variable names to be printed on the screen.\nThis is why variables should be left out of the quotation marks, like this:\n" + header: Comillas y variables + text: "No quieres que se impriman nombres de variables en la pantalla.\nEsto es por lo que las variables deben dejarse fuera de las comillas, tal que así:\n" 7: - header: Quotation marks and variables - text: "When variable names are used in the middle of a sentence, you have to leave the variables out of the quotation marks.\nThe rest of the sentence however, does need quotation marks. That looks like this:\n" + header: Comillas y variables + text: "Cuando los nombres de variables se usan en medio de una frase, tienes que dejar las variables fuera de las comillas.\nEl resto de la frase en cambio, necesita comillas. Que se parece a esto:\n" editor: "\n" 1: - header: Welcome to level 4 - text: "In this level you will learn how to use quotation marks.\n" + header: Bienvenido al nivel 4 + text: "En este nivel aprenderás a cómo usar las comillas.\n" editor: "\n" 2: - header: Problem - text: "In the previous levels, you might have come across this problem:\n" + header: Problema + text: "En los niveles anteriores, quizá te hayas encontrado este problema:\n" editor: "\n" 3: - header: Fixing it with quotation marks - text: "In this level we will fix this problem by using quotation marks.\n\nThis also makes our code look more like 'real' Python code.\n" + header: Arreglarlo con comillas + text: "En este nivel arreglaremos este problema usando las comillas.\n\nEsto tambiém hace que nuestro código se parezca más a un código 'real' de Python.\n" 4: - header: Quotation marks with print - text: "Each time you use the `{print}` command you need to put the text that you want to appear on the screen in quotation marks.\n" + header: Comillas con imprimir + text: "Cada vez que uses el comando `{print}` necesitas poner el texto que quieras con comillas para que aparezca en la pantalla.\n" editor: "\n" 5: - header: Quotation marks with ask - text: "This also goes for the `{ask}` command.\n" + header: Comillas con preguntar + text: "Esto también ocurre para el comando `{ask}`.\n" editor: "\n" 8: - header: Quotation marks and contractions - text: "Be careful! Now that you are using quotation marks, you can't use apostrophes in contractions.\n\nPlease try to print a contraction like \"you're\" or \"I'm\" in the screen below and see what happens....\n" + header: Comillas y contracciones + text: "¡Cuidado! Ahora que estás usando comillas, no puedes usar apóstrofes en las abreviaturas.\n\nPor favor intenta imprimir una contracción como \"you're\" o \"I'm\" en la pantalla de abajo y verás que sucede....\n" editor: "\n" 9: - header: Ready, Set, Go! - text: "Enjoy the adventures in level 4!\n" + header: Limpiar + text: "En este nivel también aprenderás el comando {clear}.\nCon este comando puedes limpiar todo el texto de tu pantalla de salida.\n\nTen cuidado si siempre también usas un comando dormir. Si no lo haces el ordenador ¡limpiará todo el texto antes de que lo puedas leer!\n" editor: "\n" 10: - header: Ready, Set, Go! - text: "Enjoy the adventures in level 4!\n" + header: ¡Preparados, Listos, Ya! + text: "¡Disfruta las aventuras en el nivel 4!\n" 15: 2: editor: "\n" header: '{while}' - text: "We are going to learn a new loop, the while loop! The loop continues as long as the statement is true. So don't forget to change the value in the loop.\n\nIn the example code, we continue until a correct answer has been given. If the correct answer is never given, the loop will never end!\n" + text: "Vamos a aprender un nuevo bucle, ¡el bucle mientras! El bucle continua tanto que la sentencia sea verdadera. Así que no te olvides de cambiar el valor en el bucle.\n\nEn el código de ejemplo, continuamos hasta que se da una respuesta correcta. Si nunca se da la respuesta correcta, ¡el bucle nunca acabará!\n" 3: - header: Let's try it out! - text: "Enjoy the adventures in level 15!\n" + header: ¡Vamos a probarlo! + text: "¡Disfruta las aventuras en el nivel 15!\n" 1: - header: Welcome to level 15 - text: "In this level you will learn about the `{while}` loop.\n" + header: Bienvenido al nivel 15 + text: "En este nivel aprenderás sobre el bucle `{while}`.\n" 16: 1: - header: Welcome to level 16 - text: "In this level you will learn about the [square brackets] and how to use them.\n" + header: Bienvenido al nivel 16 + text: "En este nivel aprenderás sobre los [corchetes] y cómo se usan.\n" 2: - header: Square brackets - text: "We are going to make lists the Python way, with square brackets around the lists! We also keep the quotation marks around each item like we have learned in previous levels. We use square brackets to point out a place in a list. The at random command can not be used anymore.\n" + header: Corchetes + text: "Vamos a hacer listas a la manera de Python, ¡con corchetes alrededor de las listas! También mantendremos las comillas alrededor de cada objeto como hemos aprendido en los niveles anteriores. Usamos corchetes para apuntar a un lugar en una lista. El comando en aleatorio ya no se puede usar nunca más.\n" editor: "\n" 3: - header: Let's try it out! - text: "Enjoy the adventures in level 16!\n" + header: ¡Vamos a probarlo! + text: "¡Disfruta las aventuras en el nivel 16!\n" 3: 1: - header: Welcome to level 3 - text: "In this level you'll learn how to make a list, add and remove items form your lists and pick a random item off that list.\n" + header: Bienvenido al nivel 3 + text: "En este nivel aprenderás como hacer un lista, añadir y eliminar objetos de tus listas y elegir un objeto al azar de esa lista.\n" 2: - header: Making a list - text: "You make a list with `{is}`.\n\nSeperate the items on your list with a comma.\n" + header: Hacer una lista + text: "Creas una lista con `{is}`.\n\nSepara tus objetos en tu lista con una coma.\n" editor: "\n" 3: - header: At random - text: "You can use the list with the `{at}` `{random}` command.\nThe computer will randomly pick one item of the list.\nEvery time you run this code the output will differ.\n" + header: En aleatorio + text: "Puedes usar la lista con el comando `{at}` `{random}`.\nEl ordenador elegirá al azar un objeto de la lista.\nCada vez que ejecutes este código el resultado será diferente.\n" editor: "\n" 4: - header: At random in a sentence - text: "You can use the `{at}` `{random}` command in a sentence as well.\n" + header: En aleatorio en una frase + text: "También puedes usar el comando `{at}` `{random}` en una frase.\n" editor: "\n" 5: - header: Add to - text: "You can add items to a list with the `{add}` `{to}` command.\n\nYou can choose what to add to the list or you can use the `{add}` `{to}` command in combination with the `{ask}` command.\nThis way you can let the player decide what to add to the list.\n" + header: Añadir a + text: "Puedes añadir objetos a una lista con el comando `{add}` `{to}`.\n\nPuedes elegir qué añadir a la lista o puedes usar el comando `{add}` `{to}` en combinación con el comando `{ask}`.\nDe esta manera puedes dejar que el jugador elija qué añadir a la lista.\n" editor: "\n" 6: - header: Remove from - text: "The opposite of the `{add}` `{to}` command is the `{remove}` `{from}` command.\nThis command removes an item from a list.\n" + header: Eliminar de + text: "Lo contrario del comando `{add}` `{to}` es el comando `{remove}` `{from}`.\nEste comando elimina un objeto de una lista.\n" editor: "\n" 9: - header: Let's get to work! - text: "Enjoy the adventures in level 3!\n" + header: ¡Manos a la obra! + text: "¡Disfruta las aventuras en el nivel 3!\n" 8: 4: editor: "\n" - text: "If you want to, you can continue after the `{repeat}` command without indentation.\nThe lines that do not start with indentation will not be repeated.\n" - header: '{repeat} commands now' + text: "Si quieres, puedes continur tras el comando `{repeat}` sin sangría.\nLas líneas que no empiecen con sangría no se repetirán.\n" + header: 'comandos {repeat} ahora' 5: - header: if and else before - text: "The same goes for the `{if}` and `{else}` commands.\nThese were the commands before:\n" + header: antes si y sino + text: "Lo mismo ocurre para los comandos `{if}` y `{else}`.\nAntes estos eran los comandos:\n" editor: "\n" 6: - text: "These are the `{if}` and `{else}` commands now.\nEach line after the `{if}` and `{else}` commands start with indentation.\n" + text: "Ahora estos son los comandos `{if}` y `{else}`.\nCada línea tras los comandos `{if}` y `{else}` empieza con sangría.\n" editor: - header: if and else now + header: ahora si y sino 7: - header: stopping the indentation - text: "Just like with the `{repeat}` command, you can stop using indentation and the lines will always be shown. Not just if the statement is true.\n" + header: detener la sangría + text: "Al igual que con el comando `{repeat}`, puedes dejar de usar sangría y las líneas siempre se mostrarán. No sólo si la sentencia es verdadera.\n" editor: "\n" 8: - header: if statements inside if statements - text: "You might have thought of trying to put an if command inside a repeat command, or inside another if command.\nFor now, this is not possible yet. In the higher levels, it will be allowed, but for now let's focus on practising the `{if}` `{else}` and `{repeat}` commands with proper indentation first.\n" + header: sentencias si dentro de sentencias si + text: "Quizás hayas pensado en intentar poner un comando si dentro de un comando repetir, o dentro de otro comando si.\nPor ahora, esto todavía no es posible. En niveles superiores, esto se permitirá, pero por ahora centrémosnos primero en practicar los comandos `{if}` `{else}` y `{repeat}` con la sangría adecuada.\n" 3: - text: "In this level you can repeat multiple lines of code. To do this you must tell the computer which lines belong together and should be repeated.\nYou do this by using indentation.\n\nUse 4 spaces (or one tab) at the beginning of each line that you want to repeat, like this:\n" + text: "En este nivel puedes repetir carias líneas de código. Para hacerlo debes decirle al ordenador que líneas van juntas y deberían repetirse.\nEsto lo haces usando la sangría.\n\nUsa 4 espacios (o una tabulación) al principio de cada línea que quieras repetir, tal que así:\n" editor: "\n" - header: '{repeat} commands now' + header: 'comandos {repeat} ahora' 1: - header: Welcome to level 8 - text: "In this level you will learn to use indentation to make the `{repeat}`, `{if}` and `{else}` commands work for multiple lines of code.\n" + header: Bienvenido al nivel 8 + text: "En este nivel aprenderás a usar la sangría para hacer funcionar los comandos `{repeat}`, `{if}` and `{else}` para varias líneas de código.\n" 2: - header: '{repeat} commands before' - text: "In the previous levels, the `{repeat}` command looked like this:\n\nYou could only repeat one line of code.\n" + header: 'comandos {repeat} antes' + text: "En los niveles anteriores, el comando `{repeat}` se parecía a esto:\n\nSólo podías repetir una línea de código.\n" editor: "\n" 9: - header: Let's check out the adventures! - text: "Enjoy the adventures in level 8!\n" + header: ¡Vamos a ver las aventuras! + text: "¡Disfruta las aventuras en el nivel 8!\n" 17: 2: - text: "Now we are going to change indentation a little bit. Every time that we need an indentation, we need : at the line before the indentation.\n" + text: "Ahora vamos a cambiar la sangría un poco. Cada vez que necesitemos una sangría, necesitamos : en la línea de antes de la sangría.\n" editor: "\n" - header: Colon + header: Dos puntos 3: - header: Elif - text: "In this level you can also use a new command: elif. elif is short for else if and you need it when you want to make 3 (or more!) options. Check it out!\n" + header: Sino + text: "En este nivel también puedes usar un nuevo comando: sino. sino es la abreviatura para si no si y lo necesitas cuando quieras hacer 3 ('o más!) opciones. ¡Compruébalo!\n" editor: "\n" 1: - header: Welcome to level 17 - text: "in this level you will learn how to use a colon and you will learn the elif command.\n" + header: Bienvenido al nivel 17 + text: "en este nivel aprenderás a como usar los dos puntos y aprenderás el comando sino.\n" 4: - header: Let's try it out! - text: "Enjoy the adventures in level 17!\n" + header: ¡Vamos a probarlo! + text: "¡Disfruta las aventuras en el nivel 17!\n" 14: 1: - header: Welcome to level 14 - text: "In this level you'll learn some new symbols that can help you improve your programs, like >.\n" + header: Bienvenido al nivel 14 + text: "En este nivel aprenderás algunos símbolos nuevos que pueden ayudarte a mejorar tus programas, como >.\n" 2: - header: Symbols - text: "These are the new symbols you can use:\n\n The > means bigger than...\n\n The >= means bigger than or the same as...\n\n The < means smaller than...\n\n The <= means smaller than or the same as...\n\nYou can use them like this:\n" + header: Símbolos + text: "Estos son los nuevos símbolos que puedes usar:\n\n El > significa mayor que...\n\n El >= significa mayor o igual que...\n\n El < significa menor que...\n\n El <= significa menor o igual que...\n\nPuedes usarlos así:\n" editor: "\n" 3: - header: Symbols - text: "You can also use:\n\n== is the same as.\n\n!= is not\n\n== is used in `{if}` statements.\n" + header: Símbolos + text: "También puedes usar:\n\n== is igual que.\n\n!= no es\n\n== se usa en sentencias `{if}`.\n" editor: "\n" 4: - header: Let's get to work! - text: "Enjoy the adventures in level 14!\n" + header: ¡Manos a la obra! + text: "¡Disfruta las aventuras en el nivel 14!\n" 9: 7: editor: "\n" - header: Mind the indentation - text: "Mind that the fourth and sixth line of this code starts with 8 spaces of indentation.\n" + header: Cuidado con la sangría + text: "Cuidado que la cuarta y sexta línea de este código empieza con 8 espacios de sangría.\n" 8: - header: Let's go! - text: "Enjoy the adventures in level 9!\n" + header: ¡Vamos! + text: "¡Disfruta las aventuras en el nivel 9!\n" 1: - header: Welcome to level 9 - text: "In this level you can use multiple lines of code after an `{if}` or after a `{repeat}` command.\n\nYou can even put a `{repeat}` command within another `{repeat}` command.\n" + header: Bienvenido al nivel 9 + text: "En este nivel puedes usar varias líneas de código tras un comando `{if}` o tras un `{repeat}`.\n\nIncluso puedes poner un comando `{repeat}` dentro de otro comando `{repeat}`.\n" 2: - header: Multiple lines after `{repeat}` - text: "You are allowed to use multiple lines after `{repeat}`.\n" + header: Varias líneas después de `{repeat}` + text: "Tienes permitido usar varias líneas después de `{repeat}`.\n" editor: "\n" 3: - header: Indentation matters! - text: "Indentation is very important to tell the computer which lines should be repeated and which lines should only be ran once.\n" + header: ¡La sangría importa! + text: "La sangría es muy importante para decirle al ordenador qué líneas deberían repetirse y qué líneas deberían ejecutarse una vez.\n" editor: "\n" 4: - header: Multipe lines after `{if}` - text: "You can also use multiple lines after `{if}`\n" + header: Varias líneas después de `{if}` + text: "Puedes usar varias líneas después de `{if}`\n" editor: "\n" 5: - header: Indentation matters - text: "Again, indentation is still very important and can make a big difference in the code.\n" + header: La sangría importa + text: "De nuevo, la sangría es todavía muy importante y puede hacer una gran diferencia en el código.\n" editor: "\n" 6: - header: An `{if}` inside a `{repeat}` - text: "Now that you can use multiple lines of code after these command, you can also put them within each other.\nCheck it out:\n" + header: Un `{if}` dentro de un `{repeat}` + text: "Ahora que puedes usar varias líneas de código tras estos comandos, también puedes ponerlos dentro de otros.\nCompruébalo:\n" editor: "\n" 10: 1: - header: Welcome to level 10 - text: "In this level you will learn a new command: `{for}`.\n" + header: Bienvenido al nivel 10 + text: "En este nivel aprenderás un nuevo comando: `{for}`.\n" 2: - header: The for command - text: "With for you can make a list and use all items on that list. `{for}` creates a block, like repeat and if so all lines in the block need to start with indentation (4 spaces).\n" + header: El comando para + text: "Con para puedes hacer una lista y usar todos los objectos de esa lista. `{for}` crea un bloque, como repetir y si así que todas las líneas del bloque tienen que empezar con sangría (4 espacios).\n" editor: "\n" 3: - header: The for command - text: "Here you see another example of the `{for}` command:\n" + header: El comando para + text: "Aquí puedes ver otro ejemplo del comando `{for}`:\n" editor: "\n" 4: - header: Time to program! - text: "Enjoy the adventures in level 10!\n" + header: ¡Hora de programar! + text: "¡Disfruta las aventuras en el nivel 10!\n" 5: 1: - header: Welcome to level 5 - text: "In this level you will learn to use 3 new commands: `{if}`, `{else}` and `{in}`.\n" + header: Bienvenido al nivel 5 + text: "En este nivel aprenderás a usar 3 comandos nuevos: `{if}`, `{else}` y `{in}`.\n" 2: - header: if - text: "The `{if}` command allows you to choose between two options.\nIn this example the computer will print 'nice' if the given answer is Hedy.\nIf the answer is not Hedy, the computer will do nothing.\n" + header: si + text: "El comando `{if}` permite elegir entre dos opciones.\nEn este ejemplo el ordenador imprimirá 'bien' si la respuesta dad es Hedy.\nSi la respuesta no es Hedy, el ordenador no hará nada.\n" editor: "\n" 3: - header: Don't forget to print - text: "When using the `{if}` command, don't forget to use the `{print}` command.\n" + header: No te olvides imprimir + text: "Al usar el comando `{if}`, no te olvides de usar el comando `{print}`.\n" editor: "\n" 4: - header: else - text: "When using an `{if}` command, you can also add an `{else}` command.\nIf the answer is Hedy, the computer will print 'nice'.\nBut if the answer is something else the computer will print 'boo'\n" + header: sino + text: "Al usar el comando `{if}`, también puedes añadir el comando `{else}`.\nSi la respuesta es Hedy, el ordenador imprimirá 'bien'.\nPero si la respuesta es otra cosa el ordenador imprimirá 'boo'\n" editor: "\n" 5: - header: Long lines - text: "You might have noticed that your lines can get very long when you have both an `{if}` and an `{else}` command.\n\nYou can choose to seperate commands and put them on 2 lines, like this:\n" + header: Líneas largas + text: "Quizás te hayas dado cuenta que tus líneas pueden hacerse muy largas cuando tienes ambos comandos `{if}` y `{else}`.\n\nPuedes elegir separar los comandos y ponerlos en 2 líneas, tal que así:\n" editor: "\n" 6: - header: Another new command - text: "If you have practised with the `{if}` and `{else}` commands, you can also try the `{in}` command.\n\nWith `{in}` you can let the computer check if an item is in a list, for example:\n\nPlease note that Hedy is case sensitive. This means that if you answer \"Green\" instead of \"green\", Hedy will print \"meh\".\n" + header: Otro comando nuevo + text: "Si has practicado con los comandos `{if}` y `{else}`, también puedes intentar el comando `{in}`.\n\nCon `{in}` puedes dejar que el ordenador compruebe si un objeto está en una lista, por ejemplo:\n\nPor favor ten en cuenta que Hedy distingue entre mayúsculas y minúsculas. Esto significa que tu respuesta \"Verde\" en vez de \"verde\", Hedy imprimirá \"meh\".\n" editor: "\n" 7: - header: Let's go! - text: "Enjoy the adventures in level 5!\n" + header: ¡Vamos! + text: "¡Disfruta las aventuras en el nivel 5!\n" 11: 1: - header: Welcome to level 11 - text: "In this level, we add a new form of the `{for}` command. In earlier levels, we used for with a list, but we can also use for with numbers.\n\nThis way we don't need the `{repeat}` command anymore.\n" + header: Bienvenido al nivel 11 + text: "En este nivel, añadimos una nueva forma del comando `{for}`. En niveles anteriores, usamos para con una lista, pero también podemos usar para con números.\n\nDe esta manera no necesitamos el comando `{repeat}` nunca más.\n" 2: - header: The for command - text: "This is what the new for command looks like:\n" + header: El comando para + text: "Así es el nuevo comando para:\n" editor: "\n" 3: - header: the variable i - text: "In the previous slide the variable was named 'counter', because it was counting down.\nYou can of course use any name for the variable you want.\nThe standard name for variables in this situation that is used in programming languages like Python is 'i'.\nThat looks like this:\n" + header: la variable i + text: "En la diapositiva anterior la variable se llamó 'contador', porque because era la cuenta atrás.\nPor supuesto puedes usar cualquier nombre que quieras para la variable.\nEn esta situación el nombre estándar para las variables que se usan en lenguajes de programación como Python es 'i'.\nSe parece a esto:\n" editor: "\n" 4: - header: Let's start programming! - text: "Enjoy the adventures in level 11!\n" + header: ¡Comencemos a programar! + text: "¡Disfruta las aventuras en el nivel 11!\n" 12: 1: - header: Welcome to level 12 - text: "From this level on you are allowed to use decimal numbers and there are some changes to the quotation marks.\n" + header: Bienvenido al nivel 12 + text: "Desde este nivel en adelante se permite que uses números decimales y hay algunos cambios a las comillas.\n" 2: - header: Quotation marks - text: "This level makes some changes to the usage of quotation marks.\nFrom now on, **all texts** need to be in quotation marks. This includes values of variables, items on lists and text after {if} commands.\n" + header: Comillas + text: "Este nivel trae algunos cambios al uso de las comillas.\nDe ahora en adelante, **todos los textos** tienen que tener comillas. Esto incluye los valores de las variables, objetos en listas y texto tras comandos {if}.\n" editor: "\n" 3: - header: Decimal numbers - text: "From this level on you are also allowed to use decimal numbers. This can make programs like your restaurant even better!\n\nNumbers do not quotation marks.\n" + header: Números decimales + text: "Desde este nivel en adelante también se permite que uses números decimales. ¡Esto puede hacer programas como tu restaurante incluso mejor!\n\nLos números no llevan comillas.\n" editor: "\n" 4: - header: Ready to try it out? - text: "Enjoy the adventures in level 12!\n" + header: ¿Preparado para probarlo? + text: "¡Disfruta las aventuras en el nivel 12!\n" 13: 1: - header: Welcome to level 13 - text: "We are now going to learn `{and}` and `{or}`! If you want to check two statements, you don't have to use two ifs but can use and and or.\n" + header: Bienvenido al nivel 13 + text: "¡Ahora vamos a aprender `{and}` y `{or}`! Si quieres comprobar dos sentencias, no tienes que usar dos si sino que se puede utilizar y y o.\n" 2: - header: The and command - text: "The `{and}` command is always used in a combination with the {if} command.\nThis way you can check if 2 statements are true. For example:\n" + header: El comando y + text: "El comando `{and}` siempre se usa en una combinación con el comando {if}.\nDe esta manera puedes comprobar si 2 sentencias son verdaderas. Por ejemplo:\n" editor: "\n" 3: - header: The or command - text: "The `{or}` works in the same way as the `{and}` command, but only 1 of the two statements has to be true.\n\nLet's see what happens when you change the `{and}` for `{or}`.\n" + header: El comando o + text: "El `{or}` funciona de la misma manera que el comando `{and}`, pero sólo 1 de las dos sentencias tiene que ser verdadero.\n\nVeamos que ocurre cuando cambias el `{and}` por `{or}`.\n" editor: "\n" 4: - header: Let's go! - text: "Enjoy the adventures in level 13!\n" + header: ¡Vamos! + text: "¡Disfruta las aventuras en el nivel 13!\n" 18: 1: - header: Welcome to level 18 - text: "Congratulations! You have reached the last level of Hedy! The code you have created here can be copied to real Python environments like replit or PyCharm, and you can continue learning there! Note however that Python can only read English commands, so if you have been using other languages, you will need to switch to English now.\n" + header: Bienvenido al nivel 18 + text: "¡Enhorabuena! ¡Has alcanzado el último nivel de Hedy! El código que has creado se puede copiar a un entorno de Python como replit o PyCharm, ¡y puedes continuar aprendiendo allí! Sin embargo ten en cuenta que Python sólo puede ller comandos en inglés, así que si has usado otros lenguajes, tendrás ahora que cambiar a inglés.\n" 2: - header: The Python way - text: "We arrived at real Python code! That means we need to use parentheses with print and range from now on.\n\nAlso, if you want to print more than one item, you need to separate them by commas.\n\nThe final change we will need to make to get Python code is changing ask into input.\n\nClick on the 'print' tab for all the examples.\n" + header: Al estilo Python + text: "¡Hemos llegado la código real de Python! Esto significa que tenemos que usar paréntesis con imprimir y rango de ahora en adelante.\n\nTambién, si quieres imprimir más de un objeto, necesitas separarlos por comas.\n\nEl cambio final que tenemos que hacer para conseguir el código Python es cambiar ask por entrada.\n\nHaz clic en la pestaña 'imprimir' para todos los ejemplos.\n" editor: "\n" 3: - header: The very last adventures! - text: "Enjoy the very last adventures in level 18!\n" + header: ¡Las últimas aventuras! + text: "¡Disfruta las últimas aventuras en el nivel 18!\n" diff --git a/content/slides/pl.yaml b/content/slides/pl.yaml index 7f299a056df..32a0395f297 100644 --- a/content/slides/pl.yaml +++ b/content/slides/pl.yaml @@ -23,42 +23,42 @@ levels: text: "Słowa kodowe będą wyświetlane na różowo.\n\n" 8: header: Programowanie w Hedy - text: "Dane wyjściowe są wyświetlane po lewej stronie.\n\n" + text: "Dane wyjściowe są wyświetlane po prawej stronie.\n\n" 9: header: Programowanie w Hedy text: "Dane wyjściowe mogą być również rysunkiem.\n\n" 1: 2: - editor: "\n" - header: 'Hedy poziom 1: {print}' + editor: "\n" + header: '{print}' text: "Pierwszym kodem, którego możesz użyć na poziomie 1 jest `{print}`.\n\n`{print}` służy do wyświetlania tekstu na ekranie.\n" 3: - header: 'Hedy poziom 1: {ask}' - text: "Drugim kodem, którego możesz użyć w poziomie 1 jest `{ask}`.\n\n`{ask}` służy do zadawania pytań, na które można odpowiedzieć.\n" - editor: "\n" + header: 'Komenda {print}' + text: "Możesz zmienić tekst po poleceniu wydruku, aby wypisać dowolny tekst.\n\nEwentualnie, możesz wypisać kilka linijek tekstu przez dodanie kolejnej linii kodu również zaczynającej się komendą `{print}`.\n" + editor: "\n" 4: - text: "Ostatnim kodem tekstowym, którego możesz użyć w poziomie 1 jest `{echo}`.\n\n`{echo}` służy do powtórzenia odpowiedzi z `{ask}`.\n" - header: 'Hedy poziom 1: {echo}' - editor: "\n" + text: "Drugim kodem tekstowym, którego możesz użyć w poziomie 1 jest `{ask}`.\n\n`{ask}` służy do zadania pytania, na które użytkownik może odpowiedzieć.\n" + header: '{ask} ' + editor: "\n" 6: header: Programowanie! - text: "Przygody są wyświetlane w zakładkach.\n" + text: "Korzystając z komend `{print}`, `{ask}` i `{echo}` możecie już stworzyć małą opowieść.\nTo dobry moment na spróbowanie swoich sił z przygodami takimi, jak Papuga, Opowieść i Kamień, Papier, Nożyce.\n" 1: header: Witamy na poziomie 1! text: "Poziom 1 rozpoczniemy od tworzenia historii w Hedy!\n\nDo stworzenia interaktywnych historii potrzebujemy trzech kodów tekstowych.\n" 5: - header: Programowanie! - text: "za pomocą `{print}`, `{ask}` i `{echo}` można już stworzyć małą historię.\nTo dobry moment na wypróbowanie przygód Papugi i Papier, Kamień, Nożyce.\n" + header: '{echo}' + text: "Jak mogliście zobaczyć w poprzednim przykładzie. Jeśli użyjecie komendy `{ask}`, możecie zadać pytanie.\n\nOdpowiedź jednak nie wyświetla się na ekranie.\n\nJeśli chcecie, aby odpowiedź się wyświetliła, możecie użyć ostaniej komendy tego poziomu: `{echo}`.\n\n`{echo}` używa się, aby powtórzyć odpowiedź do pytania zadanego komendą `{ask}`.\n" editor: "\n" 7: header: Programowanie! - text: "Za pomocą żółtych przycisków ze strzałkami można kopiować przykłady.\n\n" + text: "Przygody są dostępne w zakładkach.\n" editor: "\n" 8: - header: Rysowanie z żółwiem - text: "Po zapoznaniu się z kodami tekstowymi, przyjrzymy się teraz kodom rysunkowym.\n" + header: Programowanie! + text: "Użyj zółtych strzałek, aby skopiować przykłady.\n\n" 9: - header: 'Rysowanie z żółwiem: {forward}' + header: 'Rysowanie z żółwiem' text: "`{forward}` służy do przesuwania żółwia do przodu.\n" 10: header: 'Rysowanie z żółwiem: {turn}' diff --git a/static/js/app.ts b/static/js/app.ts index e149a102cb2..c0d96d98790 100644 --- a/static/js/app.ts +++ b/static/js/app.ts @@ -29,11 +29,6 @@ let last_code: string; */ let pygameRunning = false; -/** - * Represents whether there's an open 'ask' prompt - */ -let askPromptOpen = false; - // Many bits of code all over this file need this information globally. // Not great but it'll do for now until we refactor this file some more. let theAdventures: Record = {}; @@ -331,7 +326,7 @@ export function stopit() { } } - askPromptOpen = false; + theGlobalEditor.askPromptOpen = false; } function clearOutput() { @@ -358,7 +353,7 @@ export async function runit(level: number, lang: string, disabled_prompt: string // if the user changes tabs while we're waiting for a response const adventureName = currentTab; - if (askPromptOpen) { + if (theGlobalEditor.askPromptOpen) { // If there is no message -> don't show a prompt if (disabled_prompt) { return modal.notifyError(disabled_prompt); @@ -1013,7 +1008,7 @@ export function runPythonProgram(this: any, code: string, sourceMap: any, hasTur } return new Promise(function(ok) { - askPromptOpen = true; + theGlobalEditor.askPromptOpen = true; const input = $('#ask-modal input[type="text"]'); $('#ask-modal .caption').text(prompt); @@ -1025,7 +1020,7 @@ export function runPythonProgram(this: any, code: string, sourceMap: any, hasTur input.focus(); }, 0); $('#ask-modal form').one('submit', function(event) { - askPromptOpen = false; + theGlobalEditor.askPromptOpen = false; event.preventDefault(); $('#ask-modal').hide(); diff --git a/static/js/appbundle.js b/static/js/appbundle.js index 5e6b3fd2c27..2539c78e2b9 100644 --- a/static/js/appbundle.js +++ b/static/js/appbundle.js @@ -1,4 +1,4 @@ -var hedyApp=(()=>{var zh=Object.defineProperty,Oh=Object.defineProperties;var $h=Object.getOwnPropertyDescriptors;var Ul=Object.getOwnPropertySymbols;var Rh=Object.prototype.hasOwnProperty,Bh=Object.prototype.propertyIsEnumerable;var Vl=(l,u,c)=>u in l?zh(l,u,{enumerable:!0,configurable:!0,writable:!0,value:c}):l[u]=c,ki=(l,u)=>{for(var c in u||(u={}))Rh.call(u,c)&&Vl(l,c,u[c]);if(Ul)for(var c of Ul(u))Bh.call(u,c)&&Vl(l,c,u[c]);return l},Ta=(l,u)=>Oh(l,$h(u));var Bo=(l=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(l,{get:(u,c)=>(typeof require!="undefined"?require:u)[c]}):l)(function(l){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+l+'" is not supported')});var dt=(l,u)=>()=>(u||l((u={exports:{}}).exports,u),u.exports);var Yl=dt((Gm,Fh)=>{Fh.exports=[{name:"level1",rules:{start:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start"},{regex:"_\\?_",token:"invalid",next:"start"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^ *)(__ask__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__print__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__echo__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__forward__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__turn__)",token:["text","keyword"],next:"direction",unicode:!0},{regex:"(^ *)(__color__)",token:["text","keyword"],next:"color",unicode:!0}],value:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"value"},{regex:"_\\?_",token:"invalid",next:"value"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"}],color:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"color"},{regex:"_\\?_",token:"invalid",next:"color"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(__black__|__gray__|__white__|__green__|__blue__|__purple__|__brown__|__pink__|__red__|__orange__|__yellow__)",token:["text"],unicode:!0}],direction:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"direction"},{regex:"_\\?_",token:"invalid",next:"direction"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(__right__|__left__)",token:["text"],unicode:!0}]}},{name:"level2",rules:{start:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start"},{regex:"_\\?_",token:"invalid",next:"start"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^ *)(__print__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)( +)(__ask__)",token:["text","text","text","keyword","text","keyword"],next:"value",unicode:!0},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)",token:["text","text","text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__sleep__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__forward__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__turn__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__color__)",token:["text","keyword"],next:"value",unicode:!0}],value:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"value"},{regex:"_\\?_",token:"invalid",next:"value"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}]}},{name:"level3",rules:{start:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start"},{regex:"_\\?_",token:"invalid",next:"start"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)( *)(__ask__)",token:["text","text","text","keyword","text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)",token:["text","text","text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__print__)",token:["text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)(__turn__)",token:["text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)(__sleep__)",token:["text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)(__forward__)",token:["text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)(__add__)",token:["text","keyword"],next:"valAdd",unicode:!0},{regex:"(^ *)(__remove__)",token:["text","keyword"],next:"valRemove",unicode:!0},{regex:"(^ *)(__color__)",token:["text","keyword"],next:"value",unicode:!0}],value:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"value"},{regex:"_\\?_",token:"invalid",next:"value"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__at__)( +)(__random__)",token:["text","keyword","keyword","keyword"],unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],unicode:!0},{regex:"(__comma__)",token:["keyword"],unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueExpr:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueExpr"},{regex:"_\\?_",token:"invalid",next:"valueExpr"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__at__)( +)(__random__)",token:["text","keyword","keyword","keyword"],unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],unicode:!0}],valAdd:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valAdd"},{regex:"_\\?_",token:"invalid",next:"valAdd"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"valueTo",unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueTo:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueTo"},{regex:"_\\?_",token:"invalid",next:"valueTo"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"}],valRemove:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valRemove"},{regex:"_\\?_",token:"invalid",next:"valRemove"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"valueFrom",unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueFrom:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueFrom"},{regex:"_\\?_",token:"invalid",next:"valueFrom"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"}]}},{name:"level4",rules:{start:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start"},{regex:"_\\?_",token:"invalid",next:"start"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)( *)(__ask__)",token:["text","text","text","keyword","text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)",token:["text","text","text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__print__)",token:["text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)(__turn__)",token:["text","keyword"],next:"valueSimple",unicode:!0},{regex:"(^ *)(__sleep__)",token:["text","keyword"],next:"valueSimple",unicode:!0},{regex:"(^ *)(__forward__)",token:["text","keyword"],next:"valueSimple",unicode:!0},{regex:"(^ *)(__color__)",token:["text","keyword"],next:"valueSimple",unicode:!0},{regex:"(^ *)(__add__)",token:["text","keyword"],next:"valAdd",unicode:!0},{regex:"(^ *)(__remove__)",token:["text","keyword"],next:"valRemove",unicode:!0},{regex:"(^ *)(__clear__)",token:["text","event"],unicode:!0}],value:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"value"},{regex:"_\\?_",token:"invalid",next:"value"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__at__)( +)(__random__)",token:["text","keyword","keyword","keyword"],unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],unicode:!0},{regex:"(__comma__)",token:["keyword"],unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueExpr:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueExpr"},{regex:"_\\?_",token:"invalid",next:"valueExpr"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__at__)( +)(__random__)",token:["text","keyword","keyword","keyword"],unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],unicode:!0},{regex:'"[^"]*"',token:"constant.character",unicode:!0},{regex:"'[^']*'",token:"constant.character",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0}],valueSimple:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueSimple"},{regex:"_\\?_",token:"invalid",next:"valueSimple"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__at__)( +)(__random__)",token:["text","keyword","keyword","keyword"],unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valAdd:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valAdd"},{regex:"_\\?_",token:"invalid",next:"valAdd"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"valueTo",unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueTo:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueTo"},{regex:"_\\?_",token:"invalid",next:"valueTo"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"}],valRemove:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valRemove"},{regex:"_\\?_",token:"invalid",next:"valRemove"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"valueFrom",unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueFrom:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueFrom"},{regex:"_\\?_",token:"invalid",next:"valueFrom"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"}]}},{name:"level5",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level6",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level7",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level8",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level9",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level10",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level11",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level12",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level13",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level14",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(<)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(>)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(!)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(<)",token:["keyword"],next:"start",unicode:!0},{regex:"(>)",token:["keyword"],next:"start",unicode:!0},{regex:"(!)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level15",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(<)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(>)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(!)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__while__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(<)",token:["keyword"],next:"start",unicode:!0},{regex:"(>)",token:["keyword"],next:"start",unicode:!0},{regex:"(!)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level16",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(<)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(>)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(!)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\[)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\])([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__while__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(<)",token:["keyword"],next:"start",unicode:!0},{regex:"(>)",token:["keyword"],next:"start",unicode:!0},{regex:"(!)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\[)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\])",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level17",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(<)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(>)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(!)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\[)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\])([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(:)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__while__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(<)",token:["keyword"],next:"start",unicode:!0},{regex:"(>)",token:["keyword"],next:"start",unicode:!0},{regex:"(!)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\[)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\])",token:["keyword"],next:"start",unicode:!0},{regex:"(:)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__elif__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level18",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(<)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(>)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(!)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\[)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\])([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(:)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\()([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\))([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__while__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__input__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__def__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(<)",token:["keyword"],next:"start",unicode:!0},{regex:"(>)",token:["keyword"],next:"start",unicode:!0},{regex:"(!)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\[)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\])",token:["keyword"],next:"start",unicode:!0},{regex:"(:)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\()",token:["keyword"],next:"start",unicode:!0},{regex:"(\\))",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__elif__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}}]});var ql=dt((Wm,jh)=>{jh.exports={ar:{add:"\u0640*\u0627\u0640*\u0636\u0640*\u0641\u0640*|add",and:"\u0640*\u0648\u0640*|and",ask:"\u0640*\u0627\u0640*\u0633\u0640*\u0623\u0640*\u0644\u0640*|ask",at:"\u0640*\u0628\u0640*\u0634\u0640*\u0643\u0640*\u0644\u0640*|at",black:"\u0640*\u0627\u0640*\u0633\u0640*\u0648\u0640*\u062F\u0640*|black",blue:"\u0640*\u0627\u0640*\u0632\u0640*\u0631\u0640*\u0642\u0640*|blue",brown:"\u0640*\u0628\u0640*\u0646\u0640*\u064A\u0640*|brown",call:"\u0640*c\u0640*a\u0640*l\u0640*l\u0640*|call",clear:"\u0640*c\u0640*l\u0640*e\u0640*a\u0640*r\u0640*|clear",color:"\u0640*\u0644\u0640*\u0648\u0640*\u0646\u0640*|color",comma:"\u0640*\u060C\u0640*|,",def:"\u0640*d\u0640*e\u0640*f\u0640*|def",define:"\u0640*d\u0640*e\u0640*f\u0640*i\u0640*n\u0640*e\u0640*|define",echo:"\u0640*\u0631\u0640*\u062F\u0640*\u062F\u0640*|echo",elif:"\u0640*\u0648\u0640*\u0625\u0640*\u0644\u0640*\u0627\u0640* \u0640*\u0627\u0640*\u0630\u0640*\u0627\u0640*|elif",else:"\u0640*\u0648\u0640*\u0625\u0640*\u0644\u0640*\u0627\u0640*|else",for:"\u0640*\u0644\u0640*\u0643\u0640*\u0644\u0640*|for",forward:"\u0640*\u062A\u0640*\u0642\u0640*\u062F\u0640*\u0645\u0640*|forward",from:"\u0640*\u0645\u0640*\u0646\u0640*|from",gray:"\u0640*\u0631\u0640*\u0645\u0640*\u0627\u0640*\u062F\u0640*\u064A\u0640*|gray",green:"\u0640*\u0627\u0640*\u062E\u0640*\u0636\u0640*\u0631\u0640*|green",if:"\u0640*\u0627\u0640*\u0630\u0640*\u0627\u0640*|if",in:"\u0640*\u0641\u0640*\u064A\u0640*|in",input:"\u0640*\u0627\u0640*\u062F\u0640*\u062E\u0640*\u0644\u0640*|input",is:"\u0640*\u0647\u0640*\u0648\u0640*|\u0640*\u0647\u0640*\u064A\u0640*|is",left:"\u0640*\u064A\u0640*\u0633\u0640*\u0627\u0640*\u0631\u0640*|left",length:"\u0640*\u0637\u0640*\u0648\u0640*\u0644\u0640*|length",or:"\u0640*\u0623\u0640*\u0648\u0640*|or",orange:"\u0640*\u0628\u0640*\u0631\u0640*\u062A\u0640*\u0642\u0640*\u0627\u0640*\u0644\u0640*\u064A\u0640*|orange",pink:"\u0640*\u0632\u0640*\u0647\u0640*\u0631\u0640*\u064A\u0640*|pink",pressed:"\u0640*p\u0640*r\u0640*e\u0640*s\u0640*s\u0640*e\u0640*d\u0640*|pressed",print:"\u0640*\u0642\u0640*\u0648\u0640*\u0644\u0640*|print",purple:"\u0640*\u0628\u0640*\u0646\u0640*\u0641\u0640*\u0633\u0640*\u062C\u0640*\u064A\u0640*|purple",random:"\u0640*\u0639\u0640*\u0634\u0640*\u0648\u0640*\u0627\u0640*\u0626\u0640*\u064A\u0640*|random",range:"\u0640*\u0646\u0640*\u0637\u0640*\u0627\u0640*\u0642\u0640*|range",red:"\u0640*\u0627\u0640*\u062D\u0640*\u0645\u0640*\u0631\u0640*|red",remove:"\u0640*\u0627\u0640*\u0632\u0640*\u0644\u0640*|remove",repeat:"\u0640*\u0643\u0640*\u0631\u0640*\u0631\u0640*|repeat",return:"\u0640*r\u0640*e\u0640*t\u0640*u\u0640*r\u0640*n\u0640*|return",right:"\u0640*\u064A\u0640*\u0645\u0640*\u064A\u0640*\u0646\u0640*|right",sleep:"\u0640*\u0627\u0640*\u0646\u0640*\u062A\u0640*\u0638\u0640*\u0631\u0640*|sleep",step:"\u0640*\u062E\u0640*\u0637\u0640*\u0648\u0640*\u0629\u0640*|step",times:"\u0640*\u0645\u0640*\u0631\u0640*\u0629\u0640*|times",to:"\u0640*\u0627\u0640*\u0644\u0640*\u0649\u0640*|to",to_list:"\u0640*\u0627\u0640*\u0644\u0640*\u0649\u0640*|to",turn:"\u0640*\u0627\u0640*\u0633\u0640*\u062A\u0640*\u062F\u0640*\u0631\u0640*|turn",while:"\u0640*\u0628\u0640*\u064A\u0640*\u0646\u0640*\u0645\u0640*\u0627\u0640*|while",white:"\u0640*\u0627\u0640*\u0628\u0640*\u064A\u0640*\u0636\u0640*|white",with:"\u0640*w\u0640*i\u0640*t\u0640*h\u0640*|with",yellow:"\u0640*\u0627\u0640*\u0635\u0640*\u0641\u0640*\u0631\u0640*|yellow",DIGIT:"0\u06601\u06612\u06623\u06634\u06645\u06656\u06667\u06678\u06689\u0669"},bg:{add:"\u0434\u043E\u0431\u0430\u0432\u0438|add",and:"\u0438|and",ask:"\u043F\u043E\u043F\u0438\u0442\u0430\u0439|ask",at:"\u0432|at",black:"\u0447\u0435\u0440\u043D\u043E|black",blue:"\u0441\u0438\u043D\u044C\u043E|blue",brown:"\u043A\u0430\u0444\u044F\u0432\u043E|brown",call:"\u0438\u0437\u0432\u0438\u043A\u0430\u0439|call",clear:"\u0438\u0437\u0447\u0438\u0441\u0442\u0438|clear",color:"\u0446\u0432\u044F\u0442|color",comma:",",def:"\u0434\u0435\u0444|def",define:"\u0434\u0435\u0444\u0438\u043D\u0438\u0440\u0430\u0439|define",echo:"\u043F\u043E\u043A\u0430\u0436\u0438|echo",elif:"\u0438\u043D\u0430\u0447\u0435 \u0430\u043A\u043E|elif",else:"\u0438\u043D\u0430\u0447\u0435|else",for:"\u0437\u0430|for",forward:"\u043D\u0430\u043F\u0440\u0435\u0434|forward",from:"\u043E\u0442|from",gray:"\u0441\u0438\u0432\u043E|gray",green:"\u0437\u0435\u043B\u0435\u043D\u043E|green",if:"\u0430\u043A\u043E|if",in:"\u0432|in",input:"\u0432\u044A\u0432\u0435\u0436\u0434\u0430\u043D\u0435|input",is:"\u0435|is",left:"\u043B\u044F\u0432\u043E|left",length:"\u0434\u044A\u043B\u0436\u0438\u043D\u0430|length",or:"\u0438\u043B\u0438|or",orange:"\u043E\u0440\u0430\u043D\u0436\u0435\u0432\u043E|orange",pink:"\u0440\u043E\u0437\u043E\u0432\u043E|pink",pressed:"\u043D\u0430\u0442\u0438\u0441\u043D\u0430\u0442|pressed",print:"\u043F\u0440\u0438\u043D\u0442\u0438\u0440\u0430\u0439|print",purple:"\u043B\u0438\u043B\u0430\u0432\u043E|purple",random:"\u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u043D\u043E|random",range:"\u043E\u0431\u0445\u0432\u0430\u0442|range",red:"\u0447\u0435\u0440\u0432\u0435\u043D\u043E|red",remove:"\u043F\u0440\u0435\u043C\u0430\u0445\u043D\u0438|remove",repeat:"\u043F\u043E\u0432\u0442\u043E\u0440\u0438|repeat",return:"\u0432\u044A\u0440\u043D\u0438|return",right:"\u0434\u044F\u0441\u043D\u043E|right",sleep:"\u0441\u043F\u0438|sleep",step:"\u0441\u0442\u044A\u043F\u043A\u0430|step",times:"\u043F\u044A\u0442\u0438|times",to:"\u0434\u043E|to",to_list:"\u0434\u043E|to",turn:"\u0437\u0430\u0432\u0438\u0439|turn",while:"\u0434\u043E\u043A\u0430\u0442\u043E|while",white:"\u0431\u044F\u043B\u043E|white",with:"\u0441/\u0441\u044A\u0441|with",yellow:"\u0436\u044A\u043B\u0442\u043E|yellow",DIGIT:"0123456789"},bn:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},ca:{add:"afegir|add",and:"i|and",ask:"preguntar|ask",at:"a posici\xF3|at",black:"negre|black",blue:"blau|blue",brown:"marr\xF3|brown",call:"call",clear:"Neteja|clear",color:"color",comma:",",def:"def",define:"define",echo:"mostrar|echo",elif:"si no si|elif",else:"sino|else",for:"per a cada|for",forward:"avan\xE7ar|forward",from:"de|from",gray:"gris|gray",green:"verd|green",if:"si|if",in:"dins de|in",input:"entrada|input",is:"\xE9s|is",left:"esquerra|left",length:"mida|length",or:"o|or",orange:"taronja|orange",pink:"rosa|pink",pressed:"pitjat|pressed",print:"imprimir|print",purple:"violeta|purple",random:"aleatori|random",range:"seq\xFC\xE8ncia|range",red:"vermell|red",remove:"esborrar|remove",repeat:"repetir|repeat",return:"return",right:"dreta|right",sleep:"dormir|sleep",step:"pas|step",times:"vegades|times",to:"fins|to",to_list:"a|to",turn:"girar|turn",while:"mentre|while",white:"blanc|white",with:"with",yellow:"groc|yellow",DIGIT:"0123456789"},cs:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},cy:{add:"adio|add",and:"a|and",ask:"gofyn|ask",at:"ar|at",black:"du|black",blue:"glas|blue",brown:"brown",call:"call",clear:"clear",color:"lliw|color",comma:",",def:"def",define:"define",echo:"adleisio|echo",elif:"elif",else:"arall|else",for:"ar gyfer|for",forward:"ymlaen|forward",from:"o|from",gray:"llwyd|gray",green:"gwyrdd|green",if:"os|if",in:"mewn|in",input:"mewnbwn|input",is:"yw|is",left:"chwith|left",length:"hyd|length",or:"neu|or",orange:"oren|orange",pink:"pinc|pink",pressed:"gwasgu|pressed",print:"argraffu|print",purple:"porffor|purple",random:"hap|random",range:"ystod|range",red:"coch|red",remove:"dileu|remove",repeat:"ailadrodd|repeat",return:"return",right:"dde|right",sleep:"cysgu|sleep",step:"cam|step",times:"gwaith|times",to:"i|to",to_list:"i|to",turn:"troi|turn",while:"tra|while",white:"gwyn|white",with:"with",yellow:"melyn|yellow",DIGIT:"0123456789"},da:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},de:{add:"addiere|add",and:"und|and",ask:"frage|ask",at:"an|at",black:"Schwarz|black",blue:"Blau|blue",brown:"Braun|brown",call:"call",clear:"abwischen|clear",color:"farbe|color",comma:",",def:"def",define:"define",echo:"echo",elif:"sofalls|elif",else:"sonst|else",for:"f\xFCr|for",forward:"vorw\xE4rts|forward",from:"aus|from",gray:"Grau|gray",green:"Gr\xFCn|green",if:"falls|if",in:"in",input:"eingabe|input",is:"ist|is",left:"links|left",length:"l\xE4nge|length",or:"oder|or",orange:"Orange|orange",pink:"Pink|pink",pressed:"gedr\xFCckt|pressed",print:"drucke|print",purple:"Lila|purple",random:"zuf\xE4llig|random",range:"bereich|range",red:"Rot|red",remove:"entferne|remove",repeat:"wiederhole|repeat",return:"return",right:"rechts|right",sleep:"schlafe|sleep",step:"schritt|step",times:"mal|times",to:"bis|to",to_list:"zu|to",turn:"drehe|turn",while:"solange|while",white:"Wei\xDF|white",with:"with",yellow:"Gelb|yellow",DIGIT:"0123456789"},el:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},en:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},eo:{add:"aldonu|add",and:"kaj|and",ask:"demandu|ask",at:"la\u016D|at",black:"nigra|black",blue:"blua|blue",brown:"bruna|brown",call:"call",clear:"clear",color:"koloro|color",comma:",",def:"def",define:"define",echo:"e\u0125u|echo",elif:"alie se|elif",else:"alie|else",for:"por|for",forward:"anta\u016Den|forward",from:"el|from",gray:"griza|gray",green:"verda|green",if:"se|if",in:"en|in",input:"enigu|input",is:"estas|is",left:"maldekstren|left",length:"longo|length",or:"a\u016D|or",orange:"oran\u011Da|orange",pink:"rozkolora|pink",pressed:"pressed",print:"presu|print",purple:"purpura|purple",random:"hazardo|random",range:"intervalo|range",red:"ru\u011Da|red",remove:"forigu|remove",repeat:"ripetu|repeat",return:"return",right:"dekstren|right",sleep:"dormu|sleep",step:"pa\u015Do|step",times:"fojojn|times",to:"\u011Dis|to",to_list:"al|to",turn:"turnu|turn",while:"dum|while",white:"blanka|white",with:"with",yellow:"flava|yellow",DIGIT:"0123456789"},es:{add:"a\xF1adir|add",and:"y|and",ask:"preguntar|ask",at:"en|at",black:"negro|black",blue:"azul|blue",brown:"marr\xF3n|brown",call:"call",clear:"limpiar|clear",color:"color",comma:",",def:"def",define:"define",echo:"eco|echo",elif:"sinosi|elif",else:"sino|else",for:"para|for",forward:"adelante|forward",from:"de|from",gray:"gris|gray",green:"verde|green",if:"si|if",in:"en|in",input:"entrada|input",is:"es|is",left:"izquierda|left",length:"longitud|length",or:"o|or",orange:"naranja|orange",pink:"rosa|pink",pressed:"presionada|pressed",print:"imprimir|print",purple:"p\xFArpura|purple",random:"aleatorio|random",range:"rango|range",red:"rojo|red",remove:"borrar|remove",repeat:"repetir|repeat",return:"return",right:"derecha|right",sleep:"dormir|sleep",step:"paso|step",times:"veces|times",to:"a|to",to_list:"a|to",turn:"girar|turn",while:"mientras|while",white:"blanco|white",with:"with",yellow:"amarillo|yellow",DIGIT:"0123456789"},et:{add:"lisa|add",and:"ja|and",ask:"k\xFCsi|ask",at:"t\xE4itsa|at",black:"must|black",blue:"sinine|blue",brown:"pruun|brown",call:"call",clear:"clear",color:"v\xE4rv|color",comma:",",def:"def",define:"define",echo:"peegelda|echo",elif:"muidukui|elif",else:"muidu|else",for:"jaoks|for",forward:"edasi|forward",from:"nimistust|from",gray:"hall|gray",green:"roheline|green",if:"kui|if",in:"nimistus|in",input:"sisesta|input",is:"on|is",left:"vasakule|left",length:"pikkus|length",or:"v\xF5i|or",orange:"oran\u017E|orange",pink:"roosa|pink",pressed:"pressed",print:"prindi|print",purple:"lilla|purple",random:"juhuslikult|random",range:"vahemik|range",red:"punane|red",remove:"kustuta|remove",repeat:"korda|repeat",return:"return",right:"paremale|right",sleep:"oota|sleep",step:"sammuga|step",times:"korda|times",to:"kuni|to",to_list:"nimistusse|to",turn:"p\xF6\xF6ra|turn",while:"senikui|while",white:"valge|white",with:"with",yellow:"kollane|yellow",DIGIT:"0123456789"},fa:{add:"add",and:"and",ask:"\u0628\u067E\u0631\u0633|ask",at:"at",black:"\u0633\u06CC\u0627\u0647|black",blue:"\u0622\u0628\u06CC|blue",brown:"\u0642\u0647\u0648\u0647 \u0627\u06CC|brown",call:"call",clear:"clear",color:"\u0631\u0646\u06AF|color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"\u0628\u0647 \u062C\u0644\u0648|forward",from:"from",gray:"\u062E\u0627\u06A9\u0633\u062A\u0631\u06CC|gray",green:"\u0633\u0628\u0632|green",if:"if",in:"in",input:"input",is:"is",left:"\u0686\u067E|left",length:"length",or:"or",orange:"\u0646\u0627\u0631\u0646\u062C\u06CC|orange",pink:"\u0635\u0648\u0631\u062A\u06CC|pink",pressed:"pressed",print:"\u0686\u0627\u067E|print",purple:"\u0628\u0646\u0641\u0634|purple",random:"random",range:"range",red:"\u0642\u0631\u0645\u0632|red",remove:"remove",repeat:"repeat",return:"return",right:"\u0631\u0627\u0633\u062A|right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"\u062F\u0648\u0631 \u0628\u0632\u0646|turn",while:"while",white:"\u0633\u0641\u06CC\u062F|white",with:"with",yellow:"\u0632\u0631\u062F|yellow",DIGIT:"0123456789"},fi:{add:"lis\xE4\xE4|add",and:"ja|and",ask:"kysy|ask",at:"ota|at",black:"musta|black",blue:"sininen|blue",brown:"ruskea|brown",call:"call",clear:"nollaa|clear",color:"v\xE4ri|color",comma:",",def:"def",define:"define",echo:"kaiku|echo",elif:"muutenjos|elif",else:"muuten|else",for:"jokaiselle|for",forward:"eteenp\xE4in|forward",from:"listasta|from",gray:"harmaa|gray",green:"vihre\xE4|green",if:"jos|if",in:"listassa|in",input:"sy\xF6te|input",is:"on|is",left:"vasen|left",length:"pituus|length",or:"tai|or",orange:"oranssi|orange",pink:"vaaleanpunainen|pink",pressed:"painettu|pressed",print:"tulosta|print",purple:"violetti|purple",random:"satunnainen|random",range:"v\xE4li|range",red:"punainen|red",remove:"poista|remove",repeat:"toista|repeat",return:"return",right:"oikea|right",sleep:"nuku|sleep",step:"askel|step",times:"kertaa|times",to:"asti|to",to_list:"listaksi|to",turn:"k\xE4\xE4nny|turn",while:"kun|while",white:"valkoinen|white",with:"with",yellow:"keltainen|yellow",DIGIT:"0123456789"},fr:{add:"ajoute|add",and:"et|and",ask:"demande|ask",at:"au|at",black:"noir|black",blue:"bleu|blue",brown:"marron|brown",call:"call",clear:"effacer|clear",color:"couleur|color",comma:",",def:"def",define:"define",echo:"dis|echo",elif:"sinon si|elif",else:"sinon|else",for:"pour|for",forward:"avance|forward",from:"de|from",gray:"gris|gray",green:"vert|green",if:"si|if",in:"dans|in",input:"demande|input",is:"est|is",left:"gauche|left",length:"longueur|length",or:"ou|or",orange:"orange",pink:"rose|pink",pressed:"press\xE9|pressed",print:"affiche|print",purple:"violet|purple",random:"hasard|random",range:"intervalle|range",red:"rouge|red",remove:"supprime|remove",repeat:"r\xE9p\xE8te|repete|repeat",return:"return",right:"droite|right",sleep:"dors|sleep",step:"pas|step",times:"fois|times",to:"\xE0|to",to_list:"\xE0|to",turn:"tourne|turn",while:"tant que|while",white:"blanc|white",with:"with",yellow:"jaune|yellow",DIGIT:"0123456789"},fy:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},he:{add:"\u05D4\u05D5\u05E1\u05E3|add",and:"\u05D5\u05D2\u05DD|and",ask:"\u05E9\u05D0\u05DC|ask",at:"\u05D1|at",black:"\u05E9\u05D7\u05D5\u05E8|black",blue:"\u05DB\u05D7\u05D5\u05DC|blue",brown:"\u05D7\u05D5\u05DD|brown",call:"call",clear:"clear",color:"\u05E6\u05D1\u05E2|color",comma:",",def:"def",define:"define",echo:"\u05D4\u05D3\u05D4\u05D3|echo",elif:"\u05D0\u05D7\u05E8\u05EA\u05D0\u05DD|elif",else:"\u05D0\u05D7\u05E8\u05EA|else",for:"\u05DC\u05DB\u05DC|for",forward:"\u05E7\u05D3\u05D9\u05DE\u05D4|forward",from:"\u05DE|from",gray:"\u05D0\u05E4\u05D5\u05E8|gray",green:"\u05D9\u05E8\u05D5\u05E7|green",if:"\u05D0\u05DD|if",in:"\u05D1\u05EA\u05D5\u05DA|in",input:"\u05E7\u05DC\u05D8|input",is:"\u05D4\u05D5\u05D0|is",left:"\u05E9\u05DE\u05D0\u05DC\u05D4|left",length:"\u05D0\u05D5\u05E8\u05DA|length",or:"\u05D0\u05D5|or",orange:"\u05DB\u05EA\u05D5\u05DD|orange",pink:"\u05D5\u05E8\u05D5\u05D3|pink",pressed:"pressed",print:"\u05D4\u05D3\u05E4\u05E1|print",purple:"\u05E1\u05D2\u05D5\u05DC|purple",random:"\u05D0\u05E7\u05E8\u05D0\u05D9|random",range:"\u05D8\u05D5\u05D5\u05D7|range",red:"\u05D0\u05D3\u05D5\u05DD|red",remove:"\u05D4\u05E1\u05E8|remove",repeat:"\u05D7\u05D6\u05D5\u05E8|repeat",return:"return",right:"\u05D9\u05DE\u05D9\u05E0\u05D4|right",sleep:"\u05D4\u05DE\u05EA\u05DF|sleep",step:"\u05E6\u05E2\u05D3|step",times:"\u05E4\u05E2\u05DE\u05D9\u05DD|times",to:"\u05E2\u05D3|to",to_list:"\u05D0\u05DC|to",turn:"\u05E4\u05E0\u05D4|turn",while:"\u05DB\u05DC\u05E2\u05D5\u05D3|while",white:"\u05DC\u05D1\u05DF|white",with:"with",yellow:"\u05E6\u05D4\u05D5\u05D1|yellow",DIGIT:"0123456789"},hi:{add:"\u091C\u094B\u0921\u093C\u0928\u093E|add",and:"\u0914\u0930|and",ask:"\u092A\u0942\u091B\u0947\u0902|ask",at:"\u092A\u0930|at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"\u0917\u0942\u0902\u091C|echo",elif:"\u090F\u0932\u093F\u092B|elif",else:"\u0905\u0928\u094D\u092F\u0925\u093E|else",for:"\u0915\u0947 \u0932\u093F\u092F\u0947|for",forward:"\u0906\u0917\u0947|forward",from:"\u0938\u0947|from",gray:"gray",green:"green",if:"\u0905\u0917\u0930|if",in:"\u092E\u0947\u0902|in",input:"\u0907\u0928\u092A\u0941\u091F|input",is:"\u0939\u0948|is",left:"left",length:"\u0932\u0902\u092C\u093E\u0908|length",or:"\u092F\u093E|or",orange:"orange",pink:"pink",pressed:"pressed",print:"\u092A\u094D\u0930\u093F\u0902\u091F|print",purple:"purple",random:"\u0905\u0928\u093F\u092F\u092E\u093F\u0924|random",range:"\u0936\u094D\u0930\u0947\u0923\u0940|range",red:"red",remove:"\u0939\u091F\u093E\u0928\u093E|remove",repeat:"\u0926\u094B\u0939\u0930\u093E\u0928\u093E|repeat",return:"return",right:"right",sleep:"\u0928\u0940\u0902\u0926|sleep",step:"\u0915\u093C\u0926\u092E|step",times:"\u092C\u093E\u0930|times",to:"\u0938\u0947|to",to_list:"\u0938\u0947|to",turn:"\u092E\u094B\u0921\u093C|turn",while:"\u0935\u094D\u0939\u093E\u0907\u0932|while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},hu:{add:"besz\xFAr|add",and:"\xE9s|and",ask:"k\xE9rdez|ask",at:"list\xE1b\xF3l|at",black:"fekete|black",blue:"k\xE9k|blue",brown:"barna|brown",call:"call",clear:"t\xF6rl\xE9s|clear",color:"sz\xEDn|color",comma:",",def:"def",define:"define",echo:"ut\xE1noz|echo",elif:"egybk-ha|elif",else:"egy\xE9bk\xE9nt|else",for:"minden|for",forward:"el\u0151re|forward",from:"ebb\u0151l|from",gray:"sz\xFCrke|gray",green:"z\xF6ld|green",if:"ha|if",in:"eleme|in",input:"bek\xE9r|input",is:"egyenl\u0151|is",left:"balra|left",length:"hossz|length",or:"vagy|or",orange:"narancs|orange",pink:"pink",pressed:"lenyomva|pressed",print:"ki\xEDr|print",purple:"lila|purple",random:"random",range:"szakasz|range",red:"piros|red",remove:"kivesz|remove",repeat:"ism\xE9teld|repeat",return:"return",right:"jobbra|right",sleep:"szundi|sleep",step:"l\xE9p\xE9senk\xE9nt|step",times:"alkalommal|times",to:"t\u0151l|to",to_list:"ebbe|to",turn:"fordul|turn",while:"am\xEDg|while",white:"feh\xE9r|white",with:"with",yellow:"s\xE1rga|yellow",DIGIT:"0123456789"},id:{add:"tambah|add",and:"dan|and",ask:"tanya|ask",at:"secara|at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"warna|color",comma:",",def:"def",define:"define",echo:"gaungkan|echo",elif:"lain_jika|elif",else:"lainnya|else",for:"untuk|for",forward:"maju|forward",from:"dari|from",gray:"gray",green:"green",if:"jika|if",in:"dalam|in",input:"masukan|input",is:"adalah|is",left:"kiri|left",length:"panjang|length",or:"atau|or",orange:"orange",pink:"pink",pressed:"pressed",print:"cetak|print",purple:"purple",random:"acak|random",range:"batasan|range",red:"red",remove:"hapus|remove",repeat:"ulangi|repeat",return:"return",right:"kanan|right",sleep:"tidur|sleep",step:"langkah|step",times:"kali|times",to:"ke|to",to_list:"ke|to",turn:"belok|turn",while:"selama|while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},it:{add:"add",and:"e|and",ask:"chiedi|ask",at:"at",black:"nero|black",blue:"blu|blue",brown:"marrone|brown",call:"call",clear:"clear",color:"colore|color",comma:",",def:"def",define:"define",echo:"eco|echo",elif:"altrimenti se|elif",else:"altrimenti|else",for:"for",forward:"avanti|forward",from:"da|from",gray:"grigio|gray",green:"verde|green",if:"if",in:"in",input:"input",is:"is",left:"sinistra|left",length:"lunghezza|length",or:"or",orange:"arancione|orange",pink:"rosa|pink",pressed:"pressed",print:"stampa|print",purple:"viola|purple",random:"a caso|random",range:"intervallo|range",red:"rosso|red",remove:"rimuovi|remove",repeat:"ripeti|repeat",return:"return",right:"right",sleep:"dormi|sleep",step:"passo|step",times:"volte|times",to:"to",to_list:"to",turn:"gira|turn",while:"mentre|while",white:"bianco|white",with:"with",yellow:"giallo|yellow",DIGIT:"0123456789"},ja:{add:"\u305F\u3059|add",and:"and",ask:"\u304D\u3051|ask",at:"at",black:"\u304F\u308D|black",blue:"\u3042\u304A|blue",brown:"\u3061\u3083\u3044\u308D|brown",call:"call",clear:"clear",color:"\u3044\u308D|color",comma:",",def:"def",define:"define",echo:"\u307E\u306D|echo",elif:"elif",else:"else",for:"for",forward:"\u3059\u3059\u3081|forward",from:"from",gray:"\u306F\u3044\u3044\u308D|gray",green:"\u307F\u3069\u308A|green",if:"if",in:"in",input:"input",is:"is",left:"\u3072\u3060\u308A|left",length:"length",or:"or",orange:"\u304A\u308C\u3093\u3058|orange",pink:"\u3074\u3093\u304F|pink",pressed:"pressed",print:"\u304B\u3051|print",purple:"\u3080\u3089\u3055\u304D|purple",random:"random",range:"range",red:"\u3042\u304B|red",remove:"remove",repeat:"repeat",return:"return",right:"\u307F\u304E|right",sleep:"\u3084\u3059\u3081|sleep",step:"step",times:"\u304B\u3044|times",to:"to",to_list:"to",turn:"\u307E\u308F\u308C|turn",while:"while",white:"\u3057\u308D|white",with:"with",yellow:"\u304D\u3044\u308D|yellow",DIGIT:"0123456789"},kmr:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},ko:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},nb_NO:{add:"legg|add",and:"og|and",ask:"sp\xF8r|ask",at:"p\xE5|at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"ekko|echo",elif:"elhvis|elif",else:"ellers|else",for:"for",forward:"frem|forward",from:"fra|from",gray:"gray",green:"green",if:"hvis|if",in:"i|in",input:"inndata|input",is:"er|is",left:"venstre|left",length:"lengde|length",or:"eller|or",orange:"orange",pink:"pink",pressed:"pressed",print:"skriv|print",purple:"purple",random:"tilfeldig|random",range:"sekvens|range",red:"red",remove:"fjern|remove",repeat:"gjenta|repeat",return:"return",right:"h\xF8yre|right",sleep:"sov|sleep",step:"steg|step",times:"ganger|times",to:"til|to",to_list:"til|to",turn:"snu|turn",while:"mens|while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},nl:{add:"voeg|add",and:"en|and",ask:"vraag|ask",at:"op|at",black:"zwart|black",blue:"blauw|blue",brown:"bruin|brown",call:"call",clear:"wis|clear",color:"kleur|color",comma:",",def:"def",define:"define",echo:"echo",elif:"alsanders|elif",else:"anders|else",for:"voor|for",forward:"vooruit|forward",from:"uit|from",gray:"grijs|gray",green:"groen|green",if:"als|if",in:"in",input:"invoer|input",is:"is",left:"links|left",length:"lengte|length",or:"of|or",orange:"oranje|orange",pink:"roze|pink",pressed:"ingedrukt|pressed",print:"print",purple:"paars|purple",random:"willekeurig|random",range:"bereik|range",red:"rood|red",remove:"verwijder|remove",repeat:"herhaal|repeat",return:"return",right:"rechts|right",sleep:"slaap|sleep",step:"stap|step",times:"keer|times",to:"tot|to",to_list:"toe aan|to",turn:"draai|turn",while:"zolang|while",white:"wit|white",with:"with",yellow:"geel|yellow",DIGIT:"0123456789"},pa_PK:{add:"\u062F\u06BE\u0646|add",and:"\u062A\u06D2|and",ask:"\u0633\u0648\u0627\u0644|ask",at:"\u0633\u062A\u06BE\u062A\u06CC|at",black:"\u06A9\u0627\u0644\u0627|black",blue:"\u0646\u06CC\u0644\u0627|blue",brown:"\u0628\u06BE\u0648\u0631\u0627|brown",call:"call",clear:"clear",color:"\u0631\u0646\u06AF|color",comma:"\u060C|,",def:"def",define:"define",echo:"\u0641\u06CC\u0631|echo",elif:"\u06C1\u0648\u0631|elif",else:"\u0648\u06A9\u06BE\u0631\u0627|else",for:"\u062C\u062F\u0648\u06BA|for",forward:"\u0627\u06AF\u06D2|forward",from:"\u0633\u0631\u0648\u062A|from",gray:"\u0633\u0644\u06CC\u0679\u06CC|gray",green:"\u06C1\u0631\u0627|green",if:"\u062C\u06D2|if",in:"\u0627\u0646\u062F\u0631|in",input:"\u0627\u06CC\u0646\u067E\u0679|input",is:"\u0633\u0645\u0627\u0646|is",left:"\u06A9\u06BE\u0628\u06D2|left",length:"\u0644\u0645\u0628\u0627\u0626\u06CC|length",or:"\u06CC\u0627|or",orange:"\u0633\u0646\u062A\u0631\u0627|orange",pink:"\u06AF\u0644\u0627\u0628\u06CC|pink",pressed:"pressed",print:"\u0686\u067E\u0627\u0626\u06CC|print",purple:"\u062C\u0627\u0645\u0646\u06CC|purple",random:"\u0631\u0644\u0648\u0627\u0646|random",range:"\u0633\u0644\u0633\u0644\u06C1|range",red:"\u0644\u0627\u0644|red",remove:"\u0645\u0679\u0627\u06A9\u06D2|remove",repeat:"\u062F\u06C1\u0631\u0627|repeat",return:"return",right:"\u0633\u062C\u06D2|right",sleep:"\u0646\u06CC\u0646\u062F|sleep",step:"\u0633\u0637\u0631|step",times:"\u0636\u0631\u0628|times",to:"\u0645\u0646\u0632\u0644|to",to_list:"\u0645\u0646\u0632\u0644|to",turn:"\u0645\u0648\u0691\u0646|turn",while:"\u062C\u062F\u06A9\u06C1|while",white:"\u0686\u0679\u0627|white",with:"with",yellow:"\u067E\u06CC\u0644\u0627|yellow",DIGIT:"0\u06F01\u06F12\u06F23\u06F34\u06F45\u06F56\u06F67\u06F78\u06F89\u06F9"},pl:{add:"dodaj|add",and:"i|and",ask:"zapytaj|ask",at:"pozycja|at",black:"czarny|black",blue:"niebieski|blue",brown:"br\u0105zowy|brown",call:"call",clear:"wyczy\u015B\u0107|clear",color:"kolor|color",comma:",",def:"def",define:"define",echo:"do\u0142\u0105cz|echo",elif:"albo|elif",else:"inaczej|else",for:"dla|for",forward:"naprz\xF3d|forward",from:"z|from",gray:"szary|gray",green:"zielony|green",if:"je\u017Celi|if",in:"w|in",input:"wprowad\u017A|input",is:"to|is",left:"lewo|left",length:"d\u0142ugo\u015B\u0107|length",or:"lub|or",orange:"pomara\u0144czowy|orange",pink:"r\xF3\u017Cowy|pink",pressed:"naci\u015Bni\u0119ty|pressed",print:"napisz|print",purple:"fioletowy|purple",random:"losowa|random",range:"zakres|range",red:"czerwony|red",remove:"usu\u0144|remove",repeat:"powt\xF3rz|repeat",return:"return",right:"prawo|right",sleep:"\u015Bpij|sleep",step:"krok|step",times:"razy|times",to:"do|to",to_list:"do|to",turn:"obr\xF3\u0107|turn",while:"dop\xF3ki|while",white:"bia\u0142y|white",with:"with",yellow:"\u017C\xF3\u0142ty|yellow",DIGIT:"0123456789"},pt_BR:{add:"some|add",and:"e|and",ask:"pergunte|ask",at:"em|at",black:"preto|black",blue:"azul|blue",brown:"marrom|brown",call:"call",clear:"clear",color:"cor|color",comma:",",def:"def",define:"define",echo:"eco|echo",elif:"sen\xE3ose|elif",else:"sen\xE3o|else",for:"para|for",forward:"adiante|forward",from:"de|from",gray:"cinza|gray",green:"verde|green",if:"se|if",in:"em|in",input:"entrada|input",is:"\xE9|is",left:"esquerda|left",length:"comprimento|length",or:"ou|or",orange:"laranja|orange",pink:"rosa|pink",pressed:"pressed",print:"imprima|print",purple:"roxo|purple",random:"aleat\xF3rio|random",range:"intervalo|range",red:"vermelho|red",remove:"remova|remove",repeat:"repita|repeat",return:"return",right:"direita|right",sleep:"durma|sleep",step:"passo|step",times:"vezes|times",to:"para|to",to_list:"at\xE9|to",turn:"gire|turn",while:"enquanto|while",white:"branco|white",with:"with",yellow:"amarelo|yellow",DIGIT:"0123456789"},pt_PT:{add:"adicionar|add",and:"and",ask:"perguntar|ask",at:"em|at",black:"preto|black",blue:"azul|blue",brown:"castanho|brown",call:"call",clear:"clear",color:"cor|color",comma:",",def:"def",define:"define",echo:"eco|echo",elif:"elif",else:"else",for:"for",forward:"avan\xE7ar|forward",from:"de|from",gray:"cinzento|gray",green:"verde|green",if:"if",in:"in",input:"input",is:"is",left:"esquerda|left",length:"comprimento|length",or:"or",orange:"cor de laranja|orange",pink:"cor de rosa|pink",pressed:"pressed",print:"imprimir|print",purple:"roxo|purple",random:"random",range:"intervalo|range",red:"vermelho|red",remove:"remover|remove",repeat:"repetir|repeat",return:"return",right:"direita|right",sleep:"dormir|sleep",step:"passo|step",times:"vezes|times",to:"to",to_list:"para|to",turn:"virar|turn",while:"enquanto|while",white:"branco|white",with:"with",yellow:"amarelo|yellow",DIGIT:"0123456789"},ro:{add:"adun\u0103|add",and:"si|and",ask:"\xEEntreab\u0103|ask",at:"la|at",black:"negru|black",blue:"albastru|blue",brown:"maro|brown",call:"call",clear:"\u0219terge|clear",color:"culoare|color",comma:",",def:"def",define:"define",echo:"echo",elif:"altfel dac\u0103|elif",else:"else",for:"pentru|for",forward:"\xEEnainte|forward",from:"de la|from",gray:"gri|gray",green:"verde|green",if:"if",in:"in",input:"intrare|input",is:"is",left:"st\xE2nga|left",length:"lungime|length",or:"sau|or",orange:"portocaliu|orange",pink:"roz|pink",pressed:"ap\u0103sat|pressed",print:"print",purple:"mov|purple",random:"aleatoriu|random",range:"interval|range",red:"ro\u0219u|red",remove:"elimin\u0103|remove",repeat:"repet\u0103|repeat",return:"return",right:"dreapta|right",sleep:"sleep",step:"pas|step",times:"inmul\u021Bit|times",to:"c\u0103tre|to",to_list:"c\u0103tre|to",turn:"intoarce|turn",while:"\xEEn timp ce|while",white:"alb|white",with:"with",yellow:"galben|yellow",DIGIT:"0123456789"},ru:{add:"\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C|add",and:"\u0438|and",ask:"\u0437\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u044C|ask",at:"\u0432|at",black:"\u0447\u0451\u0440\u043D\u044B\u0439|black",blue:"\u0441\u0438\u043D\u0438\u0439|blue",brown:"\u043A\u043E\u0440\u0438\u0447\u043D\u0435\u0432\u044B\u0439|brown",call:"call",clear:"\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C|clear",color:"\u0446\u0432\u0435\u0442|color",comma:",",def:"def",define:"define",echo:"\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C|echo",elif:"\u0438\u043D\u0430\u0447\u0435, \u0435\u0441\u043B\u0438|elif",else:"\u0438\u043D\u0430\u0447\u0435|else",for:"\u0434\u043B\u044F|for",forward:"\u0432\u043F\u0435\u0440\u0451\u0434|forward",from:"\u0438\u0437|from",gray:"\u0441\u0435\u0440\u044B\u0439|gray",green:"\u0437\u0435\u043B\u0451\u043D\u044B\u0439|green",if:"\u0435\u0441\u043B\u0438|if",in:"\u0432|in",input:"\u0432\u0432\u043E\u0434|input",is:"\u044D\u0442\u043E|is",left:"\u043D\u0430\u043B\u0435\u0432\u043E|left",length:"\u0434\u043B\u0438\u043D\u0430|length",or:"\u0438\u043B\u0438|or",orange:"\u043E\u0440\u0430\u043D\u0436\u0435\u0432\u044B\u0439|orange",pink:"\u0440\u043E\u0437\u043E\u0432\u044B\u0439|pink",pressed:"\u043D\u0430\u0436\u043C\u0438\u0442\u0435|pressed",print:"\u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C|print",purple:"\u043F\u0443\u0440\u043F\u0443\u0440\u043D\u044B\u0439|purple",random:"\u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u043C|random",range:"\u043F\u0440\u043E\u043C\u0435\u0436\u0443\u0442\u043E\u043A|range",red:"\u043A\u0440\u0430\u0441\u043D\u044B\u0439|red",remove:"\u0443\u0434\u0430\u043B\u0438\u0442\u044C|remove",repeat:"\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C|repeat",return:"return",right:"\u043D\u0430\u043F\u0440\u0430\u0432\u043E|right",sleep:"\u0437\u0430\u0441\u043D\u0443\u0442\u044C|sleep",step:"\u0448\u0430\u0433|step",times:"\u0440\u0430\u0437|times",to:"\u0434\u043E|to",to_list:"\u0432|to",turn:"\u043F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C|turn",while:"\u043F\u043E\u043A\u0430|while",white:"\u0431\u0435\u043B\u044B\u0439|white",with:"with",yellow:"\u0436\u0451\u043B\u0442\u044B\u0439|yellow",DIGIT:"0123456789"},sq:{add:"shtoni|add",and:"dhe|and",ask:"pyet|ask",at:"n\xEB|at",black:"zez\xEB|black",blue:"blu|blue",brown:"kafe|brown",call:"thirr|call",clear:"pastro|clear",color:"ngjyr\xEB|color",comma:",",def:"def",define:"defino|define",echo:"p\xEBrs\xEBrit|echo",elif:"nendryshe|elif",else:"ndryshe|else",for:"p\xEBr|for",forward:"p\xEBrpara|forward",from:"nga|from",gray:"gri|gray",green:"jeshile|green",if:"n\xEBse|if",in:"n\xEB|in",input:"hyrje|input",is:"\xEBsht\xEB|is",left:"majtas|left",length:"gjat\xEBsia|length",or:"ose|or",orange:"portokalli|orange",pink:"roz\xEB|pink",pressed:"shtypur|pressed",print:"printo|print",purple:"vjollc\xEB|purple",random:"rast\xEBsi|random",range:"varg|range",red:"kuqe|red",remove:"hiqni|remove",repeat:"p\xEBrs\xEBrit|repeat",return:"rikthe|return",right:"drejt\xEB|right",sleep:"fle|sleep",step:"hap|step",times:"her|times",to:"deri|to",to_list:"deri|to",turn:"kthes\xEB|turn",while:"derisa|while",white:"bardh\xEB|white",with:"me|with",yellow:"verdh\xEB|yellow",DIGIT:"0123456789"},sr:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},sv:{add:"addera|add",and:"och|and",ask:"fr\xE5ga|ask",at:"vid|at",black:"svart|black",blue:"bl\xE5|blue",brown:"brun|brown",call:"anropa|call",clear:"rensa|clear",color:"f\xE4rg|color",comma:",",def:"def",define:"definiera|define",echo:"eko|echo",elif:"anom|elif",else:"annars|else",for:"f\xF6r|for",forward:"fram\xE5t|forward",from:"fr\xE5n|from",gray:"gr\xE5|gray",green:"gr\xF6n|green",if:"om|if",in:"i|in",input:"inmatning|input",is:"\xE4r|is",left:"v\xE4nster|left",length:"l\xE4ngd|length",or:"eller|or",orange:"orange",pink:"rosa|pink",pressed:"nedtryckt|pressed",print:"skriv|print",purple:"lila|purple",random:"slump|random",range:"intervall|range",red:"r\xF6d|red",remove:"radera|remove",repeat:"upprepa|repeat",return:"returnera|return",right:"h\xF6ger|right",sleep:"sov|sleep",step:"steg|step",times:"g\xE5nger|times",to:"till|to",to_list:"till|to",turn:"sv\xE4ng|turn",while:"medan|while",white:"vit|white",with:"med|with",yellow:"gul|yellow",DIGIT:"0123456789"},sw:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},te:{add:"\u0C1C\u0C4B\u0C21\u0C3F\u0C02\u0C1A\u0C41|add",and:"\u0C2E\u0C30\u0C3F\u0C2F\u0C41|and",ask:"\u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F|ask",at:"\u0C35\u0C26\u0C4D\u0C26|at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"\u0C2A\u0C4D\u0C30\u0C24\u0C3F\u0C27\u0C4D\u0C35\u0C28\u0C3F|echo",elif:"\u0C2E\u0C30\u0C4A\u0C15\u0C1F\u0C3F \u0C09\u0C02\u0C1F\u0C47|elif",else:"\u0C32\u0C47\u0C15\u0C2A\u0C4B\u0C24\u0C47|else",for:"\u0C15\u0C4B\u0C38\u0C02|for",forward:"\u0C2E\u0C41\u0C02\u0C26\u0C41\u0C15\u0C41|forward",from:"\u0C28\u0C41\u0C02\u0C21\u0C3F|from",gray:"gray",green:"green",if:"\u0C09\u0C02\u0C1F\u0C47|if",in:"\u092E\u0947\u0C32\u0C4B|in",input:"\u0C07\u0C28\u0C4D\u0C2A\u0C41\u0C1F\u0C4D|input",is:"\u0C09\u0C02\u0C26\u0C3F|is",left:"left",length:"\u0C2A\u0C4A\u0C21\u0C35\u0C41|length",or:"\u0C32\u0C47\u0C26\u0C3E|or",orange:"orange",pink:"pink",pressed:"pressed",print:"\u0C2E\u0C41\u0C26\u0C4D\u0C30\u0C23|print",purple:"purple",random:"\u0C2F\u0C3E\u0C26\u0C43\u0C1A\u0C4D\u0C1B\u0C3F\u0C15\u0C02\u0C17\u0C3E|random",range:"\u0C2A\u0C30\u0C3F\u0C27\u0C3F|range",red:"red",remove:"\u0C24\u0C4A\u0C32\u0C17\u0C3F\u0C02\u0C1A\u0C41|remove",repeat:"\u0C2A\u0C41\u0C28\u0C30\u0C3E\u0C35\u0C43\u0C24\u0C02|repeat",return:"return",right:"right",sleep:"\u0C28\u0C3F\u0C26\u0C4D\u0C30|sleep",step:"\u0C05\u0C21\u0C41\u0C17\u0C41|step",times:"\u0C38\u0C3E\u0C30\u0C4D\u0C32\u0C41|times",to:"\u0C15\u0C41|to",to_list:"\u0C15\u0C41|to",turn:"\u0C2E\u0C32\u0C41\u0C2A\u0C41|turn",while:"\u0C05\u0C2F\u0C3F\u0C24\u0C47|while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},th:{add:"\u0E40\u0E1E\u0E34\u0E48\u0E21|add",and:"\u0E41\u0E25\u0E30|and",ask:"\u0E16\u0E32\u0E21\u0E27\u0E48\u0E32|ask",at:"\u0E41\u0E1A\u0E1A|at",black:"\u0E14\u0E33|black",blue:"\u0E19\u0E49\u0E33\u0E40\u0E07\u0E34\u0E19|blue",brown:"\u0E19\u0E49\u0E33\u0E15\u0E32\u0E25|brown",call:"call",clear:"\u0E25\u0E1A\u0E01\u0E23\u0E30\u0E14\u0E32\u0E19|clear",color:"\u0E2A\u0E35|color",comma:",",def:"def",define:"define",echo:"\u0E1E\u0E39\u0E14|echo",elif:"\u0E2B\u0E23\u0E37\u0E2D\u0E16\u0E49\u0E32|elif",else:"\u0E44\u0E21\u0E48\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E31\u0E49\u0E19|else",for:"\u0E43\u0E2B\u0E49|for",forward:"\u0E40\u0E14\u0E34\u0E19\u0E2B\u0E19\u0E49\u0E32|forward",from:"\u0E08\u0E32\u0E01|from",gray:"\u0E40\u0E17\u0E32|gray",green:"\u0E40\u0E02\u0E35\u0E22\u0E27|green",if:"\u0E16\u0E49\u0E32|if",in:"\u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19|in",input:"\u0E23\u0E31\u0E1A\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25|input",is:"\u0E04\u0E37\u0E2D|is",left:"\u0E0B\u0E49\u0E32\u0E22|left",length:"\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27|length",or:"\u0E2B\u0E23\u0E37\u0E2D|or",orange:"\u0E2A\u0E49\u0E21|orange",pink:"\u0E0A\u0E21\u0E1E\u0E39|pink",pressed:"\u0E1B\u0E38\u0E48\u0E21\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E01\u0E14|pressed",print:"\u0E41\u0E2A\u0E14\u0E07|print",purple:"\u0E21\u0E48\u0E27\u0E07|purple",random:"\u0E2A\u0E38\u0E48\u0E21|random",range:"\u0E0A\u0E48\u0E27\u0E07|range",red:"\u0E41\u0E14\u0E07|red",remove:"\u0E25\u0E1A|remove",repeat:"\u0E17\u0E33\u0E0B\u0E49\u0E33|repeat",return:"return",right:"\u0E02\u0E27\u0E32|right",sleep:"\u0E23\u0E2D|sleep",step:"\u0E40\u0E14\u0E34\u0E19|step",times:"\u0E04\u0E23\u0E31\u0E49\u0E07|times",to:"\u0E08\u0E19\u0E16\u0E36\u0E07|to",to_list:"\u0E44\u0E1B\u0E22\u0E31\u0E07|to",turn:"\u0E40\u0E25\u0E35\u0E49\u0E22\u0E27|turn",while:"\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E44\u0E2B\u0E23\u0E48\u0E01\u0E47\u0E15\u0E32\u0E21\u0E17\u0E35\u0E48|while",white:"\u0E02\u0E32\u0E27|white",with:"with",yellow:"\u0E40\u0E2B\u0E25\u0E37\u0E2D\u0E07|yellow",DIGIT:"0123456789"},tl:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},tn:{add:"tsenya|add",and:"and",ask:"botsa|ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"faese|else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"fa|if",in:"in",input:"input",is:"ke|is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"gatisa|print",purple:"purple",random:"random",range:"range",red:"red",remove:"ntsha|remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},tr:{add:"ekle|add",and:"ve|and",ask:"sor|ask",at:"\u015Furada|at",black:"siyah|black",blue:"mavi|blue",brown:"kahverengi|brown",call:"call",clear:"temiz|clear",color:"renk|color",comma:",",def:"def",define:"define",echo:"eko|echo",elif:"elif",else:"ba\u015Fka|else",for:"\u015Funun i\xE7in|for",forward:"ileri|forward",from:"\u015Furadan|from",gray:"gri|gray",green:"ye\u015Fil|green",if:"e\u011Fer|if",in:"i\xE7inde|in",input:"girdi|input",is:"e\u015Fit|is",left:"sol|left",length:"uzunluk|length",or:"veya|or",orange:"turuncu|orange",pink:"pembe|pink",pressed:"bas\u0131l\u0131|pressed",print:"yazd\u0131r|print",purple:"mor|purple",random:"rastgele|random",range:"dizi|range",red:"k\u0131rm\u0131z\u0131|red",remove:"sil|remove",repeat:"tekrar|repeat",return:"return",right:"sa\u011F|right",sleep:"bekle|sleep",step:"ad\u0131m|step",times:"kere|times",to:"\u015Furaya|to",to_list:"to",turn:"d\xF6nd\xFCr|turn",while:"iken|while",white:"beyaz|white",with:"with",yellow:"sar\u0131|yellow",DIGIT:"0123456789"},uk:{add:"\u0434\u043E\u0434\u0430\u0439|add",and:"\u0456|and",ask:"\u0437\u0430\u043F\u0438\u0442\u0430\u0439|ask",at:"\u043D\u0430 \u043F\u043E\u0437\u0438\u0446\u0456\u0457|at",black:"\u0447\u043E\u0440\u043D\u0438\u0439|black",blue:"\u0441\u0438\u043D\u0456\u0439|blue",brown:"\u043A\u043E\u0440\u0438\u0447\u043D\u0435\u0432\u0438\u0439|brown",call:"call",clear:"\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u0438|clear",color:"\u043A\u043E\u043B\u0456\u0440|color",comma:",",def:"def",define:"define",echo:"\u0435\u0445\u043E|echo",elif:"\u0456\u043D\u0430\u043A\u0448\u0435 \u044F\u043A\u0449\u043E|elif",else:"\u0456\u043D\u0430\u043A\u0448\u0435|else",for:"\u0434\u043B\u044F|for",forward:"\u0432\u043F\u0435\u0440\u0435\u0434|forward",from:"i\u0437|\u0437|from",gray:"\u0441\u0456\u0440\u0438\u0439|gray",green:"\u0437\u0435\u043B\u0435\u043D\u0438\u0439|green",if:"\u044F\u043A\u0449\u043E|if",in:"\u0432|in",input:"\u0432\u0432\u0435\u0434\u0438|input",is:"\u0446\u0435|is",left:"\u0432\u043B\u0456\u0432\u043E|left",length:"\u0434\u043E\u0432\u0436\u0438\u043D\u0430|length",or:"\u0430\u0431\u043E|or",orange:"\u043E\u0440\u0430\u043D\u0436\u0435\u0432\u0438\u0439|orange",pink:"\u0440\u043E\u0436\u0435\u0432\u0438\u0439|pink",pressed:"\u043D\u0430\u0442\u0438\u0441\u043D\u0443\u0432|pressed",print:"\u0434\u0440\u0443\u043A\u0443\u0439|print",purple:"\u0444\u0456\u043E\u043B\u0435\u0442\u043E\u0432\u0438\u0439|purple",random:"\u0432\u0438\u043F\u0430\u0434\u043A\u043E\u0432\u0438\u0439|\u0432\u0438\u043F\u0430\u0434\u043A\u043E\u0432\u0456\u0439|random",range:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D|\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043Di|range",red:"\u0447\u0435\u0440\u0432\u043E\u043D\u0438\u0439|red",remove:"\u0432\u0438\u0434\u0430\u043B\u0438|remove",repeat:"\u043F\u043E\u0432\u0442\u043E\u0440\u0438|repeat",return:"return",right:"\u0432\u043F\u0440\u0430\u0432\u043E|right",sleep:"\u043F\u043E\u0447\u0435\u043A\u0430\u0439|sleep",step:"\u043A\u0440\u043E\u043A|step",times:"\u0440\u0430\u0437\u0456\u0432|\u0440\u0430\u0437\u0438|\u0440\u0430\u0437|times",to:"\u0434\u043E|to",to_list:"\u0434\u043E|to",turn:"\u043F\u043E\u0432\u0435\u0440\u043D\u0438|turn",while:"\u0442\u043E\u0434\u0456 \u044F\u043A|while",white:"\u0431\u0456\u043B\u0438\u0439|white",with:"with",yellow:"\u0436\u043E\u0432\u0442\u0438\u0439|yellow",DIGIT:"0123456789"},ur:{add:"\u0634\u0627\u0645\u0644|add",and:"\u0627\u0648\u0631|and",ask:"\u0628\u062A\u0627\u0624|ask",at:"\u06A9\u0648\u0626\u06CC|at",black:"\u06A9\u0627\u0644\u0627|black",blue:"\u0646\u06CC\u0644\u0627|blue",brown:"\u0628\u0631\u0627\u0624\u0646|brown",call:"call",clear:"\u0635\u0627\u0641|clear",color:"\u0631\u0646\u06AF|color",comma:"\u060C|,",def:"def",define:"define",echo:"\u067E\u06A9\u0627\u0631|echo",elif:"\u06CC\u0627\u0627\u06AF\u0631|elif",else:"\u0648\u0631\u0646\u06C1|else",for:"\u0641\u06CC|for",forward:"\u0622\u06AF\u06D2|forward",from:"\u0633\u06D2|from",gray:"\u06AF\u0631\u06D2|gray",green:"\u0633\u0628\u0632|green",if:"\u0627\u06AF\u0631|if",in:"\u0645\u06CC\u06BA|in",input:"\u0628\u062A\u0627\u0624|input",is:"\u06C1\u06D2|is",left:"\u0628\u0627\u0626\u06CC\u06BA|left",length:"length",or:"\u06CC\u0627|or",orange:"\u0627\u0648\u0631\u06CC\u0646\u062C|orange",pink:"\u06AF\u0644\u0627\u0628\u06CC|pink",pressed:"\u062F\u0628\u0627 \u06C1\u0648\u0627|pressed",print:"\u062F\u06A9\u06BE\u0627\u0624|print",purple:"\u062C\u0627\u0645\u0646\u06CC|purple",random:"\u0633\u0627|random",range:"\u062D\u062F|range",red:"\u0633\u0631\u062E|red",remove:"\u0646\u06A9\u0627\u0644\u0648|remove",repeat:"\u0645\u06A9\u0631\u0631|repeat",return:"return",right:"\u062F\u0627\u0626\u06CC\u06BA|right",sleep:"\u0622\u0631\u0627\u0645\u202C\u202D\u202E|sleep",step:"step",times:"\u062F\u0641\u0639\u06C1|times",to:"\u0633\u06D2|to",to_list:"\u0627\u0646\u062F\u0631|to",turn:"\u0645\u0691\u0648|turn",while:"\u062C\u0628\u062A\u06A9|while",white:"\u0633\u0641\u06CC\u062F|white",with:"with",yellow:"\u067E\u06CC\u0644\u0627|yellow",DIGIT:"0123456789"},vi:{add:"add",and:"v\xE0|and",ask:"h\u1ECFi|ask",at:"at",black:"\u0111en|black",blue:"lam|blue",brown:"n\xE2u|brown",call:"call",clear:"clear",color:"m\xE0u|color",comma:",",def:"def",define:"define",echo:"\u0111\xE1p|echo",elif:"elif",else:"else",for:"for",forward:"ti\u1EBFn|forward",from:"from",gray:"x\xE1m|gray",green:"l\u1EE5c|green",if:"n\u1EBFu|if",in:"in",input:"input",is:"l\xE0|is",left:"tr\xE1i|left",length:"length",or:"ho\u1EB7c|or",orange:"cam|orange",pink:"h\u1ED3ng|pink",pressed:"pressed",print:"xu\u1EA5t|print",purple:"t\xEDm|purple",random:"ng\u1EABu_nhi\xEAn|random",range:"range",red:"\u0111\u1ECF|red",remove:"remove",repeat:"repeat",return:"return",right:"ph\u1EA3i|right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"quay|turn",while:"while",white:"tr\u1EAFng|white",with:"with",yellow:"v\xE0ng|yellow",DIGIT:"0123456789"},zh_Hans:{add:"\u52A0|add",and:"\u5E76\u4E14|and",ask:"\u63D0\u95EE|ask",at:"\u5728|at",black:"\u9ED1\u8272|black",blue:"\u84DD\u8272|blue",brown:"\u68D5\u8272|brown",call:"call",clear:"\u6E05\u9664|clear",color:"\u989C\u8272|color",comma:"\uFF0C|\u3001|,",def:"def",define:"define",echo:"\u56DE\u58F0|echo",elif:"\u5426\u5219\u5982\u679C|elif",else:"\u5426\u5219|else",for:"\u53D6|for",forward:"\u5411\u524D|forward",from:"\u4ECE|from",gray:"\u7070\u8272|gray",green:"\u7EFF\u8272|green",if:"\u5982\u679C|if",in:"\u5728\u91CC\u9762|in",input:"\u8F93\u5165|input",is:"\u662F|is",left:"\u5DE6|left",length:"\u957F\u5EA6|length",or:"\u6216|or",orange:"\u6A59\u8272|orange",pink:"\u7C89\u7EA2\u8272|pink",pressed:"\u6309\u4E0B|pressed",print:"\u6253\u5370|print",purple:"\u7D2B\u8272|purple",random:"\u968F\u673A|random",range:"\u8303\u56F4|range",red:"\u7EA2\u8272|red",remove:"\u79FB\u9664|remove",repeat:"\u91CD\u590D|repeat",return:"return",right:"\u53F3|right",sleep:"\u7761\u7720|sleep",step:"\u6B65|step",times:"\u6B21|times",to:"\u5230|to",to_list:"\u5230|to",turn:"\u65CB\u8F6C|turn",while:"\u5F53\u7684\u65F6\u5019|while",white:"\u767D\u8272|white",with:"with",yellow:"\u9EC4\u8272|yellow",DIGIT:"0123456789"},zh_Hant:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"}}});var Zl=dt(oo=>{"use strict";var Xl=oo&&oo.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(oo,"__esModule",{value:!0});oo.initializeSyntaxHighlighter=void 0;var Gh=Xl(Yl()),Wh=Xl(ql());function Hh(l){var u=Kl(Wh.default),c=l.keywordLanguage;u.has(c)||(c="en");var p=u.get(c),f=JSON.stringify(Gh.default),h=Uh(f,p),k=JSON.parse(h);if(window.define)for(var D=function(M){define("ace/mode/"+M.name,[],function(O,N,A){var C=O("ace/lib/oop"),z=O("ace/mode/text").Mode,H=O("ace/mode/text_highlight_rules").TextHighlightRules;function q(){this.$rules=M.rules,this.normalizeRules()}C.inherits(q,H);function K(){this.HighlightRules=q}C.inherits(K,z),N.Mode=K})},I=0,y=k;I{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.TRANSLATIONS=void 0;yi.TRANSLATIONS={ar:{CheckInternet:"\u0623\u0644\u0642\u064A \u0646\u0638\u0631\u0629 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u062A\u0635\u0627\u0644\u0643 \u0628\u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A \u064A\u0639\u0645\u0644 \u0628\u0634\u0643\u0644 \u0635\u062D\u064A\u062D.",Connection_error:"\u0644\u0645 \u0646\u062A\u0645\u0643\u0646 \u0645\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u062E\u0627\u062F\u0645.",Empty_output:"\u0647\u0630\u0627 \u0627\u0644\u0631\u0645\u0632 \u064A\u0639\u0645\u0644 \u0648\u0644\u0643\u0646 \u0644\u0627 \u064A\u0637\u0628\u0639 \u0623\u064A \u0634\u064A\u0621. \u0623\u0636\u0641 \u0623\u0645\u0631 \u0637\u0628\u0627\u0639\u0629 \u0625\u0644\u0649 \u0627\u0644\u0643\u0648\u062F \u0627\u0644\u062E\u0627\u0635 \u0628\u0643 \u0623\u0648 \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0633\u0644\u062D\u0641\u0627\u0629 \u0644\u0637\u0628\u0627\u0639\u0629 \u0634\u064A\u0621 \u0645\u0627.",Errors_found:"You made a mistake! Don't worry, Hedy is trying to find the mistakes",Execute_error:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0645\u0627 \u0623\u062B\u0646\u0627\u0621 \u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C.",Other_error:"\u0639\u0641\u0648\u0627! \u0631\u0628\u0645\u0627 \u0627\u0631\u062A\u0643\u0628\u0646\u0627 \u062E\u0637\u0623 \u0628\u0633\u064A\u0637\u0627.",Program_repair:"\u0642\u062F \u064A\u0643\u0648\u0646 \u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0635\u062D\u064A\u062D \u060C \u0647\u0644 \u064A\u0645\u0643\u0646\u0643 \u0625\u0635\u0644\u0627\u062D\u0647\u061F",Program_too_long:"\u064A\u0633\u062A\u063A\u0631\u0642 \u0628\u0631\u0646\u0627\u0645\u062C\u0643 \u0648\u0642\u062A\u064B\u0627 \u0637\u0648\u064A\u0644\u0627\u064B \u0644\u0644\u062A\u0634\u063A\u064A\u0644.",ServerError:"\u0644\u0642\u062F \u0643\u062A\u0628\u062A \u0628\u0631\u0646\u0627\u0645\u062C\u0627 \u0644\u0645 \u0646\u0643\u0646 \u0646\u062A\u0648\u0642\u0639\u0647. \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u0631\u063A\u0628 \u0641\u064A \u0627\u0644\u0645\u0633\u0627\u0639\u062F\u0629 \u060C \u0641\u0623\u0631\u0633\u0644 \u0644\u0646\u0627 \u0628\u0631\u064A\u062F\u0627 \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A\u0627 \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0627\u0644\u0645\u0633\u062A\u0648\u0649 \u0648\u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644\u062E\u0627\u0635 \u0628\u0643 \u0639\u0644\u0649 hello@hedy.org. \u0641\u064A \u063A\u0636\u0648\u0646 \u0630\u0644\u0643 \u060C \u062C\u0631\u0628 \u0634\u064A\u0626\u0627 \u0645\u062E\u062A\u0644\u0641\u0627 \u0642\u0644\u064A\u0644\u0627 \u0648\u0623\u0644\u0642 \u0646\u0638\u0631\u0629 \u0623\u062E\u0631\u0649 \u0639\u0644\u0649 \u0627\u0644\u0623\u0645\u062B\u0644\u0629. \u0634\u0643\u0631\u0627!",Transpile_error:"\u0644\u0627 \u064A\u0645\u0643\u0646\u0646\u0627 \u062A\u0634\u063A\u064A\u0644 \u0628\u0631\u0646\u0627\u0645\u062C\u0643.",Transpile_success:`\u0623\u062D\u0633\u0646\u062A! +var hedyApp=(()=>{var Ah=Object.defineProperty,zh=Object.defineProperties;var Oh=Object.getOwnPropertyDescriptors;var Hl=Object.getOwnPropertySymbols;var $h=Object.prototype.hasOwnProperty,Rh=Object.prototype.propertyIsEnumerable;var Ul=(l,u,c)=>u in l?Ah(l,u,{enumerable:!0,configurable:!0,writable:!0,value:c}):l[u]=c,ki=(l,u)=>{for(var c in u||(u={}))$h.call(u,c)&&Ul(l,c,u[c]);if(Hl)for(var c of Hl(u))Rh.call(u,c)&&Ul(l,c,u[c]);return l},Na=(l,u)=>zh(l,Oh(u));var Bo=(l=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(l,{get:(u,c)=>(typeof require!="undefined"?require:u)[c]}):l)(function(l){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+l+'" is not supported')});var dt=(l,u)=>()=>(u||l((u={exports:{}}).exports,u),u.exports);var Vl=dt((jm,Bh)=>{Bh.exports=[{name:"level1",rules:{start:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start"},{regex:"_\\?_",token:"invalid",next:"start"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^ *)(__ask__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__print__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__echo__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__forward__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__turn__)",token:["text","keyword"],next:"direction",unicode:!0},{regex:"(^ *)(__color__)",token:["text","keyword"],next:"color",unicode:!0}],value:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"value"},{regex:"_\\?_",token:"invalid",next:"value"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"}],color:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"color"},{regex:"_\\?_",token:"invalid",next:"color"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(__black__|__gray__|__white__|__green__|__blue__|__purple__|__brown__|__pink__|__red__|__orange__|__yellow__)",token:["text"],unicode:!0}],direction:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"direction"},{regex:"_\\?_",token:"invalid",next:"direction"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(__right__|__left__)",token:["text"],unicode:!0}]}},{name:"level2",rules:{start:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start"},{regex:"_\\?_",token:"invalid",next:"start"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^ *)(__print__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)( +)(__ask__)",token:["text","text","text","keyword","text","keyword"],next:"value",unicode:!0},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)",token:["text","text","text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__sleep__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__forward__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__turn__)",token:["text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__color__)",token:["text","keyword"],next:"value",unicode:!0}],value:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"value"},{regex:"_\\?_",token:"invalid",next:"value"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}]}},{name:"level3",rules:{start:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start"},{regex:"_\\?_",token:"invalid",next:"start"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)( *)(__ask__)",token:["text","text","text","keyword","text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)",token:["text","text","text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__print__)",token:["text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)(__turn__)",token:["text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)(__sleep__)",token:["text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)(__forward__)",token:["text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)(__add__)",token:["text","keyword"],next:"valAdd",unicode:!0},{regex:"(^ *)(__remove__)",token:["text","keyword"],next:"valRemove",unicode:!0},{regex:"(^ *)(__color__)",token:["text","keyword"],next:"value",unicode:!0}],value:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"value"},{regex:"_\\?_",token:"invalid",next:"value"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__at__)( +)(__random__)",token:["text","keyword","keyword","keyword"],unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],unicode:!0},{regex:"(__comma__)",token:["keyword"],unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueExpr:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueExpr"},{regex:"_\\?_",token:"invalid",next:"valueExpr"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__at__)( +)(__random__)",token:["text","keyword","keyword","keyword"],unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],unicode:!0}],valAdd:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valAdd"},{regex:"_\\?_",token:"invalid",next:"valAdd"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"valueTo",unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueTo:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueTo"},{regex:"_\\?_",token:"invalid",next:"valueTo"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"}],valRemove:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valRemove"},{regex:"_\\?_",token:"invalid",next:"valRemove"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"valueFrom",unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueFrom:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueFrom"},{regex:"_\\?_",token:"invalid",next:"valueFrom"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"}]}},{name:"level4",rules:{start:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start"},{regex:"_\\?_",token:"invalid",next:"start"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)( *)(__ask__)",token:["text","text","text","keyword","text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7]+)( +)(__is__)",token:["text","text","text","keyword"],next:"value",unicode:!0},{regex:"(^ *)(__print__)",token:["text","keyword"],next:"valueExpr",unicode:!0},{regex:"(^ *)(__turn__)",token:["text","keyword"],next:"valueSimple",unicode:!0},{regex:"(^ *)(__sleep__)",token:["text","keyword"],next:"valueSimple",unicode:!0},{regex:"(^ *)(__forward__)",token:["text","keyword"],next:"valueSimple",unicode:!0},{regex:"(^ *)(__color__)",token:["text","keyword"],next:"valueSimple",unicode:!0},{regex:"(^ *)(__add__)",token:["text","keyword"],next:"valAdd",unicode:!0},{regex:"(^ *)(__remove__)",token:["text","keyword"],next:"valRemove",unicode:!0},{regex:"(^ *)(__clear__)",token:["text","event"],unicode:!0}],value:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"value"},{regex:"_\\?_",token:"invalid",next:"value"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__at__)( +)(__random__)",token:["text","keyword","keyword","keyword"],unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],unicode:!0},{regex:"(__comma__)",token:["keyword"],unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueExpr:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueExpr"},{regex:"_\\?_",token:"invalid",next:"valueExpr"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__at__)( +)(__random__)",token:["text","keyword","keyword","keyword"],unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],unicode:!0},{regex:'"[^"]*"',token:"constant.character",unicode:!0},{regex:"'[^']*'",token:"constant.character",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0}],valueSimple:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueSimple"},{regex:"_\\?_",token:"invalid",next:"valueSimple"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__at__)( +)(__random__)",token:["text","keyword","keyword","keyword"],unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valAdd:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valAdd"},{regex:"_\\?_",token:"invalid",next:"valAdd"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"valueTo",unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueTo:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueTo"},{regex:"_\\?_",token:"invalid",next:"valueTo"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"}],valRemove:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valRemove"},{regex:"_\\?_",token:"invalid",next:"valRemove"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"valueFrom",unicode:!0},{regex:"(__black__|__blue__|__brown__|__gray__|__green__|__orange__|__pink__|__purple__|__red__|__white__|__yellow__)",token:["text"],unicode:!0}],valueFrom:[{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"valueFrom"},{regex:"_\\?_",token:"invalid",next:"valueFrom"},{regex:"#.*$",token:"comment",next:"start"},{regex:"(^|$)",token:["text"],next:"start"}]}},{name:"level5",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level6",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level7",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level8",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level9",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level10",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level11",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level12",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level13",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level14",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(<)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(>)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(!)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(<)",token:["keyword"],next:"start",unicode:!0},{regex:"(>)",token:["keyword"],next:"start",unicode:!0},{regex:"(!)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level15",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__else__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(<)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(>)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(!)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__while__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(<)",token:["keyword"],next:"start",unicode:!0},{regex:"(>)",token:["keyword"],next:"start",unicode:!0},{regex:"(!)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level16",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(<)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(>)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(!)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\[)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\])([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__while__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(<)",token:["keyword"],next:"start",unicode:!0},{regex:"(>)",token:["keyword"],next:"start",unicode:!0},{regex:"(!)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\[)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\])",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level17",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(<)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(>)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(!)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\[)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\])([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(:)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__while__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__define__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__call__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__with__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(<)",token:["keyword"],next:"start",unicode:!0},{regex:"(>)",token:["keyword"],next:"start",unicode:!0},{regex:"(!)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\[)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\])",token:["keyword"],next:"start",unicode:!0},{regex:"(:)",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__elif__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}},{name:"level18",rules:{start:[{regex:"(^| )(__is__)( +)(__ask__)",token:["text","keyword","text","keyword"]},{regex:"(=)( +)(__ask__)",token:["keyword","text","keyword"]},{regex:"#.*$",token:"comment",next:"start",unicode:!0},{regex:'"[^"]*"',token:"constant.character",next:"start",unicode:!0},{regex:"'[^']*'",token:"constant.character",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*\xBB",token:"constant.character",next:"start",unicode:!0},{regex:'"[^"]*$',token:"text",next:"start",unicode:!0},{regex:"'[^']*$",token:"text",next:"start",unicode:!0},{regex:"\xAB[^\xBB]*$",token:"text",next:"start",unicode:!0},{regex:"_\\?_",token:"invalid",next:"start",unicode:!0},{regex:"(^| )(_)(?= |$)",token:["text","invalid"],next:"start",unicode:!0},{regex:"(^| )([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","variable"],next:"start",unicode:!0},{regex:"(^| )(__print__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__forward__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__turn__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__random__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__times__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword","variable"],next:"start",unicode:!0},{regex:"(__comma__)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(-)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(=)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(/)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\*)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\+)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(<)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(>)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(!)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\[)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\])([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(:)([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\()([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(\\))([__DIGIT__]*\\.?[__DIGIT__]+)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword","variable"],next:"start",unicode:!0},{regex:"(^| )(__is__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__at__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__add__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to_list__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__remove__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__from__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__in__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(not_in)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__if__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__else__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__for__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__range__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__to__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__and__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__or__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__while__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__input__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__repeat__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__color__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__def__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","support.function"],next:"start",unicode:!0},{regex:"(^| )(__return__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__comma__)",token:["keyword"],next:"start",unicode:!0},{regex:"(-)",token:["keyword"],next:"start",unicode:!0},{regex:"(=)",token:["keyword"],next:"start",unicode:!0},{regex:"(/)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\*)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\+)",token:["keyword"],next:"start",unicode:!0},{regex:"(<)",token:["keyword"],next:"start",unicode:!0},{regex:"(>)",token:["keyword"],next:"start",unicode:!0},{regex:"(!)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\[)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\])",token:["keyword"],next:"start",unicode:!0},{regex:"(:)",token:["keyword"],next:"start",unicode:!0},{regex:"(\\()",token:["keyword"],next:"start",unicode:!0},{regex:"(\\))",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__print__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__sleep__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__forward__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__turn__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__random__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(^| )(__times__)",token:["text","keyword"],next:"start",unicode:!0},{regex:"(__elif__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["keyword"],next:"start",unicode:!0},{regex:"(^| )(__black__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__blue__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__brown__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__gray__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__green__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__orange__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pink__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__purple__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__red__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__white__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__yellow__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","text"],next:"start",unicode:!0},{regex:"(^| )(__pressed__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0},{regex:"(^| )(__clear__)(?![\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}_\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\xB7])",token:["text","event"],next:"start",unicode:!0}]}}]});var Yl=dt((Gm,Fh)=>{Fh.exports={ar:{add:"\u0640*\u0627\u0640*\u0636\u0640*\u0641\u0640*|add",and:"\u0640*\u0648\u0640*|and",ask:"\u0640*\u0627\u0640*\u0633\u0640*\u0623\u0640*\u0644\u0640*|ask",at:"\u0640*\u0628\u0640*\u0634\u0640*\u0643\u0640*\u0644\u0640*|at",black:"\u0640*\u0627\u0640*\u0633\u0640*\u0648\u0640*\u062F\u0640*|black",blue:"\u0640*\u0627\u0640*\u0632\u0640*\u0631\u0640*\u0642\u0640*|blue",brown:"\u0640*\u0628\u0640*\u0646\u0640*\u064A\u0640*|brown",call:"\u0640*c\u0640*a\u0640*l\u0640*l\u0640*|call",clear:"\u0640*c\u0640*l\u0640*e\u0640*a\u0640*r\u0640*|clear",color:"\u0640*\u0644\u0640*\u0648\u0640*\u0646\u0640*|color",comma:"\u0640*\u060C\u0640*|,",def:"\u0640*d\u0640*e\u0640*f\u0640*|def",define:"\u0640*d\u0640*e\u0640*f\u0640*i\u0640*n\u0640*e\u0640*|define",echo:"\u0640*\u0631\u0640*\u062F\u0640*\u062F\u0640*|echo",elif:"\u0640*\u0648\u0640*\u0625\u0640*\u0644\u0640*\u0627\u0640* \u0640*\u0627\u0640*\u0630\u0640*\u0627\u0640*|elif",else:"\u0640*\u0648\u0640*\u0625\u0640*\u0644\u0640*\u0627\u0640*|else",for:"\u0640*\u0644\u0640*\u0643\u0640*\u0644\u0640*|for",forward:"\u0640*\u062A\u0640*\u0642\u0640*\u062F\u0640*\u0645\u0640*|forward",from:"\u0640*\u0645\u0640*\u0646\u0640*|from",gray:"\u0640*\u0631\u0640*\u0645\u0640*\u0627\u0640*\u062F\u0640*\u064A\u0640*|gray",green:"\u0640*\u0627\u0640*\u062E\u0640*\u0636\u0640*\u0631\u0640*|green",if:"\u0640*\u0627\u0640*\u0630\u0640*\u0627\u0640*|if",in:"\u0640*\u0641\u0640*\u064A\u0640*|in",input:"\u0640*\u0627\u0640*\u062F\u0640*\u062E\u0640*\u0644\u0640*|input",is:"\u0640*\u0647\u0640*\u0648\u0640*|\u0640*\u0647\u0640*\u064A\u0640*|is",left:"\u0640*\u064A\u0640*\u0633\u0640*\u0627\u0640*\u0631\u0640*|left",length:"\u0640*\u0637\u0640*\u0648\u0640*\u0644\u0640*|length",or:"\u0640*\u0623\u0640*\u0648\u0640*|or",orange:"\u0640*\u0628\u0640*\u0631\u0640*\u062A\u0640*\u0642\u0640*\u0627\u0640*\u0644\u0640*\u064A\u0640*|orange",pink:"\u0640*\u0632\u0640*\u0647\u0640*\u0631\u0640*\u064A\u0640*|pink",pressed:"\u0640*p\u0640*r\u0640*e\u0640*s\u0640*s\u0640*e\u0640*d\u0640*|pressed",print:"\u0640*\u0642\u0640*\u0648\u0640*\u0644\u0640*|print",purple:"\u0640*\u0628\u0640*\u0646\u0640*\u0641\u0640*\u0633\u0640*\u062C\u0640*\u064A\u0640*|purple",random:"\u0640*\u0639\u0640*\u0634\u0640*\u0648\u0640*\u0627\u0640*\u0626\u0640*\u064A\u0640*|random",range:"\u0640*\u0646\u0640*\u0637\u0640*\u0627\u0640*\u0642\u0640*|range",red:"\u0640*\u0627\u0640*\u062D\u0640*\u0645\u0640*\u0631\u0640*|red",remove:"\u0640*\u0627\u0640*\u0632\u0640*\u0644\u0640*|remove",repeat:"\u0640*\u0643\u0640*\u0631\u0640*\u0631\u0640*|repeat",return:"\u0640*r\u0640*e\u0640*t\u0640*u\u0640*r\u0640*n\u0640*|return",right:"\u0640*\u064A\u0640*\u0645\u0640*\u064A\u0640*\u0646\u0640*|right",sleep:"\u0640*\u0627\u0640*\u0646\u0640*\u062A\u0640*\u0638\u0640*\u0631\u0640*|sleep",step:"\u0640*\u062E\u0640*\u0637\u0640*\u0648\u0640*\u0629\u0640*|step",times:"\u0640*\u0645\u0640*\u0631\u0640*\u0629\u0640*|times",to:"\u0640*\u0627\u0640*\u0644\u0640*\u0649\u0640*|to",to_list:"\u0640*\u0627\u0640*\u0644\u0640*\u0649\u0640*|to",turn:"\u0640*\u0627\u0640*\u0633\u0640*\u062A\u0640*\u062F\u0640*\u0631\u0640*|turn",while:"\u0640*\u0628\u0640*\u064A\u0640*\u0646\u0640*\u0645\u0640*\u0627\u0640*|while",white:"\u0640*\u0627\u0640*\u0628\u0640*\u064A\u0640*\u0636\u0640*|white",with:"\u0640*w\u0640*i\u0640*t\u0640*h\u0640*|with",yellow:"\u0640*\u0627\u0640*\u0635\u0640*\u0641\u0640*\u0631\u0640*|yellow",DIGIT:"0\u06601\u06612\u06623\u06634\u06645\u06656\u06667\u06678\u06689\u0669"},bg:{add:"\u0434\u043E\u0431\u0430\u0432\u0438|add",and:"\u0438|and",ask:"\u043F\u043E\u043F\u0438\u0442\u0430\u0439|ask",at:"\u0432|at",black:"\u0447\u0435\u0440\u043D\u043E|black",blue:"\u0441\u0438\u043D\u044C\u043E|blue",brown:"\u043A\u0430\u0444\u044F\u0432\u043E|brown",call:"\u0438\u0437\u0432\u0438\u043A\u0430\u0439|call",clear:"\u0438\u0437\u0447\u0438\u0441\u0442\u0438|clear",color:"\u0446\u0432\u044F\u0442|color",comma:",",def:"\u0434\u0435\u0444|def",define:"\u0434\u0435\u0444\u0438\u043D\u0438\u0440\u0430\u0439|define",echo:"\u043F\u043E\u043A\u0430\u0436\u0438|echo",elif:"\u0438\u043D\u0430\u0447\u0435 \u0430\u043A\u043E|elif",else:"\u0438\u043D\u0430\u0447\u0435|else",for:"\u0437\u0430|for",forward:"\u043D\u0430\u043F\u0440\u0435\u0434|forward",from:"\u043E\u0442|from",gray:"\u0441\u0438\u0432\u043E|gray",green:"\u0437\u0435\u043B\u0435\u043D\u043E|green",if:"\u0430\u043A\u043E|if",in:"\u0432|in",input:"\u0432\u044A\u0432\u0435\u0436\u0434\u0430\u043D\u0435|input",is:"\u0435|is",left:"\u043B\u044F\u0432\u043E|left",length:"\u0434\u044A\u043B\u0436\u0438\u043D\u0430|length",or:"\u0438\u043B\u0438|or",orange:"\u043E\u0440\u0430\u043D\u0436\u0435\u0432\u043E|orange",pink:"\u0440\u043E\u0437\u043E\u0432\u043E|pink",pressed:"\u043D\u0430\u0442\u0438\u0441\u043D\u0430\u0442|pressed",print:"\u043F\u0440\u0438\u043D\u0442\u0438\u0440\u0430\u0439|print",purple:"\u043B\u0438\u043B\u0430\u0432\u043E|purple",random:"\u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u043D\u043E|random",range:"\u043E\u0431\u0445\u0432\u0430\u0442|range",red:"\u0447\u0435\u0440\u0432\u0435\u043D\u043E|red",remove:"\u043F\u0440\u0435\u043C\u0430\u0445\u043D\u0438|remove",repeat:"\u043F\u043E\u0432\u0442\u043E\u0440\u0438|repeat",return:"\u0432\u044A\u0440\u043D\u0438|return",right:"\u0434\u044F\u0441\u043D\u043E|right",sleep:"\u0441\u043F\u0438|sleep",step:"\u0441\u0442\u044A\u043F\u043A\u0430|step",times:"\u043F\u044A\u0442\u0438|times",to:"\u0434\u043E|to",to_list:"\u0434\u043E|to",turn:"\u0437\u0430\u0432\u0438\u0439|turn",while:"\u0434\u043E\u043A\u0430\u0442\u043E|while",white:"\u0431\u044F\u043B\u043E|white",with:"\u0441/\u0441\u044A\u0441|with",yellow:"\u0436\u044A\u043B\u0442\u043E|yellow",DIGIT:"0123456789"},bn:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},ca:{add:"afegir|add",and:"i|and",ask:"preguntar|ask",at:"a posici\xF3|at",black:"negre|black",blue:"blau|blue",brown:"marr\xF3|brown",call:"call",clear:"Neteja|clear",color:"color",comma:",",def:"def",define:"define",echo:"mostrar|echo",elif:"si no si|elif",else:"sino|else",for:"per a cada|for",forward:"avan\xE7ar|forward",from:"de|from",gray:"gris|gray",green:"verd|green",if:"si|if",in:"dins de|in",input:"entrada|input",is:"\xE9s|is",left:"esquerra|left",length:"mida|length",or:"o|or",orange:"taronja|orange",pink:"rosa|pink",pressed:"pitjat|pressed",print:"imprimir|print",purple:"violeta|purple",random:"aleatori|random",range:"seq\xFC\xE8ncia|range",red:"vermell|red",remove:"esborrar|remove",repeat:"repetir|repeat",return:"return",right:"dreta|right",sleep:"dormir|sleep",step:"pas|step",times:"vegades|times",to:"fins|to",to_list:"a|to",turn:"girar|turn",while:"mentre|while",white:"blanc|white",with:"with",yellow:"groc|yellow",DIGIT:"0123456789"},cs:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},cy:{add:"adio|add",and:"a|and",ask:"gofyn|ask",at:"ar|at",black:"du|black",blue:"glas|blue",brown:"brown",call:"call",clear:"clear",color:"lliw|color",comma:",",def:"def",define:"define",echo:"adleisio|echo",elif:"elif",else:"arall|else",for:"ar gyfer|for",forward:"ymlaen|forward",from:"o|from",gray:"llwyd|gray",green:"gwyrdd|green",if:"os|if",in:"mewn|in",input:"mewnbwn|input",is:"yw|is",left:"chwith|left",length:"hyd|length",or:"neu|or",orange:"oren|orange",pink:"pinc|pink",pressed:"gwasgu|pressed",print:"argraffu|print",purple:"porffor|purple",random:"hap|random",range:"ystod|range",red:"coch|red",remove:"dileu|remove",repeat:"ailadrodd|repeat",return:"return",right:"dde|right",sleep:"cysgu|sleep",step:"cam|step",times:"gwaith|times",to:"i|to",to_list:"i|to",turn:"troi|turn",while:"tra|while",white:"gwyn|white",with:"with",yellow:"melyn|yellow",DIGIT:"0123456789"},da:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},de:{add:"addiere|add",and:"und|and",ask:"frage|ask",at:"an|at",black:"Schwarz|black",blue:"Blau|blue",brown:"Braun|brown",call:"call",clear:"abwischen|clear",color:"farbe|color",comma:",",def:"def",define:"define",echo:"echo",elif:"sofalls|elif",else:"sonst|else",for:"f\xFCr|for",forward:"vorw\xE4rts|forward",from:"aus|from",gray:"Grau|gray",green:"Gr\xFCn|green",if:"falls|if",in:"in",input:"eingabe|input",is:"ist|is",left:"links|left",length:"l\xE4nge|length",or:"oder|or",orange:"Orange|orange",pink:"Pink|pink",pressed:"gedr\xFCckt|pressed",print:"drucke|print",purple:"Lila|purple",random:"zuf\xE4llig|random",range:"bereich|range",red:"Rot|red",remove:"entferne|remove",repeat:"wiederhole|repeat",return:"return",right:"rechts|right",sleep:"schlafe|sleep",step:"schritt|step",times:"mal|times",to:"bis|to",to_list:"zu|to",turn:"drehe|turn",while:"solange|while",white:"Wei\xDF|white",with:"with",yellow:"Gelb|yellow",DIGIT:"0123456789"},el:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},en:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},eo:{add:"aldonu|add",and:"kaj|and",ask:"demandu|ask",at:"la\u016D|at",black:"nigra|black",blue:"blua|blue",brown:"bruna|brown",call:"call",clear:"clear",color:"koloro|color",comma:",",def:"def",define:"define",echo:"e\u0125u|echo",elif:"alie se|elif",else:"alie|else",for:"por|for",forward:"anta\u016Den|forward",from:"el|from",gray:"griza|gray",green:"verda|green",if:"se|if",in:"en|in",input:"enigu|input",is:"estas|is",left:"maldekstren|left",length:"longo|length",or:"a\u016D|or",orange:"oran\u011Da|orange",pink:"rozkolora|pink",pressed:"pressed",print:"presu|print",purple:"purpura|purple",random:"hazardo|random",range:"intervalo|range",red:"ru\u011Da|red",remove:"forigu|remove",repeat:"ripetu|repeat",return:"return",right:"dekstren|right",sleep:"dormu|sleep",step:"pa\u015Do|step",times:"fojojn|times",to:"\u011Dis|to",to_list:"al|to",turn:"turnu|turn",while:"dum|while",white:"blanka|white",with:"with",yellow:"flava|yellow",DIGIT:"0123456789"},es:{add:"a\xF1adir|add",and:"y|and",ask:"preguntar|ask",at:"en|at",black:"negro|black",blue:"azul|blue",brown:"marr\xF3n|brown",call:"call",clear:"limpiar|clear",color:"color",comma:",",def:"def",define:"define",echo:"eco|echo",elif:"sinosi|elif",else:"sino|else",for:"para|for",forward:"adelante|forward",from:"de|from",gray:"gris|gray",green:"verde|green",if:"si|if",in:"en|in",input:"entrada|input",is:"es|is",left:"izquierda|left",length:"longitud|length",or:"o|or",orange:"naranja|orange",pink:"rosa|pink",pressed:"presionada|pressed",print:"imprimir|print",purple:"p\xFArpura|purple",random:"aleatorio|random",range:"rango|range",red:"rojo|red",remove:"borrar|remove",repeat:"repetir|repeat",return:"return",right:"derecha|right",sleep:"dormir|sleep",step:"paso|step",times:"veces|times",to:"a|to",to_list:"a|to",turn:"girar|turn",while:"mientras|while",white:"blanco|white",with:"with",yellow:"amarillo|yellow",DIGIT:"0123456789"},et:{add:"lisa|add",and:"ja|and",ask:"k\xFCsi|ask",at:"t\xE4itsa|at",black:"must|black",blue:"sinine|blue",brown:"pruun|brown",call:"call",clear:"clear",color:"v\xE4rv|color",comma:",",def:"def",define:"define",echo:"peegelda|echo",elif:"muidukui|elif",else:"muidu|else",for:"jaoks|for",forward:"edasi|forward",from:"nimistust|from",gray:"hall|gray",green:"roheline|green",if:"kui|if",in:"nimistus|in",input:"sisesta|input",is:"on|is",left:"vasakule|left",length:"pikkus|length",or:"v\xF5i|or",orange:"oran\u017E|orange",pink:"roosa|pink",pressed:"pressed",print:"prindi|print",purple:"lilla|purple",random:"juhuslikult|random",range:"vahemik|range",red:"punane|red",remove:"kustuta|remove",repeat:"korda|repeat",return:"return",right:"paremale|right",sleep:"oota|sleep",step:"sammuga|step",times:"korda|times",to:"kuni|to",to_list:"nimistusse|to",turn:"p\xF6\xF6ra|turn",while:"senikui|while",white:"valge|white",with:"with",yellow:"kollane|yellow",DIGIT:"0123456789"},fa:{add:"add",and:"and",ask:"\u0628\u067E\u0631\u0633|ask",at:"at",black:"\u0633\u06CC\u0627\u0647|black",blue:"\u0622\u0628\u06CC|blue",brown:"\u0642\u0647\u0648\u0647 \u0627\u06CC|brown",call:"call",clear:"clear",color:"\u0631\u0646\u06AF|color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"\u0628\u0647 \u062C\u0644\u0648|forward",from:"from",gray:"\u062E\u0627\u06A9\u0633\u062A\u0631\u06CC|gray",green:"\u0633\u0628\u0632|green",if:"if",in:"in",input:"input",is:"is",left:"\u0686\u067E|left",length:"length",or:"or",orange:"\u0646\u0627\u0631\u0646\u062C\u06CC|orange",pink:"\u0635\u0648\u0631\u062A\u06CC|pink",pressed:"pressed",print:"\u0686\u0627\u067E|print",purple:"\u0628\u0646\u0641\u0634|purple",random:"random",range:"range",red:"\u0642\u0631\u0645\u0632|red",remove:"remove",repeat:"repeat",return:"return",right:"\u0631\u0627\u0633\u062A|right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"\u062F\u0648\u0631 \u0628\u0632\u0646|turn",while:"while",white:"\u0633\u0641\u06CC\u062F|white",with:"with",yellow:"\u0632\u0631\u062F|yellow",DIGIT:"0123456789"},fi:{add:"lis\xE4\xE4|add",and:"ja|and",ask:"kysy|ask",at:"ota|at",black:"musta|black",blue:"sininen|blue",brown:"ruskea|brown",call:"call",clear:"nollaa|clear",color:"v\xE4ri|color",comma:",",def:"def",define:"define",echo:"kaiku|echo",elif:"muutenjos|elif",else:"muuten|else",for:"jokaiselle|for",forward:"eteenp\xE4in|forward",from:"listasta|from",gray:"harmaa|gray",green:"vihre\xE4|green",if:"jos|if",in:"listassa|in",input:"sy\xF6te|input",is:"on|is",left:"vasen|left",length:"pituus|length",or:"tai|or",orange:"oranssi|orange",pink:"vaaleanpunainen|pink",pressed:"painettu|pressed",print:"tulosta|print",purple:"violetti|purple",random:"satunnainen|random",range:"v\xE4li|range",red:"punainen|red",remove:"poista|remove",repeat:"toista|repeat",return:"return",right:"oikea|right",sleep:"nuku|sleep",step:"askel|step",times:"kertaa|times",to:"asti|to",to_list:"listaksi|to",turn:"k\xE4\xE4nny|turn",while:"kun|while",white:"valkoinen|white",with:"with",yellow:"keltainen|yellow",DIGIT:"0123456789"},fr:{add:"ajoute|add",and:"et|and",ask:"demande|ask",at:"au|at",black:"noir|black",blue:"bleu|blue",brown:"marron|brown",call:"call",clear:"effacer|clear",color:"couleur|color",comma:",",def:"def",define:"define",echo:"dis|echo",elif:"sinon si|elif",else:"sinon|else",for:"pour|for",forward:"avance|forward",from:"de|from",gray:"gris|gray",green:"vert|green",if:"si|if",in:"dans|in",input:"demande|input",is:"est|is",left:"gauche|left",length:"longueur|length",or:"ou|or",orange:"orange",pink:"rose|pink",pressed:"press\xE9|pressed",print:"affiche|print",purple:"violet|purple",random:"hasard|random",range:"intervalle|range",red:"rouge|red",remove:"supprime|remove",repeat:"r\xE9p\xE8te|repete|repeat",return:"return",right:"droite|right",sleep:"dors|sleep",step:"pas|step",times:"fois|times",to:"\xE0|to",to_list:"\xE0|to",turn:"tourne|turn",while:"tant que|while",white:"blanc|white",with:"with",yellow:"jaune|yellow",DIGIT:"0123456789"},fy:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},he:{add:"\u05D4\u05D5\u05E1\u05E3|add",and:"\u05D5\u05D2\u05DD|and",ask:"\u05E9\u05D0\u05DC|ask",at:"\u05D1|at",black:"\u05E9\u05D7\u05D5\u05E8|black",blue:"\u05DB\u05D7\u05D5\u05DC|blue",brown:"\u05D7\u05D5\u05DD|brown",call:"call",clear:"clear",color:"\u05E6\u05D1\u05E2|color",comma:",",def:"def",define:"define",echo:"\u05D4\u05D3\u05D4\u05D3|echo",elif:"\u05D0\u05D7\u05E8\u05EA\u05D0\u05DD|elif",else:"\u05D0\u05D7\u05E8\u05EA|else",for:"\u05DC\u05DB\u05DC|for",forward:"\u05E7\u05D3\u05D9\u05DE\u05D4|forward",from:"\u05DE|from",gray:"\u05D0\u05E4\u05D5\u05E8|gray",green:"\u05D9\u05E8\u05D5\u05E7|green",if:"\u05D0\u05DD|if",in:"\u05D1\u05EA\u05D5\u05DA|in",input:"\u05E7\u05DC\u05D8|input",is:"\u05D4\u05D5\u05D0|is",left:"\u05E9\u05DE\u05D0\u05DC\u05D4|left",length:"\u05D0\u05D5\u05E8\u05DA|length",or:"\u05D0\u05D5|or",orange:"\u05DB\u05EA\u05D5\u05DD|orange",pink:"\u05D5\u05E8\u05D5\u05D3|pink",pressed:"pressed",print:"\u05D4\u05D3\u05E4\u05E1|print",purple:"\u05E1\u05D2\u05D5\u05DC|purple",random:"\u05D0\u05E7\u05E8\u05D0\u05D9|random",range:"\u05D8\u05D5\u05D5\u05D7|range",red:"\u05D0\u05D3\u05D5\u05DD|red",remove:"\u05D4\u05E1\u05E8|remove",repeat:"\u05D7\u05D6\u05D5\u05E8|repeat",return:"return",right:"\u05D9\u05DE\u05D9\u05E0\u05D4|right",sleep:"\u05D4\u05DE\u05EA\u05DF|sleep",step:"\u05E6\u05E2\u05D3|step",times:"\u05E4\u05E2\u05DE\u05D9\u05DD|times",to:"\u05E2\u05D3|to",to_list:"\u05D0\u05DC|to",turn:"\u05E4\u05E0\u05D4|turn",while:"\u05DB\u05DC\u05E2\u05D5\u05D3|while",white:"\u05DC\u05D1\u05DF|white",with:"with",yellow:"\u05E6\u05D4\u05D5\u05D1|yellow",DIGIT:"0123456789"},hi:{add:"\u091C\u094B\u0921\u093C\u0928\u093E|add",and:"\u0914\u0930|and",ask:"\u092A\u0942\u091B\u0947\u0902|ask",at:"\u092A\u0930|at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"\u0917\u0942\u0902\u091C|echo",elif:"\u090F\u0932\u093F\u092B|elif",else:"\u0905\u0928\u094D\u092F\u0925\u093E|else",for:"\u0915\u0947 \u0932\u093F\u092F\u0947|for",forward:"\u0906\u0917\u0947|forward",from:"\u0938\u0947|from",gray:"gray",green:"green",if:"\u0905\u0917\u0930|if",in:"\u092E\u0947\u0902|in",input:"\u0907\u0928\u092A\u0941\u091F|input",is:"\u0939\u0948|is",left:"left",length:"\u0932\u0902\u092C\u093E\u0908|length",or:"\u092F\u093E|or",orange:"orange",pink:"pink",pressed:"pressed",print:"\u092A\u094D\u0930\u093F\u0902\u091F|print",purple:"purple",random:"\u0905\u0928\u093F\u092F\u092E\u093F\u0924|random",range:"\u0936\u094D\u0930\u0947\u0923\u0940|range",red:"red",remove:"\u0939\u091F\u093E\u0928\u093E|remove",repeat:"\u0926\u094B\u0939\u0930\u093E\u0928\u093E|repeat",return:"return",right:"right",sleep:"\u0928\u0940\u0902\u0926|sleep",step:"\u0915\u093C\u0926\u092E|step",times:"\u092C\u093E\u0930|times",to:"\u0938\u0947|to",to_list:"\u0938\u0947|to",turn:"\u092E\u094B\u0921\u093C|turn",while:"\u0935\u094D\u0939\u093E\u0907\u0932|while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},hu:{add:"besz\xFAr|add",and:"\xE9s|and",ask:"k\xE9rdez|ask",at:"list\xE1b\xF3l|at",black:"fekete|black",blue:"k\xE9k|blue",brown:"barna|brown",call:"call",clear:"t\xF6rl\xE9s|clear",color:"sz\xEDn|color",comma:",",def:"def",define:"define",echo:"ut\xE1noz|echo",elif:"egybk-ha|elif",else:"egy\xE9bk\xE9nt|else",for:"minden|for",forward:"el\u0151re|forward",from:"ebb\u0151l|from",gray:"sz\xFCrke|gray",green:"z\xF6ld|green",if:"ha|if",in:"eleme|in",input:"bek\xE9r|input",is:"egyenl\u0151|is",left:"balra|left",length:"hossz|length",or:"vagy|or",orange:"narancs|orange",pink:"pink",pressed:"lenyomva|pressed",print:"ki\xEDr|print",purple:"lila|purple",random:"random",range:"szakasz|range",red:"piros|red",remove:"kivesz|remove",repeat:"ism\xE9teld|repeat",return:"return",right:"jobbra|right",sleep:"szundi|sleep",step:"l\xE9p\xE9senk\xE9nt|step",times:"alkalommal|times",to:"t\u0151l|to",to_list:"ebbe|to",turn:"fordul|turn",while:"am\xEDg|while",white:"feh\xE9r|white",with:"with",yellow:"s\xE1rga|yellow",DIGIT:"0123456789"},id:{add:"tambah|add",and:"dan|and",ask:"tanya|ask",at:"secara|at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"warna|color",comma:",",def:"def",define:"define",echo:"gaungkan|echo",elif:"lain_jika|elif",else:"lainnya|else",for:"untuk|for",forward:"maju|forward",from:"dari|from",gray:"gray",green:"green",if:"jika|if",in:"dalam|in",input:"masukan|input",is:"adalah|is",left:"kiri|left",length:"panjang|length",or:"atau|or",orange:"orange",pink:"pink",pressed:"pressed",print:"cetak|print",purple:"purple",random:"acak|random",range:"batasan|range",red:"red",remove:"hapus|remove",repeat:"ulangi|repeat",return:"return",right:"kanan|right",sleep:"tidur|sleep",step:"langkah|step",times:"kali|times",to:"ke|to",to_list:"ke|to",turn:"belok|turn",while:"selama|while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},it:{add:"add",and:"e|and",ask:"chiedi|ask",at:"at",black:"nero|black",blue:"blu|blue",brown:"marrone|brown",call:"call",clear:"clear",color:"colore|color",comma:",",def:"def",define:"define",echo:"eco|echo",elif:"altrimenti se|elif",else:"altrimenti|else",for:"for",forward:"avanti|forward",from:"da|from",gray:"grigio|gray",green:"verde|green",if:"if",in:"in",input:"input",is:"is",left:"sinistra|left",length:"lunghezza|length",or:"or",orange:"arancione|orange",pink:"rosa|pink",pressed:"pressed",print:"stampa|print",purple:"viola|purple",random:"a caso|random",range:"intervallo|range",red:"rosso|red",remove:"rimuovi|remove",repeat:"ripeti|repeat",return:"return",right:"right",sleep:"dormi|sleep",step:"passo|step",times:"volte|times",to:"to",to_list:"to",turn:"gira|turn",while:"mentre|while",white:"bianco|white",with:"with",yellow:"giallo|yellow",DIGIT:"0123456789"},ja:{add:"\u305F\u3059|add",and:"and",ask:"\u304D\u3051|ask",at:"at",black:"\u304F\u308D|black",blue:"\u3042\u304A|blue",brown:"\u3061\u3083\u3044\u308D|brown",call:"call",clear:"clear",color:"\u3044\u308D|color",comma:",",def:"def",define:"define",echo:"\u307E\u306D|echo",elif:"elif",else:"else",for:"for",forward:"\u3059\u3059\u3081|forward",from:"from",gray:"\u306F\u3044\u3044\u308D|gray",green:"\u307F\u3069\u308A|green",if:"if",in:"in",input:"input",is:"is",left:"\u3072\u3060\u308A|left",length:"length",or:"or",orange:"\u304A\u308C\u3093\u3058|orange",pink:"\u3074\u3093\u304F|pink",pressed:"pressed",print:"\u304B\u3051|print",purple:"\u3080\u3089\u3055\u304D|purple",random:"random",range:"range",red:"\u3042\u304B|red",remove:"remove",repeat:"repeat",return:"return",right:"\u307F\u304E|right",sleep:"\u3084\u3059\u3081|sleep",step:"step",times:"\u304B\u3044|times",to:"to",to_list:"to",turn:"\u307E\u308F\u308C|turn",while:"while",white:"\u3057\u308D|white",with:"with",yellow:"\u304D\u3044\u308D|yellow",DIGIT:"0123456789"},kmr:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},ko:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},nb_NO:{add:"legg|add",and:"og|and",ask:"sp\xF8r|ask",at:"p\xE5|at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"ekko|echo",elif:"elhvis|elif",else:"ellers|else",for:"for",forward:"frem|forward",from:"fra|from",gray:"gray",green:"green",if:"hvis|if",in:"i|in",input:"inndata|input",is:"er|is",left:"venstre|left",length:"lengde|length",or:"eller|or",orange:"orange",pink:"pink",pressed:"pressed",print:"skriv|print",purple:"purple",random:"tilfeldig|random",range:"sekvens|range",red:"red",remove:"fjern|remove",repeat:"gjenta|repeat",return:"return",right:"h\xF8yre|right",sleep:"sov|sleep",step:"steg|step",times:"ganger|times",to:"til|to",to_list:"til|to",turn:"snu|turn",while:"mens|while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},nl:{add:"voeg|add",and:"en|and",ask:"vraag|ask",at:"op|at",black:"zwart|black",blue:"blauw|blue",brown:"bruin|brown",call:"call",clear:"wis|clear",color:"kleur|color",comma:",",def:"def",define:"define",echo:"echo",elif:"alsanders|elif",else:"anders|else",for:"voor|for",forward:"vooruit|forward",from:"uit|from",gray:"grijs|gray",green:"groen|green",if:"als|if",in:"in",input:"invoer|input",is:"is",left:"links|left",length:"lengte|length",or:"of|or",orange:"oranje|orange",pink:"roze|pink",pressed:"ingedrukt|pressed",print:"print",purple:"paars|purple",random:"willekeurig|random",range:"bereik|range",red:"rood|red",remove:"verwijder|remove",repeat:"herhaal|repeat",return:"return",right:"rechts|right",sleep:"slaap|sleep",step:"stap|step",times:"keer|times",to:"tot|to",to_list:"toe aan|to",turn:"draai|turn",while:"zolang|while",white:"wit|white",with:"with",yellow:"geel|yellow",DIGIT:"0123456789"},pa_PK:{add:"\u062F\u06BE\u0646|add",and:"\u062A\u06D2|and",ask:"\u0633\u0648\u0627\u0644|ask",at:"\u0633\u062A\u06BE\u062A\u06CC|at",black:"\u06A9\u0627\u0644\u0627|black",blue:"\u0646\u06CC\u0644\u0627|blue",brown:"\u0628\u06BE\u0648\u0631\u0627|brown",call:"call",clear:"clear",color:"\u0631\u0646\u06AF|color",comma:"\u060C|,",def:"def",define:"define",echo:"\u0641\u06CC\u0631|echo",elif:"\u06C1\u0648\u0631|elif",else:"\u0648\u06A9\u06BE\u0631\u0627|else",for:"\u062C\u062F\u0648\u06BA|for",forward:"\u0627\u06AF\u06D2|forward",from:"\u0633\u0631\u0648\u062A|from",gray:"\u0633\u0644\u06CC\u0679\u06CC|gray",green:"\u06C1\u0631\u0627|green",if:"\u062C\u06D2|if",in:"\u0627\u0646\u062F\u0631|in",input:"\u0627\u06CC\u0646\u067E\u0679|input",is:"\u0633\u0645\u0627\u0646|is",left:"\u06A9\u06BE\u0628\u06D2|left",length:"\u0644\u0645\u0628\u0627\u0626\u06CC|length",or:"\u06CC\u0627|or",orange:"\u0633\u0646\u062A\u0631\u0627|orange",pink:"\u06AF\u0644\u0627\u0628\u06CC|pink",pressed:"pressed",print:"\u0686\u067E\u0627\u0626\u06CC|print",purple:"\u062C\u0627\u0645\u0646\u06CC|purple",random:"\u0631\u0644\u0648\u0627\u0646|random",range:"\u0633\u0644\u0633\u0644\u06C1|range",red:"\u0644\u0627\u0644|red",remove:"\u0645\u0679\u0627\u06A9\u06D2|remove",repeat:"\u062F\u06C1\u0631\u0627|repeat",return:"return",right:"\u0633\u062C\u06D2|right",sleep:"\u0646\u06CC\u0646\u062F|sleep",step:"\u0633\u0637\u0631|step",times:"\u0636\u0631\u0628|times",to:"\u0645\u0646\u0632\u0644|to",to_list:"\u0645\u0646\u0632\u0644|to",turn:"\u0645\u0648\u0691\u0646|turn",while:"\u062C\u062F\u06A9\u06C1|while",white:"\u0686\u0679\u0627|white",with:"with",yellow:"\u067E\u06CC\u0644\u0627|yellow",DIGIT:"0\u06F01\u06F12\u06F23\u06F34\u06F45\u06F56\u06F67\u06F78\u06F89\u06F9"},pl:{add:"dodaj|add",and:"i|and",ask:"zapytaj|ask",at:"pozycja|at",black:"czarny|black",blue:"niebieski|blue",brown:"br\u0105zowy|brown",call:"call",clear:"wyczy\u015B\u0107|clear",color:"kolor|color",comma:",",def:"def",define:"define",echo:"do\u0142\u0105cz|echo",elif:"albo|elif",else:"inaczej|else",for:"dla|for",forward:"naprz\xF3d|forward",from:"z|from",gray:"szary|gray",green:"zielony|green",if:"je\u017Celi|if",in:"w|in",input:"wprowad\u017A|input",is:"to|is",left:"lewo|left",length:"d\u0142ugo\u015B\u0107|length",or:"lub|or",orange:"pomara\u0144czowy|orange",pink:"r\xF3\u017Cowy|pink",pressed:"naci\u015Bni\u0119ty|pressed",print:"napisz|print",purple:"fioletowy|purple",random:"losowa|random",range:"zakres|range",red:"czerwony|red",remove:"usu\u0144|remove",repeat:"powt\xF3rz|repeat",return:"return",right:"prawo|right",sleep:"\u015Bpij|sleep",step:"krok|step",times:"razy|times",to:"do|to",to_list:"do|to",turn:"obr\xF3\u0107|turn",while:"dop\xF3ki|while",white:"bia\u0142y|white",with:"with",yellow:"\u017C\xF3\u0142ty|yellow",DIGIT:"0123456789"},pt_BR:{add:"some|add",and:"e|and",ask:"pergunte|ask",at:"em|at",black:"preto|black",blue:"azul|blue",brown:"marrom|brown",call:"call",clear:"clear",color:"cor|color",comma:",",def:"def",define:"define",echo:"eco|echo",elif:"sen\xE3ose|elif",else:"sen\xE3o|else",for:"para|for",forward:"adiante|forward",from:"de|from",gray:"cinza|gray",green:"verde|green",if:"se|if",in:"em|in",input:"entrada|input",is:"\xE9|is",left:"esquerda|left",length:"comprimento|length",or:"ou|or",orange:"laranja|orange",pink:"rosa|pink",pressed:"pressed",print:"imprima|print",purple:"roxo|purple",random:"aleat\xF3rio|random",range:"intervalo|range",red:"vermelho|red",remove:"remova|remove",repeat:"repita|repeat",return:"return",right:"direita|right",sleep:"durma|sleep",step:"passo|step",times:"vezes|times",to:"para|to",to_list:"at\xE9|to",turn:"gire|turn",while:"enquanto|while",white:"branco|white",with:"with",yellow:"amarelo|yellow",DIGIT:"0123456789"},pt_PT:{add:"adicionar|add",and:"and",ask:"perguntar|ask",at:"em|at",black:"preto|black",blue:"azul|blue",brown:"castanho|brown",call:"call",clear:"clear",color:"cor|color",comma:",",def:"def",define:"define",echo:"eco|echo",elif:"elif",else:"else",for:"for",forward:"avan\xE7ar|forward",from:"de|from",gray:"cinzento|gray",green:"verde|green",if:"if",in:"in",input:"input",is:"is",left:"esquerda|left",length:"comprimento|length",or:"or",orange:"cor de laranja|orange",pink:"cor de rosa|pink",pressed:"pressed",print:"imprimir|print",purple:"roxo|purple",random:"random",range:"intervalo|range",red:"vermelho|red",remove:"remover|remove",repeat:"repetir|repeat",return:"return",right:"direita|right",sleep:"dormir|sleep",step:"passo|step",times:"vezes|times",to:"to",to_list:"para|to",turn:"virar|turn",while:"enquanto|while",white:"branco|white",with:"with",yellow:"amarelo|yellow",DIGIT:"0123456789"},ro:{add:"adun\u0103|add",and:"si|and",ask:"\xEEntreab\u0103|ask",at:"la|at",black:"negru|black",blue:"albastru|blue",brown:"maro|brown",call:"call",clear:"\u0219terge|clear",color:"culoare|color",comma:",",def:"def",define:"define",echo:"echo",elif:"altfel dac\u0103|elif",else:"else",for:"pentru|for",forward:"\xEEnainte|forward",from:"de la|from",gray:"gri|gray",green:"verde|green",if:"if",in:"in",input:"intrare|input",is:"is",left:"st\xE2nga|left",length:"lungime|length",or:"sau|or",orange:"portocaliu|orange",pink:"roz|pink",pressed:"ap\u0103sat|pressed",print:"print",purple:"mov|purple",random:"aleatoriu|random",range:"interval|range",red:"ro\u0219u|red",remove:"elimin\u0103|remove",repeat:"repet\u0103|repeat",return:"return",right:"dreapta|right",sleep:"sleep",step:"pas|step",times:"inmul\u021Bit|times",to:"c\u0103tre|to",to_list:"c\u0103tre|to",turn:"intoarce|turn",while:"\xEEn timp ce|while",white:"alb|white",with:"with",yellow:"galben|yellow",DIGIT:"0123456789"},ru:{add:"\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C|add",and:"\u0438|and",ask:"\u0437\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u044C|ask",at:"\u0432|at",black:"\u0447\u0451\u0440\u043D\u044B\u0439|black",blue:"\u0441\u0438\u043D\u0438\u0439|blue",brown:"\u043A\u043E\u0440\u0438\u0447\u043D\u0435\u0432\u044B\u0439|brown",call:"call",clear:"\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C|clear",color:"\u0446\u0432\u0435\u0442|color",comma:",",def:"def",define:"define",echo:"\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C|echo",elif:"\u0438\u043D\u0430\u0447\u0435, \u0435\u0441\u043B\u0438|elif",else:"\u0438\u043D\u0430\u0447\u0435|else",for:"\u0434\u043B\u044F|for",forward:"\u0432\u043F\u0435\u0440\u0451\u0434|forward",from:"\u0438\u0437|from",gray:"\u0441\u0435\u0440\u044B\u0439|gray",green:"\u0437\u0435\u043B\u0451\u043D\u044B\u0439|green",if:"\u0435\u0441\u043B\u0438|if",in:"\u0432|in",input:"\u0432\u0432\u043E\u0434|input",is:"\u044D\u0442\u043E|is",left:"\u043D\u0430\u043B\u0435\u0432\u043E|left",length:"\u0434\u043B\u0438\u043D\u0430|length",or:"\u0438\u043B\u0438|or",orange:"\u043E\u0440\u0430\u043D\u0436\u0435\u0432\u044B\u0439|orange",pink:"\u0440\u043E\u0437\u043E\u0432\u044B\u0439|pink",pressed:"\u043D\u0430\u0436\u043C\u0438\u0442\u0435|pressed",print:"\u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C|print",purple:"\u043F\u0443\u0440\u043F\u0443\u0440\u043D\u044B\u0439|purple",random:"\u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u043C|random",range:"\u043F\u0440\u043E\u043C\u0435\u0436\u0443\u0442\u043E\u043A|range",red:"\u043A\u0440\u0430\u0441\u043D\u044B\u0439|red",remove:"\u0443\u0434\u0430\u043B\u0438\u0442\u044C|remove",repeat:"\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C|repeat",return:"return",right:"\u043D\u0430\u043F\u0440\u0430\u0432\u043E|right",sleep:"\u0437\u0430\u0441\u043D\u0443\u0442\u044C|sleep",step:"\u0448\u0430\u0433|step",times:"\u0440\u0430\u0437|times",to:"\u0434\u043E|to",to_list:"\u0432|to",turn:"\u043F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C|turn",while:"\u043F\u043E\u043A\u0430|while",white:"\u0431\u0435\u043B\u044B\u0439|white",with:"with",yellow:"\u0436\u0451\u043B\u0442\u044B\u0439|yellow",DIGIT:"0123456789"},sq:{add:"shtoni|add",and:"dhe|and",ask:"pyet|ask",at:"n\xEB|at",black:"zez\xEB|black",blue:"blu|blue",brown:"kafe|brown",call:"thirr|call",clear:"pastro|clear",color:"ngjyr\xEB|color",comma:",",def:"def",define:"defino|define",echo:"p\xEBrs\xEBrit|echo",elif:"nendryshe|elif",else:"ndryshe|else",for:"p\xEBr|for",forward:"p\xEBrpara|forward",from:"nga|from",gray:"gri|gray",green:"jeshile|green",if:"n\xEBse|if",in:"n\xEB|in",input:"hyrje|input",is:"\xEBsht\xEB|is",left:"majtas|left",length:"gjat\xEBsia|length",or:"ose|or",orange:"portokalli|orange",pink:"roz\xEB|pink",pressed:"shtypur|pressed",print:"printo|print",purple:"vjollc\xEB|purple",random:"rast\xEBsi|random",range:"varg|range",red:"kuqe|red",remove:"hiqni|remove",repeat:"p\xEBrs\xEBrit|repeat",return:"rikthe|return",right:"drejt\xEB|right",sleep:"fle|sleep",step:"hap|step",times:"her|times",to:"deri|to",to_list:"deri|to",turn:"kthes\xEB|turn",while:"derisa|while",white:"bardh\xEB|white",with:"me|with",yellow:"verdh\xEB|yellow",DIGIT:"0123456789"},sr:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},sv:{add:"addera|add",and:"och|and",ask:"fr\xE5ga|ask",at:"vid|at",black:"svart|black",blue:"bl\xE5|blue",brown:"brun|brown",call:"anropa|call",clear:"rensa|clear",color:"f\xE4rg|color",comma:",",def:"def",define:"definiera|define",echo:"eko|echo",elif:"anom|elif",else:"annars|else",for:"f\xF6r|for",forward:"fram\xE5t|forward",from:"fr\xE5n|from",gray:"gr\xE5|gray",green:"gr\xF6n|green",if:"om|if",in:"i|in",input:"inmatning|input",is:"\xE4r|is",left:"v\xE4nster|left",length:"l\xE4ngd|length",or:"eller|or",orange:"orange",pink:"rosa|pink",pressed:"nedtryckt|pressed",print:"skriv|print",purple:"lila|purple",random:"slump|random",range:"intervall|range",red:"r\xF6d|red",remove:"radera|remove",repeat:"upprepa|repeat",return:"returnera|return",right:"h\xF6ger|right",sleep:"sov|sleep",step:"steg|step",times:"g\xE5nger|times",to:"till|to",to_list:"till|to",turn:"sv\xE4ng|turn",while:"medan|while",white:"vit|white",with:"med|with",yellow:"gul|yellow",DIGIT:"0123456789"},sw:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},te:{add:"\u0C1C\u0C4B\u0C21\u0C3F\u0C02\u0C1A\u0C41|add",and:"\u0C2E\u0C30\u0C3F\u0C2F\u0C41|and",ask:"\u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F|ask",at:"\u0C35\u0C26\u0C4D\u0C26|at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"\u0C2A\u0C4D\u0C30\u0C24\u0C3F\u0C27\u0C4D\u0C35\u0C28\u0C3F|echo",elif:"\u0C2E\u0C30\u0C4A\u0C15\u0C1F\u0C3F \u0C09\u0C02\u0C1F\u0C47|elif",else:"\u0C32\u0C47\u0C15\u0C2A\u0C4B\u0C24\u0C47|else",for:"\u0C15\u0C4B\u0C38\u0C02|for",forward:"\u0C2E\u0C41\u0C02\u0C26\u0C41\u0C15\u0C41|forward",from:"\u0C28\u0C41\u0C02\u0C21\u0C3F|from",gray:"gray",green:"green",if:"\u0C09\u0C02\u0C1F\u0C47|if",in:"\u092E\u0947\u0C32\u0C4B|in",input:"\u0C07\u0C28\u0C4D\u0C2A\u0C41\u0C1F\u0C4D|input",is:"\u0C09\u0C02\u0C26\u0C3F|is",left:"left",length:"\u0C2A\u0C4A\u0C21\u0C35\u0C41|length",or:"\u0C32\u0C47\u0C26\u0C3E|or",orange:"orange",pink:"pink",pressed:"pressed",print:"\u0C2E\u0C41\u0C26\u0C4D\u0C30\u0C23|print",purple:"purple",random:"\u0C2F\u0C3E\u0C26\u0C43\u0C1A\u0C4D\u0C1B\u0C3F\u0C15\u0C02\u0C17\u0C3E|random",range:"\u0C2A\u0C30\u0C3F\u0C27\u0C3F|range",red:"red",remove:"\u0C24\u0C4A\u0C32\u0C17\u0C3F\u0C02\u0C1A\u0C41|remove",repeat:"\u0C2A\u0C41\u0C28\u0C30\u0C3E\u0C35\u0C43\u0C24\u0C02|repeat",return:"return",right:"right",sleep:"\u0C28\u0C3F\u0C26\u0C4D\u0C30|sleep",step:"\u0C05\u0C21\u0C41\u0C17\u0C41|step",times:"\u0C38\u0C3E\u0C30\u0C4D\u0C32\u0C41|times",to:"\u0C15\u0C41|to",to_list:"\u0C15\u0C41|to",turn:"\u0C2E\u0C32\u0C41\u0C2A\u0C41|turn",while:"\u0C05\u0C2F\u0C3F\u0C24\u0C47|while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},th:{add:"\u0E40\u0E1E\u0E34\u0E48\u0E21|add",and:"\u0E41\u0E25\u0E30|and",ask:"\u0E16\u0E32\u0E21\u0E27\u0E48\u0E32|ask",at:"\u0E41\u0E1A\u0E1A|at",black:"\u0E14\u0E33|black",blue:"\u0E19\u0E49\u0E33\u0E40\u0E07\u0E34\u0E19|blue",brown:"\u0E19\u0E49\u0E33\u0E15\u0E32\u0E25|brown",call:"call",clear:"\u0E25\u0E1A\u0E01\u0E23\u0E30\u0E14\u0E32\u0E19|clear",color:"\u0E2A\u0E35|color",comma:",",def:"def",define:"define",echo:"\u0E1E\u0E39\u0E14|echo",elif:"\u0E2B\u0E23\u0E37\u0E2D\u0E16\u0E49\u0E32|elif",else:"\u0E44\u0E21\u0E48\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E31\u0E49\u0E19|else",for:"\u0E43\u0E2B\u0E49|for",forward:"\u0E40\u0E14\u0E34\u0E19\u0E2B\u0E19\u0E49\u0E32|forward",from:"\u0E08\u0E32\u0E01|from",gray:"\u0E40\u0E17\u0E32|gray",green:"\u0E40\u0E02\u0E35\u0E22\u0E27|green",if:"\u0E16\u0E49\u0E32|if",in:"\u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19|in",input:"\u0E23\u0E31\u0E1A\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25|input",is:"\u0E04\u0E37\u0E2D|is",left:"\u0E0B\u0E49\u0E32\u0E22|left",length:"\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27|length",or:"\u0E2B\u0E23\u0E37\u0E2D|or",orange:"\u0E2A\u0E49\u0E21|orange",pink:"\u0E0A\u0E21\u0E1E\u0E39|pink",pressed:"\u0E1B\u0E38\u0E48\u0E21\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E01\u0E14|pressed",print:"\u0E41\u0E2A\u0E14\u0E07|print",purple:"\u0E21\u0E48\u0E27\u0E07|purple",random:"\u0E2A\u0E38\u0E48\u0E21|random",range:"\u0E0A\u0E48\u0E27\u0E07|range",red:"\u0E41\u0E14\u0E07|red",remove:"\u0E25\u0E1A|remove",repeat:"\u0E17\u0E33\u0E0B\u0E49\u0E33|repeat",return:"return",right:"\u0E02\u0E27\u0E32|right",sleep:"\u0E23\u0E2D|sleep",step:"\u0E40\u0E14\u0E34\u0E19|step",times:"\u0E04\u0E23\u0E31\u0E49\u0E07|times",to:"\u0E08\u0E19\u0E16\u0E36\u0E07|to",to_list:"\u0E44\u0E1B\u0E22\u0E31\u0E07|to",turn:"\u0E40\u0E25\u0E35\u0E49\u0E22\u0E27|turn",while:"\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E44\u0E2B\u0E23\u0E48\u0E01\u0E47\u0E15\u0E32\u0E21\u0E17\u0E35\u0E48|while",white:"\u0E02\u0E32\u0E27|white",with:"with",yellow:"\u0E40\u0E2B\u0E25\u0E37\u0E2D\u0E07|yellow",DIGIT:"0123456789"},tl:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},tn:{add:"tsenya|add",and:"and",ask:"botsa|ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"faese|else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"fa|if",in:"in",input:"input",is:"ke|is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"gatisa|print",purple:"purple",random:"random",range:"range",red:"red",remove:"ntsha|remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"},tr:{add:"ekle|add",and:"ve|and",ask:"sor|ask",at:"\u015Furada|at",black:"siyah|black",blue:"mavi|blue",brown:"kahverengi|brown",call:"call",clear:"temiz|clear",color:"renk|color",comma:",",def:"def",define:"define",echo:"eko|echo",elif:"elif",else:"ba\u015Fka|else",for:"\u015Funun i\xE7in|for",forward:"ileri|forward",from:"\u015Furadan|from",gray:"gri|gray",green:"ye\u015Fil|green",if:"e\u011Fer|if",in:"i\xE7inde|in",input:"girdi|input",is:"e\u015Fit|is",left:"sol|left",length:"uzunluk|length",or:"veya|or",orange:"turuncu|orange",pink:"pembe|pink",pressed:"bas\u0131l\u0131|pressed",print:"yazd\u0131r|print",purple:"mor|purple",random:"rastgele|random",range:"dizi|range",red:"k\u0131rm\u0131z\u0131|red",remove:"sil|remove",repeat:"tekrar|repeat",return:"return",right:"sa\u011F|right",sleep:"bekle|sleep",step:"ad\u0131m|step",times:"kere|times",to:"\u015Furaya|to",to_list:"to",turn:"d\xF6nd\xFCr|turn",while:"iken|while",white:"beyaz|white",with:"with",yellow:"sar\u0131|yellow",DIGIT:"0123456789"},uk:{add:"\u0434\u043E\u0434\u0430\u0439|add",and:"\u0456|and",ask:"\u0437\u0430\u043F\u0438\u0442\u0430\u0439|ask",at:"\u043D\u0430 \u043F\u043E\u0437\u0438\u0446\u0456\u0457|at",black:"\u0447\u043E\u0440\u043D\u0438\u0439|black",blue:"\u0441\u0438\u043D\u0456\u0439|blue",brown:"\u043A\u043E\u0440\u0438\u0447\u043D\u0435\u0432\u0438\u0439|brown",call:"call",clear:"\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u0438|clear",color:"\u043A\u043E\u043B\u0456\u0440|color",comma:",",def:"def",define:"define",echo:"\u0435\u0445\u043E|echo",elif:"\u0456\u043D\u0430\u043A\u0448\u0435 \u044F\u043A\u0449\u043E|elif",else:"\u0456\u043D\u0430\u043A\u0448\u0435|else",for:"\u0434\u043B\u044F|for",forward:"\u0432\u043F\u0435\u0440\u0435\u0434|forward",from:"i\u0437|\u0437|from",gray:"\u0441\u0456\u0440\u0438\u0439|gray",green:"\u0437\u0435\u043B\u0435\u043D\u0438\u0439|green",if:"\u044F\u043A\u0449\u043E|if",in:"\u0432|in",input:"\u0432\u0432\u0435\u0434\u0438|input",is:"\u0446\u0435|is",left:"\u0432\u043B\u0456\u0432\u043E|left",length:"\u0434\u043E\u0432\u0436\u0438\u043D\u0430|length",or:"\u0430\u0431\u043E|or",orange:"\u043E\u0440\u0430\u043D\u0436\u0435\u0432\u0438\u0439|orange",pink:"\u0440\u043E\u0436\u0435\u0432\u0438\u0439|pink",pressed:"\u043D\u0430\u0442\u0438\u0441\u043D\u0443\u0432|pressed",print:"\u0434\u0440\u0443\u043A\u0443\u0439|print",purple:"\u0444\u0456\u043E\u043B\u0435\u0442\u043E\u0432\u0438\u0439|purple",random:"\u0432\u0438\u043F\u0430\u0434\u043A\u043E\u0432\u0438\u0439|\u0432\u0438\u043F\u0430\u0434\u043A\u043E\u0432\u0456\u0439|random",range:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D|\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043Di|range",red:"\u0447\u0435\u0440\u0432\u043E\u043D\u0438\u0439|red",remove:"\u0432\u0438\u0434\u0430\u043B\u0438|remove",repeat:"\u043F\u043E\u0432\u0442\u043E\u0440\u0438|repeat",return:"return",right:"\u0432\u043F\u0440\u0430\u0432\u043E|right",sleep:"\u043F\u043E\u0447\u0435\u043A\u0430\u0439|sleep",step:"\u043A\u0440\u043E\u043A|step",times:"\u0440\u0430\u0437\u0456\u0432|\u0440\u0430\u0437\u0438|\u0440\u0430\u0437|times",to:"\u0434\u043E|to",to_list:"\u0434\u043E|to",turn:"\u043F\u043E\u0432\u0435\u0440\u043D\u0438|turn",while:"\u0442\u043E\u0434\u0456 \u044F\u043A|while",white:"\u0431\u0456\u043B\u0438\u0439|white",with:"with",yellow:"\u0436\u043E\u0432\u0442\u0438\u0439|yellow",DIGIT:"0123456789"},ur:{add:"\u0634\u0627\u0645\u0644|add",and:"\u0627\u0648\u0631|and",ask:"\u0628\u062A\u0627\u0624|ask",at:"\u06A9\u0648\u0626\u06CC|at",black:"\u06A9\u0627\u0644\u0627|black",blue:"\u0646\u06CC\u0644\u0627|blue",brown:"\u0628\u0631\u0627\u0624\u0646|brown",call:"call",clear:"\u0635\u0627\u0641|clear",color:"\u0631\u0646\u06AF|color",comma:"\u060C|,",def:"def",define:"define",echo:"\u067E\u06A9\u0627\u0631|echo",elif:"\u06CC\u0627\u0627\u06AF\u0631|elif",else:"\u0648\u0631\u0646\u06C1|else",for:"\u0641\u06CC|for",forward:"\u0622\u06AF\u06D2|forward",from:"\u0633\u06D2|from",gray:"\u06AF\u0631\u06D2|gray",green:"\u0633\u0628\u0632|green",if:"\u0627\u06AF\u0631|if",in:"\u0645\u06CC\u06BA|in",input:"\u0628\u062A\u0627\u0624|input",is:"\u06C1\u06D2|is",left:"\u0628\u0627\u0626\u06CC\u06BA|left",length:"length",or:"\u06CC\u0627|or",orange:"\u0627\u0648\u0631\u06CC\u0646\u062C|orange",pink:"\u06AF\u0644\u0627\u0628\u06CC|pink",pressed:"\u062F\u0628\u0627 \u06C1\u0648\u0627|pressed",print:"\u062F\u06A9\u06BE\u0627\u0624|print",purple:"\u062C\u0627\u0645\u0646\u06CC|purple",random:"\u0633\u0627|random",range:"\u062D\u062F|range",red:"\u0633\u0631\u062E|red",remove:"\u0646\u06A9\u0627\u0644\u0648|remove",repeat:"\u0645\u06A9\u0631\u0631|repeat",return:"return",right:"\u062F\u0627\u0626\u06CC\u06BA|right",sleep:"\u0622\u0631\u0627\u0645\u202C\u202D\u202E|sleep",step:"step",times:"\u062F\u0641\u0639\u06C1|times",to:"\u0633\u06D2|to",to_list:"\u0627\u0646\u062F\u0631|to",turn:"\u0645\u0691\u0648|turn",while:"\u062C\u0628\u062A\u06A9|while",white:"\u0633\u0641\u06CC\u062F|white",with:"with",yellow:"\u067E\u06CC\u0644\u0627|yellow",DIGIT:"0123456789"},vi:{add:"add",and:"v\xE0|and",ask:"h\u1ECFi|ask",at:"at",black:"\u0111en|black",blue:"lam|blue",brown:"n\xE2u|brown",call:"call",clear:"clear",color:"m\xE0u|color",comma:",",def:"def",define:"define",echo:"\u0111\xE1p|echo",elif:"elif",else:"else",for:"for",forward:"ti\u1EBFn|forward",from:"from",gray:"x\xE1m|gray",green:"l\u1EE5c|green",if:"n\u1EBFu|if",in:"in",input:"input",is:"l\xE0|is",left:"tr\xE1i|left",length:"length",or:"ho\u1EB7c|or",orange:"cam|orange",pink:"h\u1ED3ng|pink",pressed:"pressed",print:"xu\u1EA5t|print",purple:"t\xEDm|purple",random:"ng\u1EABu_nhi\xEAn|random",range:"range",red:"\u0111\u1ECF|red",remove:"remove",repeat:"repeat",return:"return",right:"ph\u1EA3i|right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"quay|turn",while:"while",white:"tr\u1EAFng|white",with:"with",yellow:"v\xE0ng|yellow",DIGIT:"0123456789"},zh_Hans:{add:"\u52A0|add",and:"\u5E76\u4E14|and",ask:"\u63D0\u95EE|ask",at:"\u5728|at",black:"\u9ED1\u8272|black",blue:"\u84DD\u8272|blue",brown:"\u68D5\u8272|brown",call:"call",clear:"\u6E05\u9664|clear",color:"\u989C\u8272|color",comma:"\uFF0C|\u3001|,",def:"def",define:"define",echo:"\u56DE\u58F0|echo",elif:"\u5426\u5219\u5982\u679C|elif",else:"\u5426\u5219|else",for:"\u53D6|for",forward:"\u5411\u524D|forward",from:"\u4ECE|from",gray:"\u7070\u8272|gray",green:"\u7EFF\u8272|green",if:"\u5982\u679C|if",in:"\u5728\u91CC\u9762|in",input:"\u8F93\u5165|input",is:"\u662F|is",left:"\u5DE6|left",length:"\u957F\u5EA6|length",or:"\u6216|or",orange:"\u6A59\u8272|orange",pink:"\u7C89\u7EA2\u8272|pink",pressed:"\u6309\u4E0B|pressed",print:"\u6253\u5370|print",purple:"\u7D2B\u8272|purple",random:"\u968F\u673A|random",range:"\u8303\u56F4|range",red:"\u7EA2\u8272|red",remove:"\u79FB\u9664|remove",repeat:"\u91CD\u590D|repeat",return:"return",right:"\u53F3|right",sleep:"\u7761\u7720|sleep",step:"\u6B65|step",times:"\u6B21|times",to:"\u5230|to",to_list:"\u5230|to",turn:"\u65CB\u8F6C|turn",while:"\u5F53\u7684\u65F6\u5019|while",white:"\u767D\u8272|white",with:"with",yellow:"\u9EC4\u8272|yellow",DIGIT:"0123456789"},zh_Hant:{add:"add",and:"and",ask:"ask",at:"at",black:"black",blue:"blue",brown:"brown",call:"call",clear:"clear",color:"color",comma:",",def:"def",define:"define",echo:"echo",elif:"elif",else:"else",for:"for",forward:"forward",from:"from",gray:"gray",green:"green",if:"if",in:"in",input:"input",is:"is",left:"left",length:"length",or:"or",orange:"orange",pink:"pink",pressed:"pressed",print:"print",purple:"purple",random:"random",range:"range",red:"red",remove:"remove",repeat:"repeat",return:"return",right:"right",sleep:"sleep",step:"step",times:"times",to:"to",to_list:"to",turn:"turn",while:"while",white:"white",with:"with",yellow:"yellow",DIGIT:"0123456789"}}});var Kl=dt(oo=>{"use strict";var ql=oo&&oo.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(oo,"__esModule",{value:!0});oo.initializeSyntaxHighlighter=void 0;var jh=ql(Vl()),Gh=ql(Yl());function Wh(l){var u=Xl(Gh.default),c=l.keywordLanguage;u.has(c)||(c="en");var p=u.get(c),f=JSON.stringify(jh.default),h=Hh(f,p),k=JSON.parse(h);if(window.define)for(var D=function(M){define("ace/mode/"+M.name,[],function(O,N,A){var C=O("ace/lib/oop"),z=O("ace/mode/text").Mode,H=O("ace/mode/text_highlight_rules").TextHighlightRules;function q(){this.$rules=M.rules,this.normalizeRules()}C.inherits(q,H);function K(){this.HighlightRules=q}C.inherits(K,z),N.Mode=K})},I=0,y=k;I{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.TRANSLATIONS=void 0;yi.TRANSLATIONS={ar:{CheckInternet:"\u0623\u0644\u0642\u064A \u0646\u0638\u0631\u0629 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u062A\u0635\u0627\u0644\u0643 \u0628\u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A \u064A\u0639\u0645\u0644 \u0628\u0634\u0643\u0644 \u0635\u062D\u064A\u062D.",Connection_error:"\u0644\u0645 \u0646\u062A\u0645\u0643\u0646 \u0645\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u062E\u0627\u062F\u0645.",Empty_output:"\u0647\u0630\u0627 \u0627\u0644\u0631\u0645\u0632 \u064A\u0639\u0645\u0644 \u0648\u0644\u0643\u0646 \u0644\u0627 \u064A\u0637\u0628\u0639 \u0623\u064A \u0634\u064A\u0621. \u0623\u0636\u0641 \u0623\u0645\u0631 \u0637\u0628\u0627\u0639\u0629 \u0625\u0644\u0649 \u0627\u0644\u0643\u0648\u062F \u0627\u0644\u062E\u0627\u0635 \u0628\u0643 \u0623\u0648 \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0633\u0644\u062D\u0641\u0627\u0629 \u0644\u0637\u0628\u0627\u0639\u0629 \u0634\u064A\u0621 \u0645\u0627.",Errors_found:"You made a mistake! Don't worry, Hedy is trying to find the mistakes",Execute_error:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0645\u0627 \u0623\u062B\u0646\u0627\u0621 \u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C.",Other_error:"\u0639\u0641\u0648\u0627! \u0631\u0628\u0645\u0627 \u0627\u0631\u062A\u0643\u0628\u0646\u0627 \u062E\u0637\u0623 \u0628\u0633\u064A\u0637\u0627.",Program_repair:"\u0642\u062F \u064A\u0643\u0648\u0646 \u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0635\u062D\u064A\u062D \u060C \u0647\u0644 \u064A\u0645\u0643\u0646\u0643 \u0625\u0635\u0644\u0627\u062D\u0647\u061F",Program_too_long:"\u064A\u0633\u062A\u063A\u0631\u0642 \u0628\u0631\u0646\u0627\u0645\u062C\u0643 \u0648\u0642\u062A\u064B\u0627 \u0637\u0648\u064A\u0644\u0627\u064B \u0644\u0644\u062A\u0634\u063A\u064A\u0644.",ServerError:"\u0644\u0642\u062F \u0643\u062A\u0628\u062A \u0628\u0631\u0646\u0627\u0645\u062C\u0627 \u0644\u0645 \u0646\u0643\u0646 \u0646\u062A\u0648\u0642\u0639\u0647. \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u0631\u063A\u0628 \u0641\u064A \u0627\u0644\u0645\u0633\u0627\u0639\u062F\u0629 \u060C \u0641\u0623\u0631\u0633\u0644 \u0644\u0646\u0627 \u0628\u0631\u064A\u062F\u0627 \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A\u0627 \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0627\u0644\u0645\u0633\u062A\u0648\u0649 \u0648\u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644\u062E\u0627\u0635 \u0628\u0643 \u0639\u0644\u0649 hello@hedy.org. \u0641\u064A \u063A\u0636\u0648\u0646 \u0630\u0644\u0643 \u060C \u062C\u0631\u0628 \u0634\u064A\u0626\u0627 \u0645\u062E\u062A\u0644\u0641\u0627 \u0642\u0644\u064A\u0644\u0627 \u0648\u0623\u0644\u0642 \u0646\u0638\u0631\u0629 \u0623\u062E\u0631\u0649 \u0639\u0644\u0649 \u0627\u0644\u0623\u0645\u062B\u0644\u0629. \u0634\u0643\u0631\u0627!",Transpile_error:"\u0644\u0627 \u064A\u0645\u0643\u0646\u0646\u0627 \u062A\u0634\u063A\u064A\u0644 \u0628\u0631\u0646\u0627\u0645\u062C\u0643.",Transpile_success:`\u0623\u062D\u0633\u0646\u062A! \u0631\u0627\u0626\u0639! \u0623\u062D\u0633\u0646\u062A! \u0645\u0645\u062A\u0627\u0632! @@ -186,8 +186,8 @@ B\u1EA1n l\xE0m r\u1EA5t t\u1ED1t!`,Transpile_warning:"C\u1EA3nh b\xE1o!",Unsave Amazing! Well done! Excellent! -You did great!`,Transpile_warning:"Warning!",Unsaved_Changes:"You have an unsaved program. Do you want to leave without saving it?",adventures_restored:"The default adventures have been restored!",copy_link_to_share:"Copy link to share",customization_deleted:"Customizations successfully deleted.",dice:"\u{1F3B2}",directly_available:"Directly open",disabled:"Disabled",fortune:"\u{1F52E}, \u2728",haunted:"\u{1F987}, \u{1F47B}, \u{1F383}",level_title:"Level",restaurant:"\u{1F363}, \u{1F355}, \u{1F354}",rock:"\u2702\uFE0F, \u{1F4DC}, \u{1F5FB}",songs:"\u{1F3B5},\u{1F3B6}",teacher_welcome:"Welcome to Hedy! Your are now the proud owner of a teachers account which allows you to create classes and invite students.",turtle:"\u{1F422}",unsaved_class_changes:"There are unsaved changes, are you sure you want to leave this page?"}}});var io=dt(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.setClientMessageLanguage=jr.ClientMessages=void 0;var Pa=Jl();jr.ClientMessages=Object.assign({},Pa.TRANSLATIONS.en);function Vh(l){var u;Object.assign(jr.ClientMessages,(u=Pa.TRANSLATIONS[l])!==null&&u!==void 0?u:Pa.TRANSLATIONS.en)}jr.setClientMessageLanguage=Vh});var Lr=dt(On=>{"use strict";var Yh=On&&On.__awaiter||function(l,u,c,p){function f(h){return h instanceof c?h:new c(function(k){k(h)})}return new(c||(c=Promise))(function(h,k){function D(S){try{y(p.next(S))}catch(M){k(M)}}function I(S){try{y(p.throw(S))}catch(M){k(M)}}function y(S){S.done?h(S.value):f(S.value).then(D,I)}y((p=p.apply(l,u||[])).next())})},qh=On&&On.__generator||function(l,u){var c={label:0,sent:function(){if(h[0]&1)throw h[1];return h[1]},trys:[],ops:[]},p,f,h,k;return k={next:D(0),throw:D(1),return:D(2)},typeof Symbol=="function"&&(k[Symbol.iterator]=function(){return this}),k;function D(y){return function(S){return I([y,S])}}function I(y){if(p)throw new TypeError("Generator is already executing.");for(;c;)try{if(p=1,f&&(h=y[0]&2?f.return:y[0]?f.throw||((h=f.return)&&h.call(f),0):f.next)&&!(h=h.call(f,y[1])).done)return h;switch(f=0,h&&(y=[y[0]&2,h.value]),y[0]){case 0:case 1:h=y;break;case 4:return c.label++,{value:y[1],done:!1};case 5:c.label++,f=y[1],y=[0];continue;case 7:y=c.ops.pop(),c.trys.pop();continue;default:if(h=c.trys,!(h=h.length>0&&h[h.length-1])&&(y[0]===6||y[0]===2)){c=0;continue}if(y[0]===3&&(!h||y[1]>h[0]&&y[1]{(function(l){typeof Ql=="object"&&typeof Ca!="undefined"?Ca.exports=l():typeof define=="function"&&define.amd?define([],l):(typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:this).JSZip=l()})(function(){return function l(u,c,p){function f(D,I){if(!c[D]){if(!u[D]){var y=typeof Bo=="function"&&Bo;if(!I&&y)return y(D,!0);if(h)return h(D,!0);var S=new Error("Cannot find module '"+D+"'");throw S.code="MODULE_NOT_FOUND",S}var M=c[D]={exports:{}};u[D][0].call(M.exports,function(O){var N=u[D][1][O];return f(N||O)},M,M.exports,l,u,c,p)}return c[D].exports}for(var h=typeof Bo=="function"&&Bo,k=0;k>2,M=(3&D)<<4|I>>4,O=1>6:64,N=2>4,I=(15&S)<<4|(M=h.indexOf(k.charAt(N++)))>>2,y=(3&M)<<6|(O=h.indexOf(k.charAt(N++))),z[A++]=D,M!==64&&(z[A++]=I),O!==64&&(z[A++]=y);return z}},{"./support":30,"./utils":32}],2:[function(l,u,c){"use strict";var p=l("./external"),f=l("./stream/DataWorker"),h=l("./stream/Crc32Probe"),k=l("./stream/DataLengthProbe");function D(I,y,S,M,O){this.compressedSize=I,this.uncompressedSize=y,this.crc32=S,this.compression=M,this.compressedContent=O}D.prototype={getContentWorker:function(){var I=new f(p.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new k("data_length")),y=this;return I.on("end",function(){if(this.streamInfo.data_length!==y.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),I},getCompressedWorker:function(){return new f(p.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},D.createWorkerFrom=function(I,y,S){return I.pipe(new h).pipe(new k("uncompressedSize")).pipe(y.compressWorker(S)).pipe(new k("compressedSize")).withStreamInfo("compression",y)},u.exports=D},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(l,u,c){"use strict";var p=l("./stream/GenericWorker");c.STORE={magic:"\0\0",compressWorker:function(){return new p("STORE compression")},uncompressWorker:function(){return new p("STORE decompression")}},c.DEFLATE=l("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(l,u,c){"use strict";var p=l("./utils"),f=function(){for(var h,k=[],D=0;D<256;D++){h=D;for(var I=0;I<8;I++)h=1&h?3988292384^h>>>1:h>>>1;k[D]=h}return k}();u.exports=function(h,k){return h!==void 0&&h.length?p.getTypeOf(h)!=="string"?function(D,I,y,S){var M=f,O=S+y;D^=-1;for(var N=S;N>>8^M[255&(D^I[N])];return-1^D}(0|k,h,h.length,0):function(D,I,y,S){var M=f,O=S+y;D^=-1;for(var N=S;N>>8^M[255&(D^I.charCodeAt(N))];return-1^D}(0|k,h,h.length,0):0}},{"./utils":32}],5:[function(l,u,c){"use strict";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!0,c.date=null,c.compression=null,c.compressionOptions=null,c.comment=null,c.unixPermissions=null,c.dosPermissions=null},{}],6:[function(l,u,c){"use strict";var p=null;p=typeof Promise!="undefined"?Promise:l("lie"),u.exports={Promise:p}},{lie:37}],7:[function(l,u,c){"use strict";var p=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Uint32Array!="undefined",f=l("pako"),h=l("./utils"),k=l("./stream/GenericWorker"),D=p?"uint8array":"array";function I(y,S){k.call(this,"FlateWorker/"+y),this._pako=null,this._pakoAction=y,this._pakoOptions=S,this.meta={}}c.magic="\b\0",h.inherits(I,k),I.prototype.processChunk=function(y){this.meta=y.meta,this._pako===null&&this._createPako(),this._pako.push(h.transformTo(D,y.data),!1)},I.prototype.flush=function(){k.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},I.prototype.cleanUp=function(){k.prototype.cleanUp.call(this),this._pako=null},I.prototype._createPako=function(){this._pako=new f[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var y=this;this._pako.onData=function(S){y.push({data:S,meta:y.meta})}},c.compressWorker=function(y){return new I("Deflate",y)},c.uncompressWorker=function(){return new I("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(l,u,c){"use strict";function p(M,O){var N,A="";for(N=0;N>>=8;return A}function f(M,O,N,A,C,z){var H,q,K=M.file,he=M.compression,re=z!==D.utf8encode,U=h.transformTo("string",z(K.name)),oe=h.transformTo("string",D.utf8encode(K.name)),de=K.comment,De=h.transformTo("string",z(de)),B=h.transformTo("string",D.utf8encode(de)),_e=oe.length!==K.name.length,w=B.length!==de.length,fe="",Se="",xe="",Oe=K.dir,be=K.date,Fe={crc32:0,compressedSize:0,uncompressedSize:0};O&&!N||(Fe.crc32=M.crc32,Fe.compressedSize=M.compressedSize,Fe.uncompressedSize=M.uncompressedSize);var se=0;O&&(se|=8),re||!_e&&!w||(se|=2048);var ie=0,Re=0;Oe&&(ie|=16),C==="UNIX"?(Re=798,ie|=function(we,At){var Ot=we;return we||(Ot=At?16893:33204),(65535&Ot)<<16}(K.unixPermissions,Oe)):(Re=20,ie|=function(we){return 63&(we||0)}(K.dosPermissions)),H=be.getUTCHours(),H<<=6,H|=be.getUTCMinutes(),H<<=5,H|=be.getUTCSeconds()/2,q=be.getUTCFullYear()-1980,q<<=4,q|=be.getUTCMonth()+1,q<<=5,q|=be.getUTCDate(),_e&&(Se=p(1,1)+p(I(U),4)+oe,fe+="up"+p(Se.length,2)+Se),w&&(xe=p(1,1)+p(I(De),4)+B,fe+="uc"+p(xe.length,2)+xe);var Ce="";return Ce+=` -\0`,Ce+=p(se,2),Ce+=he.magic,Ce+=p(H,2),Ce+=p(q,2),Ce+=p(Fe.crc32,4),Ce+=p(Fe.compressedSize,4),Ce+=p(Fe.uncompressedSize,4),Ce+=p(U.length,2),Ce+=p(fe.length,2),{fileRecord:y.LOCAL_FILE_HEADER+Ce+U+fe,dirRecord:y.CENTRAL_FILE_HEADER+p(Re,2)+Ce+p(De.length,2)+"\0\0\0\0"+p(ie,4)+p(A,4)+U+fe+De}}var h=l("../utils"),k=l("../stream/GenericWorker"),D=l("../utf8"),I=l("../crc32"),y=l("../signature");function S(M,O,N,A){k.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=O,this.zipPlatform=N,this.encodeFileName=A,this.streamFiles=M,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}h.inherits(S,k),S.prototype.push=function(M){var O=M.meta.percent||0,N=this.entriesCount,A=this._sources.length;this.accumulate?this.contentBuffer.push(M):(this.bytesWritten+=M.data.length,k.prototype.push.call(this,{data:M.data,meta:{currentFile:this.currentFile,percent:N?(O+100*(N-A-1))/N:100}}))},S.prototype.openedSource=function(M){this.currentSourceOffset=this.bytesWritten,this.currentFile=M.file.name;var O=this.streamFiles&&!M.file.dir;if(O){var N=f(M,O,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:N.fileRecord,meta:{percent:0}})}else this.accumulate=!0},S.prototype.closedSource=function(M){this.accumulate=!1;var O=this.streamFiles&&!M.file.dir,N=f(M,O,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(N.dirRecord),O)this.push({data:function(A){return y.DATA_DESCRIPTOR+p(A.crc32,4)+p(A.compressedSize,4)+p(A.uncompressedSize,4)}(M),meta:{percent:100}});else for(this.push({data:N.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},S.prototype.flush=function(){for(var M=this.bytesWritten,O=0;O=this.index;k--)D=(D<<8)+this.byteAt(k);return this.index+=h,D},readString:function(h){return p.transformTo("string",this.readData(h))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var h=this.readInt(4);return new Date(Date.UTC(1980+(h>>25&127),(h>>21&15)-1,h>>16&31,h>>11&31,h>>5&63,(31&h)<<1))}},u.exports=f},{"../utils":32}],19:[function(l,u,c){"use strict";var p=l("./Uint8ArrayReader");function f(h){p.call(this,h)}l("../utils").inherits(f,p),f.prototype.readData=function(h){this.checkOffset(h);var k=this.data.slice(this.zero+this.index,this.zero+this.index+h);return this.index+=h,k},u.exports=f},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(l,u,c){"use strict";var p=l("./DataReader");function f(h){p.call(this,h)}l("../utils").inherits(f,p),f.prototype.byteAt=function(h){return this.data.charCodeAt(this.zero+h)},f.prototype.lastIndexOfSignature=function(h){return this.data.lastIndexOf(h)-this.zero},f.prototype.readAndCheckSignature=function(h){return h===this.readData(4)},f.prototype.readData=function(h){this.checkOffset(h);var k=this.data.slice(this.zero+this.index,this.zero+this.index+h);return this.index+=h,k},u.exports=f},{"../utils":32,"./DataReader":18}],21:[function(l,u,c){"use strict";var p=l("./ArrayReader");function f(h){p.call(this,h)}l("../utils").inherits(f,p),f.prototype.readData=function(h){if(this.checkOffset(h),h===0)return new Uint8Array(0);var k=this.data.subarray(this.zero+this.index,this.zero+this.index+h);return this.index+=h,k},u.exports=f},{"../utils":32,"./ArrayReader":17}],22:[function(l,u,c){"use strict";var p=l("../utils"),f=l("../support"),h=l("./ArrayReader"),k=l("./StringReader"),D=l("./NodeBufferReader"),I=l("./Uint8ArrayReader");u.exports=function(y){var S=p.getTypeOf(y);return p.checkSupport(S),S!=="string"||f.uint8array?S==="nodebuffer"?new D(y):f.uint8array?new I(p.transformTo("uint8array",y)):new h(p.transformTo("array",y)):new k(y)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(l,u,c){"use strict";c.LOCAL_FILE_HEADER="PK",c.CENTRAL_FILE_HEADER="PK",c.CENTRAL_DIRECTORY_END="PK",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",c.ZIP64_CENTRAL_DIRECTORY_END="PK",c.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(l,u,c){"use strict";var p=l("./GenericWorker"),f=l("../utils");function h(k){p.call(this,"ConvertWorker to "+k),this.destType=k}f.inherits(h,p),h.prototype.processChunk=function(k){this.push({data:f.transformTo(this.destType,k.data),meta:k.meta})},u.exports=h},{"../utils":32,"./GenericWorker":28}],25:[function(l,u,c){"use strict";var p=l("./GenericWorker"),f=l("../crc32");function h(){p.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}l("../utils").inherits(h,p),h.prototype.processChunk=function(k){this.streamInfo.crc32=f(k.data,this.streamInfo.crc32||0),this.push(k)},u.exports=h},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(l,u,c){"use strict";var p=l("../utils"),f=l("./GenericWorker");function h(k){f.call(this,"DataLengthProbe for "+k),this.propName=k,this.withStreamInfo(k,0)}p.inherits(h,f),h.prototype.processChunk=function(k){if(k){var D=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=D+k.data.length}f.prototype.processChunk.call(this,k)},u.exports=h},{"../utils":32,"./GenericWorker":28}],27:[function(l,u,c){"use strict";var p=l("../utils"),f=l("./GenericWorker");function h(k){f.call(this,"DataWorker");var D=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,k.then(function(I){D.dataIsReady=!0,D.data=I,D.max=I&&I.length||0,D.type=p.getTypeOf(I),D.isPaused||D._tickAndRepeat()},function(I){D.error(I)})}p.inherits(h,f),h.prototype.cleanUp=function(){f.prototype.cleanUp.call(this),this.data=null},h.prototype.resume=function(){return!!f.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,p.delay(this._tickAndRepeat,[],this)),!0)},h.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(p.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},h.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var k=null,D=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":k=this.data.substring(this.index,D);break;case"uint8array":k=this.data.subarray(this.index,D);break;case"array":case"nodebuffer":k=this.data.slice(this.index,D)}return this.index=D,this.push({data:k,meta:{percent:this.max?this.index/this.max*100:0}})},u.exports=h},{"../utils":32,"./GenericWorker":28}],28:[function(l,u,c){"use strict";function p(f){this.name=f||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}p.prototype={push:function(f){this.emit("data",f)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(f){this.emit("error",f)}return!0},error:function(f){return!this.isFinished&&(this.isPaused?this.generatedError=f:(this.isFinished=!0,this.emit("error",f),this.previous&&this.previous.error(f),this.cleanUp()),!0)},on:function(f,h){return this._listeners[f].push(h),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(f,h){if(this._listeners[f])for(var k=0;k "+f:f}},u.exports=p},{}],29:[function(l,u,c){"use strict";var p=l("../utils"),f=l("./ConvertWorker"),h=l("./GenericWorker"),k=l("../base64"),D=l("../support"),I=l("../external"),y=null;if(D.nodestream)try{y=l("../nodejs/NodejsStreamOutputAdapter")}catch(O){}function S(O,N){return new I.Promise(function(A,C){var z=[],H=O._internalType,q=O._outputType,K=O._mimeType;O.on("data",function(he,re){z.push(he),N&&N(re)}).on("error",function(he){z=[],C(he)}).on("end",function(){try{var he=function(re,U,oe){switch(re){case"blob":return p.newBlob(p.transformTo("arraybuffer",U),oe);case"base64":return k.encode(U);default:return p.transformTo(re,U)}}(q,function(re,U){var oe,de=0,De=null,B=0;for(oe=0;oe>>6:(A<65536?N[H++]=224|A>>>12:(N[H++]=240|A>>>18,N[H++]=128|A>>>12&63),N[H++]=128|A>>>6&63),N[H++]=128|63&A);return N}(M)},c.utf8decode=function(M){return f.nodebuffer?p.transformTo("nodebuffer",M).toString("utf-8"):function(O){var N,A,C,z,H=O.length,q=new Array(2*H);for(N=A=0;N>10&1023,q[A++]=56320|1023&C)}return q.length!==A&&(q.subarray?q=q.subarray(0,A):q.length=A),p.applyFromCharCode(q)}(M=p.transformTo(f.uint8array?"uint8array":"array",M))},p.inherits(y,k),y.prototype.processChunk=function(M){var O=p.transformTo(f.uint8array?"uint8array":"array",M.data);if(this.leftOver&&this.leftOver.length){if(f.uint8array){var N=O;(O=new Uint8Array(N.length+this.leftOver.length)).set(this.leftOver,0),O.set(N,this.leftOver.length)}else O=this.leftOver.concat(O);this.leftOver=null}var A=function(z,H){var q;for((H=H||z.length)>z.length&&(H=z.length),q=H-1;0<=q&&(192&z[q])==128;)q--;return q<0||q===0?H:q+D[z[q]]>H?q:H}(O),C=O;A!==O.length&&(f.uint8array?(C=O.subarray(0,A),this.leftOver=O.subarray(A,O.length)):(C=O.slice(0,A),this.leftOver=O.slice(A,O.length))),this.push({data:c.utf8decode(C),meta:M.meta})},y.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:c.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},c.Utf8DecodeWorker=y,p.inherits(S,k),S.prototype.processChunk=function(M){this.push({data:c.utf8encode(M.data),meta:M.meta})},c.Utf8EncodeWorker=S},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(l,u,c){"use strict";var p=l("./support"),f=l("./base64"),h=l("./nodejsUtils"),k=l("./external");function D(N){return N}function I(N,A){for(var C=0;C>8;this.dir=!!(16&this.externalFileAttributes),M==0&&(this.dosPermissions=63&this.externalFileAttributes),M==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var M=p(this.extraFields[1].value);this.uncompressedSize===f.MAX_VALUE_32BITS&&(this.uncompressedSize=M.readInt(8)),this.compressedSize===f.MAX_VALUE_32BITS&&(this.compressedSize=M.readInt(8)),this.localHeaderOffset===f.MAX_VALUE_32BITS&&(this.localHeaderOffset=M.readInt(8)),this.diskNumberStart===f.MAX_VALUE_32BITS&&(this.diskNumberStart=M.readInt(4))}},readExtraFields:function(M){var O,N,A,C=M.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});M.index+4>>6:(M<65536?S[A++]=224|M>>>12:(S[A++]=240|M>>>18,S[A++]=128|M>>>12&63),S[A++]=128|M>>>6&63),S[A++]=128|63&M);return S},c.buf2binstring=function(y){return I(y,y.length)},c.binstring2buf=function(y){for(var S=new p.Buf8(y.length),M=0,O=S.length;M>10&1023,z[O++]=56320|1023&N)}return I(z,O)},c.utf8border=function(y,S){var M;for((S=S||y.length)>y.length&&(S=y.length),M=S-1;0<=M&&(192&y[M])==128;)M--;return M<0||M===0?S:M+k[y[M]]>S?M:S}},{"./common":41}],43:[function(l,u,c){"use strict";u.exports=function(p,f,h,k){for(var D=65535&p|0,I=p>>>16&65535|0,y=0;h!==0;){for(h-=y=2e3>>1:f>>>1;h[k]=f}return h}();u.exports=function(f,h,k,D){var I=p,y=D+k;f^=-1;for(var S=D;S>>8^I[255&(f^h[S])];return-1^f}},{}],46:[function(l,u,c){"use strict";var p,f=l("../utils/common"),h=l("./trees"),k=l("./adler32"),D=l("./crc32"),I=l("./messages"),y=0,S=4,M=0,O=-2,N=-1,A=4,C=2,z=8,H=9,q=286,K=30,he=19,re=2*q+1,U=15,oe=3,de=258,De=de+oe+1,B=42,_e=113,w=1,fe=2,Se=3,xe=4;function Oe(g,ue){return g.msg=I[ue],ue}function be(g){return(g<<1)-(4g.avail_out&&(Z=g.avail_out),Z!==0&&(f.arraySet(g.output,ue.pending_buf,ue.pending_out,Z,g.next_out),g.next_out+=Z,ue.pending_out+=Z,g.total_out+=Z,g.avail_out-=Z,ue.pending-=Z,ue.pending===0&&(ue.pending_out=0))}function ie(g,ue){h._tr_flush_block(g,0<=g.block_start?g.block_start:-1,g.strstart-g.block_start,ue),g.block_start=g.strstart,se(g.strm)}function Re(g,ue){g.pending_buf[g.pending++]=ue}function Ce(g,ue){g.pending_buf[g.pending++]=ue>>>8&255,g.pending_buf[g.pending++]=255&ue}function we(g,ue){var Z,P,T=g.max_chain_length,j=g.strstart,ee=g.prev_length,te=g.nice_match,Y=g.strstart>g.w_size-De?g.strstart-(g.w_size-De):0,le=g.window,ye=g.w_mask,ge=g.prev,ve=g.strstart+de,Je=le[j+ee-1],Ke=le[j+ee];g.prev_length>=g.good_match&&(T>>=2),te>g.lookahead&&(te=g.lookahead);do if(le[(Z=ue)+ee]===Ke&&le[Z+ee-1]===Je&&le[Z]===le[j]&&le[++Z]===le[j+1]){j+=2,Z++;do;while(le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&jY&&--T!=0);return ee<=g.lookahead?ee:g.lookahead}function At(g){var ue,Z,P,T,j,ee,te,Y,le,ye,ge=g.w_size;do{if(T=g.window_size-g.lookahead-g.strstart,g.strstart>=ge+(ge-De)){for(f.arraySet(g.window,g.window,ge,ge,0),g.match_start-=ge,g.strstart-=ge,g.block_start-=ge,ue=Z=g.hash_size;P=g.head[--ue],g.head[ue]=ge<=P?P-ge:0,--Z;);for(ue=Z=ge;P=g.prev[--ue],g.prev[ue]=ge<=P?P-ge:0,--Z;);T+=ge}if(g.strm.avail_in===0)break;if(ee=g.strm,te=g.window,Y=g.strstart+g.lookahead,le=T,ye=void 0,ye=ee.avail_in,le=oe)for(j=g.strstart-g.insert,g.ins_h=g.window[j],g.ins_h=(g.ins_h<=oe&&(g.ins_h=(g.ins_h<=oe)if(P=h._tr_tally(g,g.strstart-g.match_start,g.match_length-oe),g.lookahead-=g.match_length,g.match_length<=g.max_lazy_match&&g.lookahead>=oe){for(g.match_length--;g.strstart++,g.ins_h=(g.ins_h<=oe&&(g.ins_h=(g.ins_h<=oe&&g.match_length<=g.prev_length){for(T=g.strstart+g.lookahead-oe,P=h._tr_tally(g,g.strstart-1-g.prev_match,g.prev_length-oe),g.lookahead-=g.prev_length-1,g.prev_length-=2;++g.strstart<=T&&(g.ins_h=(g.ins_h<g.pending_buf_size-5&&(Z=g.pending_buf_size-5);;){if(g.lookahead<=1){if(At(g),g.lookahead===0&&ue===y)return w;if(g.lookahead===0)break}g.strstart+=g.lookahead,g.lookahead=0;var P=g.block_start+Z;if((g.strstart===0||g.strstart>=P)&&(g.lookahead=g.strstart-P,g.strstart=P,ie(g,!1),g.strm.avail_out===0)||g.strstart-g.block_start>=g.w_size-De&&(ie(g,!1),g.strm.avail_out===0))return w}return g.insert=0,ue===S?(ie(g,!0),g.strm.avail_out===0?Se:xe):(g.strstart>g.block_start&&(ie(g,!1),g.strm.avail_out),w)}),new ot(4,4,8,4,Ot),new ot(4,5,16,8,Ot),new ot(4,6,32,32,Ot),new ot(4,4,16,16,et),new ot(8,16,32,32,et),new ot(8,16,128,128,et),new ot(8,32,128,256,et),new ot(32,128,258,1024,et),new ot(32,258,258,4096,et)],c.deflateInit=function(g,ue){return yt(g,ue,z,15,8,0)},c.deflateInit2=yt,c.deflateReset=Rt,c.deflateResetKeep=tt,c.deflateSetHeader=function(g,ue){return g&&g.state?g.state.wrap!==2?O:(g.state.gzhead=ue,M):O},c.deflate=function(g,ue){var Z,P,T,j;if(!g||!g.state||5>8&255),Re(P,P.gzhead.time>>16&255),Re(P,P.gzhead.time>>24&255),Re(P,P.level===9?2:2<=P.strategy||P.level<2?4:0),Re(P,255&P.gzhead.os),P.gzhead.extra&&P.gzhead.extra.length&&(Re(P,255&P.gzhead.extra.length),Re(P,P.gzhead.extra.length>>8&255)),P.gzhead.hcrc&&(g.adler=D(g.adler,P.pending_buf,P.pending,0)),P.gzindex=0,P.status=69):(Re(P,0),Re(P,0),Re(P,0),Re(P,0),Re(P,0),Re(P,P.level===9?2:2<=P.strategy||P.level<2?4:0),Re(P,3),P.status=_e);else{var ee=z+(P.w_bits-8<<4)<<8;ee|=(2<=P.strategy||P.level<2?0:P.level<6?1:P.level===6?2:3)<<6,P.strstart!==0&&(ee|=32),ee+=31-ee%31,P.status=_e,Ce(P,ee),P.strstart!==0&&(Ce(P,g.adler>>>16),Ce(P,65535&g.adler)),g.adler=1}if(P.status===69)if(P.gzhead.extra){for(T=P.pending;P.gzindex<(65535&P.gzhead.extra.length)&&(P.pending!==P.pending_buf_size||(P.gzhead.hcrc&&P.pending>T&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),se(g),T=P.pending,P.pending!==P.pending_buf_size));)Re(P,255&P.gzhead.extra[P.gzindex]),P.gzindex++;P.gzhead.hcrc&&P.pending>T&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),P.gzindex===P.gzhead.extra.length&&(P.gzindex=0,P.status=73)}else P.status=73;if(P.status===73)if(P.gzhead.name){T=P.pending;do{if(P.pending===P.pending_buf_size&&(P.gzhead.hcrc&&P.pending>T&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),se(g),T=P.pending,P.pending===P.pending_buf_size)){j=1;break}j=P.gzindexT&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),j===0&&(P.gzindex=0,P.status=91)}else P.status=91;if(P.status===91)if(P.gzhead.comment){T=P.pending;do{if(P.pending===P.pending_buf_size&&(P.gzhead.hcrc&&P.pending>T&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),se(g),T=P.pending,P.pending===P.pending_buf_size)){j=1;break}j=P.gzindexT&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),j===0&&(P.status=103)}else P.status=103;if(P.status===103&&(P.gzhead.hcrc?(P.pending+2>P.pending_buf_size&&se(g),P.pending+2<=P.pending_buf_size&&(Re(P,255&g.adler),Re(P,g.adler>>8&255),g.adler=0,P.status=_e)):P.status=_e),P.pending!==0){if(se(g),g.avail_out===0)return P.last_flush=-1,M}else if(g.avail_in===0&&be(ue)<=be(Z)&&ue!==S)return Oe(g,-5);if(P.status===666&&g.avail_in!==0)return Oe(g,-5);if(g.avail_in!==0||P.lookahead!==0||ue!==y&&P.status!==666){var te=P.strategy===2?function(Y,le){for(var ye;;){if(Y.lookahead===0&&(At(Y),Y.lookahead===0)){if(le===y)return w;break}if(Y.match_length=0,ye=h._tr_tally(Y,0,Y.window[Y.strstart]),Y.lookahead--,Y.strstart++,ye&&(ie(Y,!1),Y.strm.avail_out===0))return w}return Y.insert=0,le===S?(ie(Y,!0),Y.strm.avail_out===0?Se:xe):Y.last_lit&&(ie(Y,!1),Y.strm.avail_out===0)?w:fe}(P,ue):P.strategy===3?function(Y,le){for(var ye,ge,ve,Je,Ke=Y.window;;){if(Y.lookahead<=de){if(At(Y),Y.lookahead<=de&&le===y)return w;if(Y.lookahead===0)break}if(Y.match_length=0,Y.lookahead>=oe&&0Y.lookahead&&(Y.match_length=Y.lookahead)}if(Y.match_length>=oe?(ye=h._tr_tally(Y,1,Y.match_length-oe),Y.lookahead-=Y.match_length,Y.strstart+=Y.match_length,Y.match_length=0):(ye=h._tr_tally(Y,0,Y.window[Y.strstart]),Y.lookahead--,Y.strstart++),ye&&(ie(Y,!1),Y.strm.avail_out===0))return w}return Y.insert=0,le===S?(ie(Y,!0),Y.strm.avail_out===0?Se:xe):Y.last_lit&&(ie(Y,!1),Y.strm.avail_out===0)?w:fe}(P,ue):p[P.level].func(P,ue);if(te!==Se&&te!==xe||(P.status=666),te===w||te===Se)return g.avail_out===0&&(P.last_flush=-1),M;if(te===fe&&(ue===1?h._tr_align(P):ue!==5&&(h._tr_stored_block(P,0,0,!1),ue===3&&(Fe(P.head),P.lookahead===0&&(P.strstart=0,P.block_start=0,P.insert=0))),se(g),g.avail_out===0))return P.last_flush=-1,M}return ue!==S?M:P.wrap<=0?1:(P.wrap===2?(Re(P,255&g.adler),Re(P,g.adler>>8&255),Re(P,g.adler>>16&255),Re(P,g.adler>>24&255),Re(P,255&g.total_in),Re(P,g.total_in>>8&255),Re(P,g.total_in>>16&255),Re(P,g.total_in>>24&255)):(Ce(P,g.adler>>>16),Ce(P,65535&g.adler)),se(g),0=Z.w_size&&(j===0&&(Fe(Z.head),Z.strstart=0,Z.block_start=0,Z.insert=0),le=new f.Buf8(Z.w_size),f.arraySet(le,ue,ye-Z.w_size,Z.w_size,0),ue=le,ye=Z.w_size),ee=g.avail_in,te=g.next_in,Y=g.input,g.avail_in=ye,g.next_in=0,g.input=ue,At(Z);Z.lookahead>=oe;){for(P=Z.strstart,T=Z.lookahead-(oe-1);Z.ins_h=(Z.ins_h<>>=oe=U>>>24,H-=oe,(oe=U>>>16&255)==0)fe[I++]=65535&U;else{if(!(16&oe)){if((64&oe)==0){U=q[(65535&U)+(z&(1<>>=oe,H-=oe),H<15&&(z+=w[k++]<>>=oe=U>>>24,H-=oe,!(16&(oe=U>>>16&255))){if((64&oe)==0){U=K[(65535&U)+(z&(1<>>=oe,H-=oe,(oe=I-y)>3,z&=(1<<(H-=de<<3))-1,p.next_in=k,p.next_out=I,p.avail_in=k>>24&255)+(B>>>8&65280)+((65280&B)<<8)+((255&B)<<24)}function z(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new p.Buf16(320),this.work=new p.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function H(B){var _e;return B&&B.state?(_e=B.state,B.total_in=B.total_out=_e.total=0,B.msg="",_e.wrap&&(B.adler=1&_e.wrap),_e.mode=O,_e.last=0,_e.havedict=0,_e.dmax=32768,_e.head=null,_e.hold=0,_e.bits=0,_e.lencode=_e.lendyn=new p.Buf32(N),_e.distcode=_e.distdyn=new p.Buf32(A),_e.sane=1,_e.back=-1,S):M}function q(B){var _e;return B&&B.state?((_e=B.state).wsize=0,_e.whave=0,_e.wnext=0,H(B)):M}function K(B,_e){var w,fe;return B&&B.state?(fe=B.state,_e<0?(w=0,_e=-_e):(w=1+(_e>>4),_e<48&&(_e&=15)),_e&&(_e<8||15<_e)?M:(fe.window!==null&&fe.wbits!==_e&&(fe.window=null),fe.wrap=w,fe.wbits=_e,q(B))):M}function he(B,_e){var w,fe;return B?(fe=new z,(B.state=fe).window=null,(w=K(B,_e))!==S&&(B.state=null),w):M}var re,U,oe=!0;function de(B){if(oe){var _e;for(re=new p.Buf32(512),U=new p.Buf32(32),_e=0;_e<144;)B.lens[_e++]=8;for(;_e<256;)B.lens[_e++]=9;for(;_e<280;)B.lens[_e++]=7;for(;_e<288;)B.lens[_e++]=8;for(D(I,B.lens,0,288,re,0,B.work,{bits:9}),_e=0;_e<32;)B.lens[_e++]=5;D(y,B.lens,0,32,U,0,B.work,{bits:5}),oe=!1}B.lencode=re,B.lenbits=9,B.distcode=U,B.distbits=5}function De(B,_e,w,fe){var Se,xe=B.state;return xe.window===null&&(xe.wsize=1<=xe.wsize?(p.arraySet(xe.window,_e,w-xe.wsize,xe.wsize,0),xe.wnext=0,xe.whave=xe.wsize):(fe<(Se=xe.wsize-xe.wnext)&&(Se=fe),p.arraySet(xe.window,_e,w-fe,Se,xe.wnext),(fe-=Se)?(p.arraySet(xe.window,_e,w-fe,fe,0),xe.wnext=fe,xe.whave=xe.wsize):(xe.wnext+=Se,xe.wnext===xe.wsize&&(xe.wnext=0),xe.whave>>8&255,w.check=h(w.check,j,2,0),ie=se=0,w.mode=2;break}if(w.flags=0,w.head&&(w.head.done=!1),!(1&w.wrap)||(((255&se)<<8)+(se>>8))%31){B.msg="incorrect header check",w.mode=30;break}if((15&se)!=8){B.msg="unknown compression method",w.mode=30;break}if(ie-=4,g=8+(15&(se>>>=4)),w.wbits===0)w.wbits=g;else if(g>w.wbits){B.msg="invalid window size",w.mode=30;break}w.dmax=1<>8&1),512&w.flags&&(j[0]=255&se,j[1]=se>>>8&255,w.check=h(w.check,j,2,0)),ie=se=0,w.mode=3;case 3:for(;ie<32;){if(be===0)break e;be--,se+=fe[xe++]<>>8&255,j[2]=se>>>16&255,j[3]=se>>>24&255,w.check=h(w.check,j,4,0)),ie=se=0,w.mode=4;case 4:for(;ie<16;){if(be===0)break e;be--,se+=fe[xe++]<>8),512&w.flags&&(j[0]=255&se,j[1]=se>>>8&255,w.check=h(w.check,j,2,0)),ie=se=0,w.mode=5;case 5:if(1024&w.flags){for(;ie<16;){if(be===0)break e;be--,se+=fe[xe++]<>>8&255,w.check=h(w.check,j,2,0)),ie=se=0}else w.head&&(w.head.extra=null);w.mode=6;case 6:if(1024&w.flags&&(be<(we=w.length)&&(we=be),we&&(w.head&&(g=w.head.extra_len-w.length,w.head.extra||(w.head.extra=new Array(w.head.extra_len)),p.arraySet(w.head.extra,fe,xe,we,g)),512&w.flags&&(w.check=h(w.check,fe,we,xe)),be-=we,xe+=we,w.length-=we),w.length))break e;w.length=0,w.mode=7;case 7:if(2048&w.flags){if(be===0)break e;for(we=0;g=fe[xe+we++],w.head&&g&&w.length<65536&&(w.head.name+=String.fromCharCode(g)),g&&we>9&1,w.head.done=!0),B.adler=w.check=0,w.mode=12;break;case 10:for(;ie<32;){if(be===0)break e;be--,se+=fe[xe++]<>>=7&ie,ie-=7&ie,w.mode=27;break}for(;ie<3;){if(be===0)break e;be--,se+=fe[xe++]<>>=1)){case 0:w.mode=14;break;case 1:if(de(w),w.mode=20,_e!==6)break;se>>>=2,ie-=2;break e;case 2:w.mode=17;break;case 3:B.msg="invalid block type",w.mode=30}se>>>=2,ie-=2;break;case 14:for(se>>>=7&ie,ie-=7&ie;ie<32;){if(be===0)break e;be--,se+=fe[xe++]<>>16^65535)){B.msg="invalid stored block lengths",w.mode=30;break}if(w.length=65535&se,ie=se=0,w.mode=15,_e===6)break e;case 15:w.mode=16;case 16:if(we=w.length){if(be>>=5,ie-=5,w.ndist=1+(31&se),se>>>=5,ie-=5,w.ncode=4+(15&se),se>>>=4,ie-=4,286>>=3,ie-=3}for(;w.have<19;)w.lens[ee[w.have++]]=0;if(w.lencode=w.lendyn,w.lenbits=7,Z={bits:w.lenbits},ue=D(0,w.lens,0,19,w.lencode,0,w.work,Z),w.lenbits=Z.bits,ue){B.msg="invalid code lengths set",w.mode=30;break}w.have=0,w.mode=19;case 19:for(;w.have>>16&255,kt=65535&T,!((et=T>>>24)<=ie);){if(be===0)break e;be--,se+=fe[xe++]<>>=et,ie-=et,w.lens[w.have++]=kt;else{if(kt===16){for(P=et+2;ie>>=et,ie-=et,w.have===0){B.msg="invalid bit length repeat",w.mode=30;break}g=w.lens[w.have-1],we=3+(3&se),se>>>=2,ie-=2}else if(kt===17){for(P=et+3;ie>>=et)),se>>>=3,ie-=3}else{for(P=et+7;ie>>=et)),se>>>=7,ie-=7}if(w.have+we>w.nlen+w.ndist){B.msg="invalid bit length repeat",w.mode=30;break}for(;we--;)w.lens[w.have++]=g}}if(w.mode===30)break;if(w.lens[256]===0){B.msg="invalid code -- missing end-of-block",w.mode=30;break}if(w.lenbits=9,Z={bits:w.lenbits},ue=D(I,w.lens,0,w.nlen,w.lencode,0,w.work,Z),w.lenbits=Z.bits,ue){B.msg="invalid literal/lengths set",w.mode=30;break}if(w.distbits=6,w.distcode=w.distdyn,Z={bits:w.distbits},ue=D(y,w.lens,w.nlen,w.ndist,w.distcode,0,w.work,Z),w.distbits=Z.bits,ue){B.msg="invalid distances set",w.mode=30;break}if(w.mode=20,_e===6)break e;case 20:w.mode=21;case 21:if(6<=be&&258<=Fe){B.next_out=Oe,B.avail_out=Fe,B.next_in=xe,B.avail_in=be,w.hold=se,w.bits=ie,k(B,Ce),Oe=B.next_out,Se=B.output,Fe=B.avail_out,xe=B.next_in,fe=B.input,be=B.avail_in,se=w.hold,ie=w.bits,w.mode===12&&(w.back=-1);break}for(w.back=0;ot=(T=w.lencode[se&(1<>>16&255,kt=65535&T,!((et=T>>>24)<=ie);){if(be===0)break e;be--,se+=fe[xe++]<>tt)])>>>16&255,kt=65535&T,!(tt+(et=T>>>24)<=ie);){if(be===0)break e;be--,se+=fe[xe++]<>>=tt,ie-=tt,w.back+=tt}if(se>>>=et,ie-=et,w.back+=et,w.length=kt,ot===0){w.mode=26;break}if(32&ot){w.back=-1,w.mode=12;break}if(64&ot){B.msg="invalid literal/length code",w.mode=30;break}w.extra=15&ot,w.mode=22;case 22:if(w.extra){for(P=w.extra;ie>>=w.extra,ie-=w.extra,w.back+=w.extra}w.was=w.length,w.mode=23;case 23:for(;ot=(T=w.distcode[se&(1<>>16&255,kt=65535&T,!((et=T>>>24)<=ie);){if(be===0)break e;be--,se+=fe[xe++]<>tt)])>>>16&255,kt=65535&T,!(tt+(et=T>>>24)<=ie);){if(be===0)break e;be--,se+=fe[xe++]<>>=tt,ie-=tt,w.back+=tt}if(se>>>=et,ie-=et,w.back+=et,64&ot){B.msg="invalid distance code",w.mode=30;break}w.offset=kt,w.extra=15&ot,w.mode=24;case 24:if(w.extra){for(P=w.extra;ie>>=w.extra,ie-=w.extra,w.back+=w.extra}if(w.offset>w.dmax){B.msg="invalid distance too far back",w.mode=30;break}w.mode=25;case 25:if(Fe===0)break e;if(we=Ce-Fe,w.offset>we){if((we=w.offset-we)>w.whave&&w.sane){B.msg="invalid distance too far back",w.mode=30;break}At=we>w.wnext?(we-=w.wnext,w.wsize-we):w.wnext-we,we>w.length&&(we=w.length),Ot=w.window}else Ot=Se,At=Oe-w.offset,we=w.length;for(Fere?(oe=At[Ot+A[_e]],ie[Re+A[_e]]):(oe=96,0),z=1<>Oe)+(H-=z)]=U<<24|oe<<16|de|0,H!==0;);for(z=1<>=1;if(z!==0?(se&=z-1,se+=z):se=0,_e++,--Ce[B]==0){if(B===fe)break;B=y[S+A[_e]]}if(Se>>7)]}function Re(T,j){T.pending_buf[T.pending++]=255&j,T.pending_buf[T.pending++]=j>>>8&255}function Ce(T,j,ee){T.bi_valid>C-ee?(T.bi_buf|=j<>C-T.bi_valid,T.bi_valid+=ee-C):(T.bi_buf|=j<>>=1,ee<<=1,0<--j;);return ee>>>1}function Ot(T,j,ee){var te,Y,le=new Array(A+1),ye=0;for(te=1;te<=A;te++)le[te]=ye=ye+ee[te-1]<<1;for(Y=0;Y<=j;Y++){var ge=T[2*Y+1];ge!==0&&(T[2*Y]=At(le[ge]++,ge))}}function et(T){var j;for(j=0;j>1;1<=ee;ee--)tt(T,le,ee);for(Y=ve;ee=T.heap[1],T.heap[1]=T.heap[T.heap_len--],tt(T,le,1),te=T.heap[1],T.heap[--T.heap_max]=ee,T.heap[--T.heap_max]=te,le[2*Y]=le[2*ee]+le[2*te],T.depth[Y]=(T.depth[ee]>=T.depth[te]?T.depth[ee]:T.depth[te])+1,le[2*ee+1]=le[2*te+1]=Y,T.heap[1]=Y++,tt(T,le,1),2<=T.heap_len;);T.heap[--T.heap_max]=T.heap[1],function(Ke,We){var nt,Gt,kn,Et,Pn,en,Bt=We.dyn_tree,sn=We.max_code,Ht=We.stat_desc.static_tree,Cn=We.stat_desc.has_stree,Xn=We.stat_desc.extra_bits,Kn=We.stat_desc.extra_base,Xt=We.stat_desc.max_length,yn=0;for(Et=0;Et<=A;Et++)Ke.bl_count[Et]=0;for(Bt[2*Ke.heap[Ke.heap_max]+1]=0,nt=Ke.heap_max+1;nt>=7;Y>>=1)if(1&Je&&ge.dyn_ltree[2*ve]!==0)return f;if(ge.dyn_ltree[18]!==0||ge.dyn_ltree[20]!==0||ge.dyn_ltree[26]!==0)return h;for(ve=32;ve>>3,(le=T.static_len+3+7>>>3)<=Y&&(Y=le)):Y=le=ee+5,ee+4<=Y&&j!==-1?P(T,j,ee,te):T.strategy===4||le===Y?(Ce(T,2+(te?1:0),3),Rt(T,De,B)):(Ce(T,4+(te?1:0),3),function(ge,ve,Je,Ke){var We;for(Ce(ge,ve-257,5),Ce(ge,Je-1,5),Ce(ge,Ke-4,4),We=0;We>>8&255,T.pending_buf[T.d_buf+2*T.last_lit+1]=255&j,T.pending_buf[T.l_buf+T.last_lit]=255&ee,T.last_lit++,j===0?T.dyn_ltree[2*ee]++:(T.matches++,j--,T.dyn_ltree[2*(w[ee]+y+1)]++,T.dyn_dtree[2*ie(j)]++),T.last_lit===T.lit_bufsize-1},c._tr_align=function(T){Ce(T,2,3),we(T,H,De),function(j){j.bi_valid===16?(Re(j,j.bi_buf),j.bi_buf=0,j.bi_valid=0):8<=j.bi_valid&&(j.pending_buf[j.pending++]=255&j.bi_buf,j.bi_buf>>=8,j.bi_valid-=8)}(T)}},{"../utils/common":41}],53:[function(l,u,c){"use strict";u.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(l,u,c){(function(p){(function(f,h){"use strict";if(!f.setImmediate){var k,D,I,y,S=1,M={},O=!1,N=f.document,A=Object.getPrototypeOf&&Object.getPrototypeOf(f);A=A&&A.setTimeout?A:f,k={}.toString.call(f.process)==="[object process]"?function(q){process.nextTick(function(){z(q)})}:function(){if(f.postMessage&&!f.importScripts){var q=!0,K=f.onmessage;return f.onmessage=function(){q=!1},f.postMessage("","*"),f.onmessage=K,q}}()?(y="setImmediate$"+Math.random()+"$",f.addEventListener?f.addEventListener("message",H,!1):f.attachEvent("onmessage",H),function(q){f.postMessage(y+q,"*")}):f.MessageChannel?((I=new MessageChannel).port1.onmessage=function(q){z(q.data)},function(q){I.port2.postMessage(q)}):N&&"onreadystatechange"in N.createElement("script")?(D=N.documentElement,function(q){var K=N.createElement("script");K.onreadystatechange=function(){z(q),K.onreadystatechange=null,D.removeChild(K),K=null},D.appendChild(K)}):function(q){setTimeout(z,0,q)},A.setImmediate=function(q){typeof q!="function"&&(q=new Function(""+q));for(var K=new Array(arguments.length-1),he=0;he{"use strict";var bi=ao&&ao.__assign||function(){return bi=Object.assign||function(l){for(var u,c=1,p=arguments.length;c{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.Tabs=void 0;var Jh=tu(),Qh=function(){function l(u){var c=this;u===void 0&&(u={}),this._currentTab="",this.tabEvents=new Jh.EventEmitter({beforeSwitch:!0,afterSwitch:!0}),$("*[data-tab]").on("click",function(h){var k=$(h.target),D=k.data("tab");h.preventDefault(),c.switchToTab(D)});var p=u.initialTab;if(!p&&window.location.hash){var f=window.location.hash.replace(/^#/,"");p=f}p||(p=$(".tab:first").attr("data-tab")),p&&this.switchToTab(p)}return l.prototype.switchToTab=function(u){var c=this,p=function(){var h=c._currentTab;c._currentTab=u;var k=u!=="level"?u:"";window.history&&window.history.replaceState(null,"","#"+k);var D=$('*[data-tab="'+u+'"]'),I=D.siblings("*[data-tab]"),y=$('*[data-tabtarget="'+u+'"]'),S=y.siblings("*[data-tabtarget]");I.removeClass("tab-selected"),D.addClass("tab-selected"),S.addClass("hidden"),y.removeClass("hidden"),c.tabEvents.emit("afterSwitch",{oldTab:h,newTab:u})};if(this._currentTab!=""){var f=this.tabEvents.emit("beforeSwitch",{oldTab:this._currentTab,newTab:u});f.then(p)}else p()},Object.defineProperty(l.prototype,"currentTab",{get:function(){return this._currentTab},enumerable:!1,configurable:!0}),l.prototype.on=function(u,c){var p=this.tabEvents.on(u,c);return u==="afterSwitch"&&this.tabEvents.emit("afterSwitch",{oldTab:"",newTab:this._currentTab}),p},l}();wi.Tabs=Qh});var ru=dt(Er=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.normal_prefix=Er.pygame_prefix=Er.turtle_prefix=void 0;Er.turtle_prefix=`# coding=utf8 +You did great!`,Transpile_warning:"Warning!",Unsaved_Changes:"You have an unsaved program. Do you want to leave without saving it?",adventures_restored:"The default adventures have been restored!",copy_link_to_share:"Copy link to share",customization_deleted:"Customizations successfully deleted.",dice:"\u{1F3B2}",directly_available:"Directly open",disabled:"Disabled",fortune:"\u{1F52E}, \u2728",haunted:"\u{1F987}, \u{1F47B}, \u{1F383}",level_title:"Level",restaurant:"\u{1F363}, \u{1F355}, \u{1F354}",rock:"\u2702\uFE0F, \u{1F4DC}, \u{1F5FB}",songs:"\u{1F3B5},\u{1F3B6}",teacher_welcome:"Welcome to Hedy! Your are now the proud owner of a teachers account which allows you to create classes and invite students.",turtle:"\u{1F422}",unsaved_class_changes:"There are unsaved changes, are you sure you want to leave this page?"}}});var io=dt(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.setClientMessageLanguage=jr.ClientMessages=void 0;var Ta=Zl();jr.ClientMessages=Object.assign({},Ta.TRANSLATIONS.en);function Uh(l){var u;Object.assign(jr.ClientMessages,(u=Ta.TRANSLATIONS[l])!==null&&u!==void 0?u:Ta.TRANSLATIONS.en)}jr.setClientMessageLanguage=Uh});var Lr=dt(On=>{"use strict";var Vh=On&&On.__awaiter||function(l,u,c,p){function f(h){return h instanceof c?h:new c(function(k){k(h)})}return new(c||(c=Promise))(function(h,k){function D(S){try{y(p.next(S))}catch(M){k(M)}}function I(S){try{y(p.throw(S))}catch(M){k(M)}}function y(S){S.done?h(S.value):f(S.value).then(D,I)}y((p=p.apply(l,u||[])).next())})},Yh=On&&On.__generator||function(l,u){var c={label:0,sent:function(){if(h[0]&1)throw h[1];return h[1]},trys:[],ops:[]},p,f,h,k;return k={next:D(0),throw:D(1),return:D(2)},typeof Symbol=="function"&&(k[Symbol.iterator]=function(){return this}),k;function D(y){return function(S){return I([y,S])}}function I(y){if(p)throw new TypeError("Generator is already executing.");for(;c;)try{if(p=1,f&&(h=y[0]&2?f.return:y[0]?f.throw||((h=f.return)&&h.call(f),0):f.next)&&!(h=h.call(f,y[1])).done)return h;switch(f=0,h&&(y=[y[0]&2,h.value]),y[0]){case 0:case 1:h=y;break;case 4:return c.label++,{value:y[1],done:!1};case 5:c.label++,f=y[1],y=[0];continue;case 7:y=c.ops.pop(),c.trys.pop();continue;default:if(h=c.trys,!(h=h.length>0&&h[h.length-1])&&(y[0]===6||y[0]===2)){c=0;continue}if(y[0]===3&&(!h||y[1]>h[0]&&y[1]{(function(l){typeof Jl=="object"&&typeof Pa!="undefined"?Pa.exports=l():typeof define=="function"&&define.amd?define([],l):(typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:this).JSZip=l()})(function(){return function l(u,c,p){function f(D,I){if(!c[D]){if(!u[D]){var y=typeof Bo=="function"&&Bo;if(!I&&y)return y(D,!0);if(h)return h(D,!0);var S=new Error("Cannot find module '"+D+"'");throw S.code="MODULE_NOT_FOUND",S}var M=c[D]={exports:{}};u[D][0].call(M.exports,function(O){var N=u[D][1][O];return f(N||O)},M,M.exports,l,u,c,p)}return c[D].exports}for(var h=typeof Bo=="function"&&Bo,k=0;k>2,M=(3&D)<<4|I>>4,O=1>6:64,N=2>4,I=(15&S)<<4|(M=h.indexOf(k.charAt(N++)))>>2,y=(3&M)<<6|(O=h.indexOf(k.charAt(N++))),z[A++]=D,M!==64&&(z[A++]=I),O!==64&&(z[A++]=y);return z}},{"./support":30,"./utils":32}],2:[function(l,u,c){"use strict";var p=l("./external"),f=l("./stream/DataWorker"),h=l("./stream/Crc32Probe"),k=l("./stream/DataLengthProbe");function D(I,y,S,M,O){this.compressedSize=I,this.uncompressedSize=y,this.crc32=S,this.compression=M,this.compressedContent=O}D.prototype={getContentWorker:function(){var I=new f(p.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new k("data_length")),y=this;return I.on("end",function(){if(this.streamInfo.data_length!==y.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),I},getCompressedWorker:function(){return new f(p.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},D.createWorkerFrom=function(I,y,S){return I.pipe(new h).pipe(new k("uncompressedSize")).pipe(y.compressWorker(S)).pipe(new k("compressedSize")).withStreamInfo("compression",y)},u.exports=D},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(l,u,c){"use strict";var p=l("./stream/GenericWorker");c.STORE={magic:"\0\0",compressWorker:function(){return new p("STORE compression")},uncompressWorker:function(){return new p("STORE decompression")}},c.DEFLATE=l("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(l,u,c){"use strict";var p=l("./utils"),f=function(){for(var h,k=[],D=0;D<256;D++){h=D;for(var I=0;I<8;I++)h=1&h?3988292384^h>>>1:h>>>1;k[D]=h}return k}();u.exports=function(h,k){return h!==void 0&&h.length?p.getTypeOf(h)!=="string"?function(D,I,y,S){var M=f,O=S+y;D^=-1;for(var N=S;N>>8^M[255&(D^I[N])];return-1^D}(0|k,h,h.length,0):function(D,I,y,S){var M=f,O=S+y;D^=-1;for(var N=S;N>>8^M[255&(D^I.charCodeAt(N))];return-1^D}(0|k,h,h.length,0):0}},{"./utils":32}],5:[function(l,u,c){"use strict";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!0,c.date=null,c.compression=null,c.compressionOptions=null,c.comment=null,c.unixPermissions=null,c.dosPermissions=null},{}],6:[function(l,u,c){"use strict";var p=null;p=typeof Promise!="undefined"?Promise:l("lie"),u.exports={Promise:p}},{lie:37}],7:[function(l,u,c){"use strict";var p=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Uint32Array!="undefined",f=l("pako"),h=l("./utils"),k=l("./stream/GenericWorker"),D=p?"uint8array":"array";function I(y,S){k.call(this,"FlateWorker/"+y),this._pako=null,this._pakoAction=y,this._pakoOptions=S,this.meta={}}c.magic="\b\0",h.inherits(I,k),I.prototype.processChunk=function(y){this.meta=y.meta,this._pako===null&&this._createPako(),this._pako.push(h.transformTo(D,y.data),!1)},I.prototype.flush=function(){k.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},I.prototype.cleanUp=function(){k.prototype.cleanUp.call(this),this._pako=null},I.prototype._createPako=function(){this._pako=new f[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var y=this;this._pako.onData=function(S){y.push({data:S,meta:y.meta})}},c.compressWorker=function(y){return new I("Deflate",y)},c.uncompressWorker=function(){return new I("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(l,u,c){"use strict";function p(M,O){var N,A="";for(N=0;N>>=8;return A}function f(M,O,N,A,C,z){var H,q,K=M.file,he=M.compression,re=z!==D.utf8encode,U=h.transformTo("string",z(K.name)),oe=h.transformTo("string",D.utf8encode(K.name)),de=K.comment,De=h.transformTo("string",z(de)),B=h.transformTo("string",D.utf8encode(de)),_e=oe.length!==K.name.length,w=B.length!==de.length,fe="",Se="",xe="",Oe=K.dir,be=K.date,Fe={crc32:0,compressedSize:0,uncompressedSize:0};O&&!N||(Fe.crc32=M.crc32,Fe.compressedSize=M.compressedSize,Fe.uncompressedSize=M.uncompressedSize);var se=0;O&&(se|=8),re||!_e&&!w||(se|=2048);var ie=0,Re=0;Oe&&(ie|=16),C==="UNIX"?(Re=798,ie|=function(we,At){var Ot=we;return we||(Ot=At?16893:33204),(65535&Ot)<<16}(K.unixPermissions,Oe)):(Re=20,ie|=function(we){return 63&(we||0)}(K.dosPermissions)),H=be.getUTCHours(),H<<=6,H|=be.getUTCMinutes(),H<<=5,H|=be.getUTCSeconds()/2,q=be.getUTCFullYear()-1980,q<<=4,q|=be.getUTCMonth()+1,q<<=5,q|=be.getUTCDate(),_e&&(Se=p(1,1)+p(I(U),4)+oe,fe+="up"+p(Se.length,2)+Se),w&&(xe=p(1,1)+p(I(De),4)+B,fe+="uc"+p(xe.length,2)+xe);var Ce="";return Ce+=` +\0`,Ce+=p(se,2),Ce+=he.magic,Ce+=p(H,2),Ce+=p(q,2),Ce+=p(Fe.crc32,4),Ce+=p(Fe.compressedSize,4),Ce+=p(Fe.uncompressedSize,4),Ce+=p(U.length,2),Ce+=p(fe.length,2),{fileRecord:y.LOCAL_FILE_HEADER+Ce+U+fe,dirRecord:y.CENTRAL_FILE_HEADER+p(Re,2)+Ce+p(De.length,2)+"\0\0\0\0"+p(ie,4)+p(A,4)+U+fe+De}}var h=l("../utils"),k=l("../stream/GenericWorker"),D=l("../utf8"),I=l("../crc32"),y=l("../signature");function S(M,O,N,A){k.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=O,this.zipPlatform=N,this.encodeFileName=A,this.streamFiles=M,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}h.inherits(S,k),S.prototype.push=function(M){var O=M.meta.percent||0,N=this.entriesCount,A=this._sources.length;this.accumulate?this.contentBuffer.push(M):(this.bytesWritten+=M.data.length,k.prototype.push.call(this,{data:M.data,meta:{currentFile:this.currentFile,percent:N?(O+100*(N-A-1))/N:100}}))},S.prototype.openedSource=function(M){this.currentSourceOffset=this.bytesWritten,this.currentFile=M.file.name;var O=this.streamFiles&&!M.file.dir;if(O){var N=f(M,O,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:N.fileRecord,meta:{percent:0}})}else this.accumulate=!0},S.prototype.closedSource=function(M){this.accumulate=!1;var O=this.streamFiles&&!M.file.dir,N=f(M,O,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(N.dirRecord),O)this.push({data:function(A){return y.DATA_DESCRIPTOR+p(A.crc32,4)+p(A.compressedSize,4)+p(A.uncompressedSize,4)}(M),meta:{percent:100}});else for(this.push({data:N.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},S.prototype.flush=function(){for(var M=this.bytesWritten,O=0;O=this.index;k--)D=(D<<8)+this.byteAt(k);return this.index+=h,D},readString:function(h){return p.transformTo("string",this.readData(h))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var h=this.readInt(4);return new Date(Date.UTC(1980+(h>>25&127),(h>>21&15)-1,h>>16&31,h>>11&31,h>>5&63,(31&h)<<1))}},u.exports=f},{"../utils":32}],19:[function(l,u,c){"use strict";var p=l("./Uint8ArrayReader");function f(h){p.call(this,h)}l("../utils").inherits(f,p),f.prototype.readData=function(h){this.checkOffset(h);var k=this.data.slice(this.zero+this.index,this.zero+this.index+h);return this.index+=h,k},u.exports=f},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(l,u,c){"use strict";var p=l("./DataReader");function f(h){p.call(this,h)}l("../utils").inherits(f,p),f.prototype.byteAt=function(h){return this.data.charCodeAt(this.zero+h)},f.prototype.lastIndexOfSignature=function(h){return this.data.lastIndexOf(h)-this.zero},f.prototype.readAndCheckSignature=function(h){return h===this.readData(4)},f.prototype.readData=function(h){this.checkOffset(h);var k=this.data.slice(this.zero+this.index,this.zero+this.index+h);return this.index+=h,k},u.exports=f},{"../utils":32,"./DataReader":18}],21:[function(l,u,c){"use strict";var p=l("./ArrayReader");function f(h){p.call(this,h)}l("../utils").inherits(f,p),f.prototype.readData=function(h){if(this.checkOffset(h),h===0)return new Uint8Array(0);var k=this.data.subarray(this.zero+this.index,this.zero+this.index+h);return this.index+=h,k},u.exports=f},{"../utils":32,"./ArrayReader":17}],22:[function(l,u,c){"use strict";var p=l("../utils"),f=l("../support"),h=l("./ArrayReader"),k=l("./StringReader"),D=l("./NodeBufferReader"),I=l("./Uint8ArrayReader");u.exports=function(y){var S=p.getTypeOf(y);return p.checkSupport(S),S!=="string"||f.uint8array?S==="nodebuffer"?new D(y):f.uint8array?new I(p.transformTo("uint8array",y)):new h(p.transformTo("array",y)):new k(y)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(l,u,c){"use strict";c.LOCAL_FILE_HEADER="PK",c.CENTRAL_FILE_HEADER="PK",c.CENTRAL_DIRECTORY_END="PK",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",c.ZIP64_CENTRAL_DIRECTORY_END="PK",c.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(l,u,c){"use strict";var p=l("./GenericWorker"),f=l("../utils");function h(k){p.call(this,"ConvertWorker to "+k),this.destType=k}f.inherits(h,p),h.prototype.processChunk=function(k){this.push({data:f.transformTo(this.destType,k.data),meta:k.meta})},u.exports=h},{"../utils":32,"./GenericWorker":28}],25:[function(l,u,c){"use strict";var p=l("./GenericWorker"),f=l("../crc32");function h(){p.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}l("../utils").inherits(h,p),h.prototype.processChunk=function(k){this.streamInfo.crc32=f(k.data,this.streamInfo.crc32||0),this.push(k)},u.exports=h},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(l,u,c){"use strict";var p=l("../utils"),f=l("./GenericWorker");function h(k){f.call(this,"DataLengthProbe for "+k),this.propName=k,this.withStreamInfo(k,0)}p.inherits(h,f),h.prototype.processChunk=function(k){if(k){var D=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=D+k.data.length}f.prototype.processChunk.call(this,k)},u.exports=h},{"../utils":32,"./GenericWorker":28}],27:[function(l,u,c){"use strict";var p=l("../utils"),f=l("./GenericWorker");function h(k){f.call(this,"DataWorker");var D=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,k.then(function(I){D.dataIsReady=!0,D.data=I,D.max=I&&I.length||0,D.type=p.getTypeOf(I),D.isPaused||D._tickAndRepeat()},function(I){D.error(I)})}p.inherits(h,f),h.prototype.cleanUp=function(){f.prototype.cleanUp.call(this),this.data=null},h.prototype.resume=function(){return!!f.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,p.delay(this._tickAndRepeat,[],this)),!0)},h.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(p.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},h.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var k=null,D=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":k=this.data.substring(this.index,D);break;case"uint8array":k=this.data.subarray(this.index,D);break;case"array":case"nodebuffer":k=this.data.slice(this.index,D)}return this.index=D,this.push({data:k,meta:{percent:this.max?this.index/this.max*100:0}})},u.exports=h},{"../utils":32,"./GenericWorker":28}],28:[function(l,u,c){"use strict";function p(f){this.name=f||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}p.prototype={push:function(f){this.emit("data",f)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(f){this.emit("error",f)}return!0},error:function(f){return!this.isFinished&&(this.isPaused?this.generatedError=f:(this.isFinished=!0,this.emit("error",f),this.previous&&this.previous.error(f),this.cleanUp()),!0)},on:function(f,h){return this._listeners[f].push(h),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(f,h){if(this._listeners[f])for(var k=0;k "+f:f}},u.exports=p},{}],29:[function(l,u,c){"use strict";var p=l("../utils"),f=l("./ConvertWorker"),h=l("./GenericWorker"),k=l("../base64"),D=l("../support"),I=l("../external"),y=null;if(D.nodestream)try{y=l("../nodejs/NodejsStreamOutputAdapter")}catch(O){}function S(O,N){return new I.Promise(function(A,C){var z=[],H=O._internalType,q=O._outputType,K=O._mimeType;O.on("data",function(he,re){z.push(he),N&&N(re)}).on("error",function(he){z=[],C(he)}).on("end",function(){try{var he=function(re,U,oe){switch(re){case"blob":return p.newBlob(p.transformTo("arraybuffer",U),oe);case"base64":return k.encode(U);default:return p.transformTo(re,U)}}(q,function(re,U){var oe,de=0,De=null,B=0;for(oe=0;oe>>6:(A<65536?N[H++]=224|A>>>12:(N[H++]=240|A>>>18,N[H++]=128|A>>>12&63),N[H++]=128|A>>>6&63),N[H++]=128|63&A);return N}(M)},c.utf8decode=function(M){return f.nodebuffer?p.transformTo("nodebuffer",M).toString("utf-8"):function(O){var N,A,C,z,H=O.length,q=new Array(2*H);for(N=A=0;N>10&1023,q[A++]=56320|1023&C)}return q.length!==A&&(q.subarray?q=q.subarray(0,A):q.length=A),p.applyFromCharCode(q)}(M=p.transformTo(f.uint8array?"uint8array":"array",M))},p.inherits(y,k),y.prototype.processChunk=function(M){var O=p.transformTo(f.uint8array?"uint8array":"array",M.data);if(this.leftOver&&this.leftOver.length){if(f.uint8array){var N=O;(O=new Uint8Array(N.length+this.leftOver.length)).set(this.leftOver,0),O.set(N,this.leftOver.length)}else O=this.leftOver.concat(O);this.leftOver=null}var A=function(z,H){var q;for((H=H||z.length)>z.length&&(H=z.length),q=H-1;0<=q&&(192&z[q])==128;)q--;return q<0||q===0?H:q+D[z[q]]>H?q:H}(O),C=O;A!==O.length&&(f.uint8array?(C=O.subarray(0,A),this.leftOver=O.subarray(A,O.length)):(C=O.slice(0,A),this.leftOver=O.slice(A,O.length))),this.push({data:c.utf8decode(C),meta:M.meta})},y.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:c.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},c.Utf8DecodeWorker=y,p.inherits(S,k),S.prototype.processChunk=function(M){this.push({data:c.utf8encode(M.data),meta:M.meta})},c.Utf8EncodeWorker=S},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(l,u,c){"use strict";var p=l("./support"),f=l("./base64"),h=l("./nodejsUtils"),k=l("./external");function D(N){return N}function I(N,A){for(var C=0;C>8;this.dir=!!(16&this.externalFileAttributes),M==0&&(this.dosPermissions=63&this.externalFileAttributes),M==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var M=p(this.extraFields[1].value);this.uncompressedSize===f.MAX_VALUE_32BITS&&(this.uncompressedSize=M.readInt(8)),this.compressedSize===f.MAX_VALUE_32BITS&&(this.compressedSize=M.readInt(8)),this.localHeaderOffset===f.MAX_VALUE_32BITS&&(this.localHeaderOffset=M.readInt(8)),this.diskNumberStart===f.MAX_VALUE_32BITS&&(this.diskNumberStart=M.readInt(4))}},readExtraFields:function(M){var O,N,A,C=M.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});M.index+4>>6:(M<65536?S[A++]=224|M>>>12:(S[A++]=240|M>>>18,S[A++]=128|M>>>12&63),S[A++]=128|M>>>6&63),S[A++]=128|63&M);return S},c.buf2binstring=function(y){return I(y,y.length)},c.binstring2buf=function(y){for(var S=new p.Buf8(y.length),M=0,O=S.length;M>10&1023,z[O++]=56320|1023&N)}return I(z,O)},c.utf8border=function(y,S){var M;for((S=S||y.length)>y.length&&(S=y.length),M=S-1;0<=M&&(192&y[M])==128;)M--;return M<0||M===0?S:M+k[y[M]]>S?M:S}},{"./common":41}],43:[function(l,u,c){"use strict";u.exports=function(p,f,h,k){for(var D=65535&p|0,I=p>>>16&65535|0,y=0;h!==0;){for(h-=y=2e3>>1:f>>>1;h[k]=f}return h}();u.exports=function(f,h,k,D){var I=p,y=D+k;f^=-1;for(var S=D;S>>8^I[255&(f^h[S])];return-1^f}},{}],46:[function(l,u,c){"use strict";var p,f=l("../utils/common"),h=l("./trees"),k=l("./adler32"),D=l("./crc32"),I=l("./messages"),y=0,S=4,M=0,O=-2,N=-1,A=4,C=2,z=8,H=9,q=286,K=30,he=19,re=2*q+1,U=15,oe=3,de=258,De=de+oe+1,B=42,_e=113,w=1,fe=2,Se=3,xe=4;function Oe(g,ue){return g.msg=I[ue],ue}function be(g){return(g<<1)-(4g.avail_out&&(Z=g.avail_out),Z!==0&&(f.arraySet(g.output,ue.pending_buf,ue.pending_out,Z,g.next_out),g.next_out+=Z,ue.pending_out+=Z,g.total_out+=Z,g.avail_out-=Z,ue.pending-=Z,ue.pending===0&&(ue.pending_out=0))}function ie(g,ue){h._tr_flush_block(g,0<=g.block_start?g.block_start:-1,g.strstart-g.block_start,ue),g.block_start=g.strstart,se(g.strm)}function Re(g,ue){g.pending_buf[g.pending++]=ue}function Ce(g,ue){g.pending_buf[g.pending++]=ue>>>8&255,g.pending_buf[g.pending++]=255&ue}function we(g,ue){var Z,P,T=g.max_chain_length,j=g.strstart,ee=g.prev_length,te=g.nice_match,Y=g.strstart>g.w_size-De?g.strstart-(g.w_size-De):0,le=g.window,ye=g.w_mask,ge=g.prev,ve=g.strstart+de,Je=le[j+ee-1],Ke=le[j+ee];g.prev_length>=g.good_match&&(T>>=2),te>g.lookahead&&(te=g.lookahead);do if(le[(Z=ue)+ee]===Ke&&le[Z+ee-1]===Je&&le[Z]===le[j]&&le[++Z]===le[j+1]){j+=2,Z++;do;while(le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&le[++j]===le[++Z]&&jY&&--T!=0);return ee<=g.lookahead?ee:g.lookahead}function At(g){var ue,Z,P,T,j,ee,te,Y,le,ye,ge=g.w_size;do{if(T=g.window_size-g.lookahead-g.strstart,g.strstart>=ge+(ge-De)){for(f.arraySet(g.window,g.window,ge,ge,0),g.match_start-=ge,g.strstart-=ge,g.block_start-=ge,ue=Z=g.hash_size;P=g.head[--ue],g.head[ue]=ge<=P?P-ge:0,--Z;);for(ue=Z=ge;P=g.prev[--ue],g.prev[ue]=ge<=P?P-ge:0,--Z;);T+=ge}if(g.strm.avail_in===0)break;if(ee=g.strm,te=g.window,Y=g.strstart+g.lookahead,le=T,ye=void 0,ye=ee.avail_in,le=oe)for(j=g.strstart-g.insert,g.ins_h=g.window[j],g.ins_h=(g.ins_h<=oe&&(g.ins_h=(g.ins_h<=oe)if(P=h._tr_tally(g,g.strstart-g.match_start,g.match_length-oe),g.lookahead-=g.match_length,g.match_length<=g.max_lazy_match&&g.lookahead>=oe){for(g.match_length--;g.strstart++,g.ins_h=(g.ins_h<=oe&&(g.ins_h=(g.ins_h<=oe&&g.match_length<=g.prev_length){for(T=g.strstart+g.lookahead-oe,P=h._tr_tally(g,g.strstart-1-g.prev_match,g.prev_length-oe),g.lookahead-=g.prev_length-1,g.prev_length-=2;++g.strstart<=T&&(g.ins_h=(g.ins_h<g.pending_buf_size-5&&(Z=g.pending_buf_size-5);;){if(g.lookahead<=1){if(At(g),g.lookahead===0&&ue===y)return w;if(g.lookahead===0)break}g.strstart+=g.lookahead,g.lookahead=0;var P=g.block_start+Z;if((g.strstart===0||g.strstart>=P)&&(g.lookahead=g.strstart-P,g.strstart=P,ie(g,!1),g.strm.avail_out===0)||g.strstart-g.block_start>=g.w_size-De&&(ie(g,!1),g.strm.avail_out===0))return w}return g.insert=0,ue===S?(ie(g,!0),g.strm.avail_out===0?Se:xe):(g.strstart>g.block_start&&(ie(g,!1),g.strm.avail_out),w)}),new ot(4,4,8,4,Ot),new ot(4,5,16,8,Ot),new ot(4,6,32,32,Ot),new ot(4,4,16,16,et),new ot(8,16,32,32,et),new ot(8,16,128,128,et),new ot(8,32,128,256,et),new ot(32,128,258,1024,et),new ot(32,258,258,4096,et)],c.deflateInit=function(g,ue){return yt(g,ue,z,15,8,0)},c.deflateInit2=yt,c.deflateReset=Rt,c.deflateResetKeep=tt,c.deflateSetHeader=function(g,ue){return g&&g.state?g.state.wrap!==2?O:(g.state.gzhead=ue,M):O},c.deflate=function(g,ue){var Z,P,T,j;if(!g||!g.state||5>8&255),Re(P,P.gzhead.time>>16&255),Re(P,P.gzhead.time>>24&255),Re(P,P.level===9?2:2<=P.strategy||P.level<2?4:0),Re(P,255&P.gzhead.os),P.gzhead.extra&&P.gzhead.extra.length&&(Re(P,255&P.gzhead.extra.length),Re(P,P.gzhead.extra.length>>8&255)),P.gzhead.hcrc&&(g.adler=D(g.adler,P.pending_buf,P.pending,0)),P.gzindex=0,P.status=69):(Re(P,0),Re(P,0),Re(P,0),Re(P,0),Re(P,0),Re(P,P.level===9?2:2<=P.strategy||P.level<2?4:0),Re(P,3),P.status=_e);else{var ee=z+(P.w_bits-8<<4)<<8;ee|=(2<=P.strategy||P.level<2?0:P.level<6?1:P.level===6?2:3)<<6,P.strstart!==0&&(ee|=32),ee+=31-ee%31,P.status=_e,Ce(P,ee),P.strstart!==0&&(Ce(P,g.adler>>>16),Ce(P,65535&g.adler)),g.adler=1}if(P.status===69)if(P.gzhead.extra){for(T=P.pending;P.gzindex<(65535&P.gzhead.extra.length)&&(P.pending!==P.pending_buf_size||(P.gzhead.hcrc&&P.pending>T&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),se(g),T=P.pending,P.pending!==P.pending_buf_size));)Re(P,255&P.gzhead.extra[P.gzindex]),P.gzindex++;P.gzhead.hcrc&&P.pending>T&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),P.gzindex===P.gzhead.extra.length&&(P.gzindex=0,P.status=73)}else P.status=73;if(P.status===73)if(P.gzhead.name){T=P.pending;do{if(P.pending===P.pending_buf_size&&(P.gzhead.hcrc&&P.pending>T&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),se(g),T=P.pending,P.pending===P.pending_buf_size)){j=1;break}j=P.gzindexT&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),j===0&&(P.gzindex=0,P.status=91)}else P.status=91;if(P.status===91)if(P.gzhead.comment){T=P.pending;do{if(P.pending===P.pending_buf_size&&(P.gzhead.hcrc&&P.pending>T&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),se(g),T=P.pending,P.pending===P.pending_buf_size)){j=1;break}j=P.gzindexT&&(g.adler=D(g.adler,P.pending_buf,P.pending-T,T)),j===0&&(P.status=103)}else P.status=103;if(P.status===103&&(P.gzhead.hcrc?(P.pending+2>P.pending_buf_size&&se(g),P.pending+2<=P.pending_buf_size&&(Re(P,255&g.adler),Re(P,g.adler>>8&255),g.adler=0,P.status=_e)):P.status=_e),P.pending!==0){if(se(g),g.avail_out===0)return P.last_flush=-1,M}else if(g.avail_in===0&&be(ue)<=be(Z)&&ue!==S)return Oe(g,-5);if(P.status===666&&g.avail_in!==0)return Oe(g,-5);if(g.avail_in!==0||P.lookahead!==0||ue!==y&&P.status!==666){var te=P.strategy===2?function(Y,le){for(var ye;;){if(Y.lookahead===0&&(At(Y),Y.lookahead===0)){if(le===y)return w;break}if(Y.match_length=0,ye=h._tr_tally(Y,0,Y.window[Y.strstart]),Y.lookahead--,Y.strstart++,ye&&(ie(Y,!1),Y.strm.avail_out===0))return w}return Y.insert=0,le===S?(ie(Y,!0),Y.strm.avail_out===0?Se:xe):Y.last_lit&&(ie(Y,!1),Y.strm.avail_out===0)?w:fe}(P,ue):P.strategy===3?function(Y,le){for(var ye,ge,ve,Je,Ke=Y.window;;){if(Y.lookahead<=de){if(At(Y),Y.lookahead<=de&&le===y)return w;if(Y.lookahead===0)break}if(Y.match_length=0,Y.lookahead>=oe&&0Y.lookahead&&(Y.match_length=Y.lookahead)}if(Y.match_length>=oe?(ye=h._tr_tally(Y,1,Y.match_length-oe),Y.lookahead-=Y.match_length,Y.strstart+=Y.match_length,Y.match_length=0):(ye=h._tr_tally(Y,0,Y.window[Y.strstart]),Y.lookahead--,Y.strstart++),ye&&(ie(Y,!1),Y.strm.avail_out===0))return w}return Y.insert=0,le===S?(ie(Y,!0),Y.strm.avail_out===0?Se:xe):Y.last_lit&&(ie(Y,!1),Y.strm.avail_out===0)?w:fe}(P,ue):p[P.level].func(P,ue);if(te!==Se&&te!==xe||(P.status=666),te===w||te===Se)return g.avail_out===0&&(P.last_flush=-1),M;if(te===fe&&(ue===1?h._tr_align(P):ue!==5&&(h._tr_stored_block(P,0,0,!1),ue===3&&(Fe(P.head),P.lookahead===0&&(P.strstart=0,P.block_start=0,P.insert=0))),se(g),g.avail_out===0))return P.last_flush=-1,M}return ue!==S?M:P.wrap<=0?1:(P.wrap===2?(Re(P,255&g.adler),Re(P,g.adler>>8&255),Re(P,g.adler>>16&255),Re(P,g.adler>>24&255),Re(P,255&g.total_in),Re(P,g.total_in>>8&255),Re(P,g.total_in>>16&255),Re(P,g.total_in>>24&255)):(Ce(P,g.adler>>>16),Ce(P,65535&g.adler)),se(g),0=Z.w_size&&(j===0&&(Fe(Z.head),Z.strstart=0,Z.block_start=0,Z.insert=0),le=new f.Buf8(Z.w_size),f.arraySet(le,ue,ye-Z.w_size,Z.w_size,0),ue=le,ye=Z.w_size),ee=g.avail_in,te=g.next_in,Y=g.input,g.avail_in=ye,g.next_in=0,g.input=ue,At(Z);Z.lookahead>=oe;){for(P=Z.strstart,T=Z.lookahead-(oe-1);Z.ins_h=(Z.ins_h<>>=oe=U>>>24,H-=oe,(oe=U>>>16&255)==0)fe[I++]=65535&U;else{if(!(16&oe)){if((64&oe)==0){U=q[(65535&U)+(z&(1<>>=oe,H-=oe),H<15&&(z+=w[k++]<>>=oe=U>>>24,H-=oe,!(16&(oe=U>>>16&255))){if((64&oe)==0){U=K[(65535&U)+(z&(1<>>=oe,H-=oe,(oe=I-y)>3,z&=(1<<(H-=de<<3))-1,p.next_in=k,p.next_out=I,p.avail_in=k>>24&255)+(B>>>8&65280)+((65280&B)<<8)+((255&B)<<24)}function z(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new p.Buf16(320),this.work=new p.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function H(B){var _e;return B&&B.state?(_e=B.state,B.total_in=B.total_out=_e.total=0,B.msg="",_e.wrap&&(B.adler=1&_e.wrap),_e.mode=O,_e.last=0,_e.havedict=0,_e.dmax=32768,_e.head=null,_e.hold=0,_e.bits=0,_e.lencode=_e.lendyn=new p.Buf32(N),_e.distcode=_e.distdyn=new p.Buf32(A),_e.sane=1,_e.back=-1,S):M}function q(B){var _e;return B&&B.state?((_e=B.state).wsize=0,_e.whave=0,_e.wnext=0,H(B)):M}function K(B,_e){var w,fe;return B&&B.state?(fe=B.state,_e<0?(w=0,_e=-_e):(w=1+(_e>>4),_e<48&&(_e&=15)),_e&&(_e<8||15<_e)?M:(fe.window!==null&&fe.wbits!==_e&&(fe.window=null),fe.wrap=w,fe.wbits=_e,q(B))):M}function he(B,_e){var w,fe;return B?(fe=new z,(B.state=fe).window=null,(w=K(B,_e))!==S&&(B.state=null),w):M}var re,U,oe=!0;function de(B){if(oe){var _e;for(re=new p.Buf32(512),U=new p.Buf32(32),_e=0;_e<144;)B.lens[_e++]=8;for(;_e<256;)B.lens[_e++]=9;for(;_e<280;)B.lens[_e++]=7;for(;_e<288;)B.lens[_e++]=8;for(D(I,B.lens,0,288,re,0,B.work,{bits:9}),_e=0;_e<32;)B.lens[_e++]=5;D(y,B.lens,0,32,U,0,B.work,{bits:5}),oe=!1}B.lencode=re,B.lenbits=9,B.distcode=U,B.distbits=5}function De(B,_e,w,fe){var Se,xe=B.state;return xe.window===null&&(xe.wsize=1<=xe.wsize?(p.arraySet(xe.window,_e,w-xe.wsize,xe.wsize,0),xe.wnext=0,xe.whave=xe.wsize):(fe<(Se=xe.wsize-xe.wnext)&&(Se=fe),p.arraySet(xe.window,_e,w-fe,Se,xe.wnext),(fe-=Se)?(p.arraySet(xe.window,_e,w-fe,fe,0),xe.wnext=fe,xe.whave=xe.wsize):(xe.wnext+=Se,xe.wnext===xe.wsize&&(xe.wnext=0),xe.whave>>8&255,w.check=h(w.check,j,2,0),ie=se=0,w.mode=2;break}if(w.flags=0,w.head&&(w.head.done=!1),!(1&w.wrap)||(((255&se)<<8)+(se>>8))%31){B.msg="incorrect header check",w.mode=30;break}if((15&se)!=8){B.msg="unknown compression method",w.mode=30;break}if(ie-=4,g=8+(15&(se>>>=4)),w.wbits===0)w.wbits=g;else if(g>w.wbits){B.msg="invalid window size",w.mode=30;break}w.dmax=1<>8&1),512&w.flags&&(j[0]=255&se,j[1]=se>>>8&255,w.check=h(w.check,j,2,0)),ie=se=0,w.mode=3;case 3:for(;ie<32;){if(be===0)break e;be--,se+=fe[xe++]<>>8&255,j[2]=se>>>16&255,j[3]=se>>>24&255,w.check=h(w.check,j,4,0)),ie=se=0,w.mode=4;case 4:for(;ie<16;){if(be===0)break e;be--,se+=fe[xe++]<>8),512&w.flags&&(j[0]=255&se,j[1]=se>>>8&255,w.check=h(w.check,j,2,0)),ie=se=0,w.mode=5;case 5:if(1024&w.flags){for(;ie<16;){if(be===0)break e;be--,se+=fe[xe++]<>>8&255,w.check=h(w.check,j,2,0)),ie=se=0}else w.head&&(w.head.extra=null);w.mode=6;case 6:if(1024&w.flags&&(be<(we=w.length)&&(we=be),we&&(w.head&&(g=w.head.extra_len-w.length,w.head.extra||(w.head.extra=new Array(w.head.extra_len)),p.arraySet(w.head.extra,fe,xe,we,g)),512&w.flags&&(w.check=h(w.check,fe,we,xe)),be-=we,xe+=we,w.length-=we),w.length))break e;w.length=0,w.mode=7;case 7:if(2048&w.flags){if(be===0)break e;for(we=0;g=fe[xe+we++],w.head&&g&&w.length<65536&&(w.head.name+=String.fromCharCode(g)),g&&we>9&1,w.head.done=!0),B.adler=w.check=0,w.mode=12;break;case 10:for(;ie<32;){if(be===0)break e;be--,se+=fe[xe++]<>>=7&ie,ie-=7&ie,w.mode=27;break}for(;ie<3;){if(be===0)break e;be--,se+=fe[xe++]<>>=1)){case 0:w.mode=14;break;case 1:if(de(w),w.mode=20,_e!==6)break;se>>>=2,ie-=2;break e;case 2:w.mode=17;break;case 3:B.msg="invalid block type",w.mode=30}se>>>=2,ie-=2;break;case 14:for(se>>>=7&ie,ie-=7&ie;ie<32;){if(be===0)break e;be--,se+=fe[xe++]<>>16^65535)){B.msg="invalid stored block lengths",w.mode=30;break}if(w.length=65535&se,ie=se=0,w.mode=15,_e===6)break e;case 15:w.mode=16;case 16:if(we=w.length){if(be>>=5,ie-=5,w.ndist=1+(31&se),se>>>=5,ie-=5,w.ncode=4+(15&se),se>>>=4,ie-=4,286>>=3,ie-=3}for(;w.have<19;)w.lens[ee[w.have++]]=0;if(w.lencode=w.lendyn,w.lenbits=7,Z={bits:w.lenbits},ue=D(0,w.lens,0,19,w.lencode,0,w.work,Z),w.lenbits=Z.bits,ue){B.msg="invalid code lengths set",w.mode=30;break}w.have=0,w.mode=19;case 19:for(;w.have>>16&255,kt=65535&T,!((et=T>>>24)<=ie);){if(be===0)break e;be--,se+=fe[xe++]<>>=et,ie-=et,w.lens[w.have++]=kt;else{if(kt===16){for(P=et+2;ie>>=et,ie-=et,w.have===0){B.msg="invalid bit length repeat",w.mode=30;break}g=w.lens[w.have-1],we=3+(3&se),se>>>=2,ie-=2}else if(kt===17){for(P=et+3;ie>>=et)),se>>>=3,ie-=3}else{for(P=et+7;ie>>=et)),se>>>=7,ie-=7}if(w.have+we>w.nlen+w.ndist){B.msg="invalid bit length repeat",w.mode=30;break}for(;we--;)w.lens[w.have++]=g}}if(w.mode===30)break;if(w.lens[256]===0){B.msg="invalid code -- missing end-of-block",w.mode=30;break}if(w.lenbits=9,Z={bits:w.lenbits},ue=D(I,w.lens,0,w.nlen,w.lencode,0,w.work,Z),w.lenbits=Z.bits,ue){B.msg="invalid literal/lengths set",w.mode=30;break}if(w.distbits=6,w.distcode=w.distdyn,Z={bits:w.distbits},ue=D(y,w.lens,w.nlen,w.ndist,w.distcode,0,w.work,Z),w.distbits=Z.bits,ue){B.msg="invalid distances set",w.mode=30;break}if(w.mode=20,_e===6)break e;case 20:w.mode=21;case 21:if(6<=be&&258<=Fe){B.next_out=Oe,B.avail_out=Fe,B.next_in=xe,B.avail_in=be,w.hold=se,w.bits=ie,k(B,Ce),Oe=B.next_out,Se=B.output,Fe=B.avail_out,xe=B.next_in,fe=B.input,be=B.avail_in,se=w.hold,ie=w.bits,w.mode===12&&(w.back=-1);break}for(w.back=0;ot=(T=w.lencode[se&(1<>>16&255,kt=65535&T,!((et=T>>>24)<=ie);){if(be===0)break e;be--,se+=fe[xe++]<>tt)])>>>16&255,kt=65535&T,!(tt+(et=T>>>24)<=ie);){if(be===0)break e;be--,se+=fe[xe++]<>>=tt,ie-=tt,w.back+=tt}if(se>>>=et,ie-=et,w.back+=et,w.length=kt,ot===0){w.mode=26;break}if(32&ot){w.back=-1,w.mode=12;break}if(64&ot){B.msg="invalid literal/length code",w.mode=30;break}w.extra=15&ot,w.mode=22;case 22:if(w.extra){for(P=w.extra;ie>>=w.extra,ie-=w.extra,w.back+=w.extra}w.was=w.length,w.mode=23;case 23:for(;ot=(T=w.distcode[se&(1<>>16&255,kt=65535&T,!((et=T>>>24)<=ie);){if(be===0)break e;be--,se+=fe[xe++]<>tt)])>>>16&255,kt=65535&T,!(tt+(et=T>>>24)<=ie);){if(be===0)break e;be--,se+=fe[xe++]<>>=tt,ie-=tt,w.back+=tt}if(se>>>=et,ie-=et,w.back+=et,64&ot){B.msg="invalid distance code",w.mode=30;break}w.offset=kt,w.extra=15&ot,w.mode=24;case 24:if(w.extra){for(P=w.extra;ie>>=w.extra,ie-=w.extra,w.back+=w.extra}if(w.offset>w.dmax){B.msg="invalid distance too far back",w.mode=30;break}w.mode=25;case 25:if(Fe===0)break e;if(we=Ce-Fe,w.offset>we){if((we=w.offset-we)>w.whave&&w.sane){B.msg="invalid distance too far back",w.mode=30;break}At=we>w.wnext?(we-=w.wnext,w.wsize-we):w.wnext-we,we>w.length&&(we=w.length),Ot=w.window}else Ot=Se,At=Oe-w.offset,we=w.length;for(Fere?(oe=At[Ot+A[_e]],ie[Re+A[_e]]):(oe=96,0),z=1<>Oe)+(H-=z)]=U<<24|oe<<16|de|0,H!==0;);for(z=1<>=1;if(z!==0?(se&=z-1,se+=z):se=0,_e++,--Ce[B]==0){if(B===fe)break;B=y[S+A[_e]]}if(Se>>7)]}function Re(T,j){T.pending_buf[T.pending++]=255&j,T.pending_buf[T.pending++]=j>>>8&255}function Ce(T,j,ee){T.bi_valid>C-ee?(T.bi_buf|=j<>C-T.bi_valid,T.bi_valid+=ee-C):(T.bi_buf|=j<>>=1,ee<<=1,0<--j;);return ee>>>1}function Ot(T,j,ee){var te,Y,le=new Array(A+1),ye=0;for(te=1;te<=A;te++)le[te]=ye=ye+ee[te-1]<<1;for(Y=0;Y<=j;Y++){var ge=T[2*Y+1];ge!==0&&(T[2*Y]=At(le[ge]++,ge))}}function et(T){var j;for(j=0;j>1;1<=ee;ee--)tt(T,le,ee);for(Y=ve;ee=T.heap[1],T.heap[1]=T.heap[T.heap_len--],tt(T,le,1),te=T.heap[1],T.heap[--T.heap_max]=ee,T.heap[--T.heap_max]=te,le[2*Y]=le[2*ee]+le[2*te],T.depth[Y]=(T.depth[ee]>=T.depth[te]?T.depth[ee]:T.depth[te])+1,le[2*ee+1]=le[2*te+1]=Y,T.heap[1]=Y++,tt(T,le,1),2<=T.heap_len;);T.heap[--T.heap_max]=T.heap[1],function(Ke,We){var nt,Gt,kn,Et,Pn,en,Bt=We.dyn_tree,sn=We.max_code,Ht=We.stat_desc.static_tree,Cn=We.stat_desc.has_stree,Xn=We.stat_desc.extra_bits,Kn=We.stat_desc.extra_base,Xt=We.stat_desc.max_length,yn=0;for(Et=0;Et<=A;Et++)Ke.bl_count[Et]=0;for(Bt[2*Ke.heap[Ke.heap_max]+1]=0,nt=Ke.heap_max+1;nt>=7;Y>>=1)if(1&Je&&ge.dyn_ltree[2*ve]!==0)return f;if(ge.dyn_ltree[18]!==0||ge.dyn_ltree[20]!==0||ge.dyn_ltree[26]!==0)return h;for(ve=32;ve>>3,(le=T.static_len+3+7>>>3)<=Y&&(Y=le)):Y=le=ee+5,ee+4<=Y&&j!==-1?P(T,j,ee,te):T.strategy===4||le===Y?(Ce(T,2+(te?1:0),3),Rt(T,De,B)):(Ce(T,4+(te?1:0),3),function(ge,ve,Je,Ke){var We;for(Ce(ge,ve-257,5),Ce(ge,Je-1,5),Ce(ge,Ke-4,4),We=0;We>>8&255,T.pending_buf[T.d_buf+2*T.last_lit+1]=255&j,T.pending_buf[T.l_buf+T.last_lit]=255&ee,T.last_lit++,j===0?T.dyn_ltree[2*ee]++:(T.matches++,j--,T.dyn_ltree[2*(w[ee]+y+1)]++,T.dyn_dtree[2*ie(j)]++),T.last_lit===T.lit_bufsize-1},c._tr_align=function(T){Ce(T,2,3),we(T,H,De),function(j){j.bi_valid===16?(Re(j,j.bi_buf),j.bi_buf=0,j.bi_valid=0):8<=j.bi_valid&&(j.pending_buf[j.pending++]=255&j.bi_buf,j.bi_buf>>=8,j.bi_valid-=8)}(T)}},{"../utils/common":41}],53:[function(l,u,c){"use strict";u.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(l,u,c){(function(p){(function(f,h){"use strict";if(!f.setImmediate){var k,D,I,y,S=1,M={},O=!1,N=f.document,A=Object.getPrototypeOf&&Object.getPrototypeOf(f);A=A&&A.setTimeout?A:f,k={}.toString.call(f.process)==="[object process]"?function(q){process.nextTick(function(){z(q)})}:function(){if(f.postMessage&&!f.importScripts){var q=!0,K=f.onmessage;return f.onmessage=function(){q=!1},f.postMessage("","*"),f.onmessage=K,q}}()?(y="setImmediate$"+Math.random()+"$",f.addEventListener?f.addEventListener("message",H,!1):f.attachEvent("onmessage",H),function(q){f.postMessage(y+q,"*")}):f.MessageChannel?((I=new MessageChannel).port1.onmessage=function(q){z(q.data)},function(q){I.port2.postMessage(q)}):N&&"onreadystatechange"in N.createElement("script")?(D=N.documentElement,function(q){var K=N.createElement("script");K.onreadystatechange=function(){z(q),K.onreadystatechange=null,D.removeChild(K),K=null},D.appendChild(K)}):function(q){setTimeout(z,0,q)},A.setImmediate=function(q){typeof q!="function"&&(q=new Function(""+q));for(var K=new Array(arguments.length-1),he=0;he{"use strict";var bi=ao&&ao.__assign||function(){return bi=Object.assign||function(l){for(var u,c=1,p=arguments.length;c{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.Tabs=void 0;var Zh=eu(),Jh=function(){function l(u){var c=this;u===void 0&&(u={}),this._currentTab="",this.tabEvents=new Zh.EventEmitter({beforeSwitch:!0,afterSwitch:!0}),$("*[data-tab]").on("click",function(h){var k=$(h.target),D=k.data("tab");h.preventDefault(),c.switchToTab(D)});var p=u.initialTab;if(!p&&window.location.hash){var f=window.location.hash.replace(/^#/,"");p=f}p||(p=$(".tab:first").attr("data-tab")),p&&this.switchToTab(p)}return l.prototype.switchToTab=function(u){var c=this,p=function(){var h=c._currentTab;c._currentTab=u;var k=u!=="level"?u:"";window.history&&window.history.replaceState(null,"","#"+k);var D=$('*[data-tab="'+u+'"]'),I=D.siblings("*[data-tab]"),y=$('*[data-tabtarget="'+u+'"]'),S=y.siblings("*[data-tabtarget]");I.removeClass("tab-selected"),D.addClass("tab-selected"),S.addClass("hidden"),y.removeClass("hidden"),c.tabEvents.emit("afterSwitch",{oldTab:h,newTab:u})};if(this._currentTab!=""){var f=this.tabEvents.emit("beforeSwitch",{oldTab:this._currentTab,newTab:u});f.then(p)}else p()},Object.defineProperty(l.prototype,"currentTab",{get:function(){return this._currentTab},enumerable:!1,configurable:!0}),l.prototype.on=function(u,c){var p=this.tabEvents.on(u,c);return u==="afterSwitch"&&this.tabEvents.emit("afterSwitch",{oldTab:"",newTab:this._currentTab}),p},l}();wi.Tabs=Jh});var nu=dt(Er=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.normal_prefix=Er.pygame_prefix=Er.turtle_prefix=void 0;Er.turtle_prefix=`# coding=utf8 import random # noqa F401 import time # noqa F401 @@ -315,17 +315,17 @@ def convert_numerals(alphabet, number): T = int number = ''.join(all_numerals_converted) return T(f'{sign}{number}') -`});var ou=dt(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.isServerSaveInfo=void 0;function e_(l){return!!l&&typeof l=="object"&&!!l.id}Li.isServerSaveInfo=e_});var Mi=dt(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.tutorialPopup=mr.relocatePopup=mr.removeBorder=mr.addHighlightBorder=void 0;var t_=Lr();function n_(l){$("#"+l).addClass("border-2 rounded-lg border-red-500")}mr.addHighlightBorder=n_;function r_(l){$("#"+l).removeClass("border-2 border-red-500")}mr.removeBorder=r_;function o_(l,u){if($("#tutorial-pop-up").css({top:"20%",left:"50%"}),l&&u){var c=l.toString()+"%",p=u.toString()+"%";$("#tutorial-pop-up").css({top:p,left:c})}}mr.relocatePopup=o_;function i_(l,u){var c="/get_tutorial_step/"+l+"/";$.ajax({type:"GET",url:c+u.toString(),dataType:"json"}).done(function(p){$("#tutorial_title").text(p.title),$("#tutorial_text").text(p.text),$("#tutorial-pop-up").fadeIn(800)}).fail(function(p){t_.modal.notifyError(p.responseText)})}mr.tutorialPopup=i_});var Ni=dt(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.clearUnsavedChanges=Sr.markUnsavedChanges=Sr.hasUnsavedChanges=void 0;var a_=io();function iu(l){return l.preventDefault(),l.returnValue=a_.ClientMessages.Unsaved_Changes}var Da=!1;function s_(){return Da}Sr.hasUnsavedChanges=s_;function l_(){Da=!0,window.addEventListener("beforeunload",iu,{capture:!0})}Sr.markUnsavedChanges=l_;function u_(){Da=!1,window.removeEventListener("beforeunload",iu,{capture:!0})}Sr.clearUnsavedChanges=u_});var su=dt(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.callNextIntroStep=so.startIntro=void 0;var Un=tr(),lt=Mi(),Fo=Ni(),Lt=0;function c_(){Lt=1,$("#adventures").hide(),$("#variables_container").hide(),Un.theGlobalEditor===null||Un.theGlobalEditor===void 0||Un.theGlobalEditor.setValue(""),(0,lt.tutorialPopup)("intro",Lt)}so.startIntro=c_;function d_(){Lt+=1,Lt==2?p_():Lt==3?h_():Lt==4?__():Lt==5?f_():Lt==6?g_():Lt==7?m_():Lt==8?x_():Lt==9?v_():Lt==10?k_():Lt==11?y_():Lt==12?b_():Lt==13?w_():Lt==14?L_():Lt==15?((0,Un.pushAchievement)("well_begun_is_half_done"),$("#achievement_pop-up").removeClass("z-10"),$("#achievement_pop-up").addClass("z-50"),setTimeout(function(){$("#achievement_pop-up").is(":visible")?setTimeout(function(){au(),$("#achievement_pop-up").removeClass("z-50"),$("#achievement_pop-up").addClass("z-10")},5e3):(au(),$("#achievement_pop-up").removeClass("z-50"),$("#achievement_pop-up").addClass("z-10"))},500)):location.replace("/hedy")}so.callNextIntroStep=d_;function p_(){$("#editor").addClass("z-40"),(0,lt.addHighlightBorder)("editor"),(0,lt.relocatePopup)(65,30),Un.theGlobalEditor===null||Un.theGlobalEditor===void 0||Un.theGlobalEditor.setValue("print ___"),(0,lt.tutorialPopup)("intro",Lt)}function h_(){(0,lt.removeBorder)("editor"),$("#code_output").addClass("z-40"),(0,lt.addHighlightBorder)("code_output"),(0,Un.runit)(1,"en","",function(){$("#output").focus()}),(0,lt.relocatePopup)(35,30),(0,lt.tutorialPopup)("intro",Lt)}function __(){(0,lt.removeBorder)("code_output"),$("#code_related_buttons").show(),$("#runButtonContainer").addClass("z-40"),(0,lt.addHighlightBorder)("runButtonContainer"),(0,lt.relocatePopup)(50,30),(0,lt.tutorialPopup)("intro",Lt)}function f_(){$.ajax({type:"GET",url:"/get_tutorial_step/intro/code_snippet/",dataType:"json"}).done(function(l){Un.theGlobalEditor===null||Un.theGlobalEditor===void 0||Un.theGlobalEditor.setValue(l.code)}).fail(function(){Un.theGlobalEditor===null||Un.theGlobalEditor===void 0||Un.theGlobalEditor.setValue(`print Hello world! -print I'm learning Hedy with the tutorial!`)}),(0,lt.relocatePopup)(50,70),(0,lt.tutorialPopup)("intro",Lt)}function g_(){(0,lt.removeBorder)("runButtonContainer"),$("#editor").removeClass("z-40"),$("#code_output").removeClass("z-40"),$("#runButtonContainer").removeClass("z-40"),$("#speak_container").addClass("z-40 bg-white relative"),(0,lt.addHighlightBorder)("speak_container"),(0,lt.relocatePopup)(50,30),(0,lt.tutorialPopup)("intro",Lt)}function m_(){$("#editor").addClass("z-40"),$("#code_output").addClass("z-40"),$("#runButtonContainer").addClass("z-40"),(0,lt.relocatePopup)(50,70),(0,lt.tutorialPopup)("intro",Lt)}function x_(){(0,lt.removeBorder)("speak_container"),$("#editor").removeClass("z-40"),$("#code_output").removeClass("z-40"),$("#runButtonContainer").removeClass("z-40"),$("#speak_container").removeClass("z-40 bg-white relative"),$("#next_level_button").addClass("z-40"),$("#next_level_button").removeAttr("onclick"),(0,lt.addHighlightBorder)("next_level_button"),(0,lt.relocatePopup)(50,30),(0,lt.tutorialPopup)("intro",Lt)}function v_(){(0,lt.removeBorder)("next_level_button"),$("#next_level_button").removeClass("z-40"),$("#code_content_container").addClass("z-40"),$("#adventures").addClass("z-40 bg-gray-100"),$("#adventures").show(),(0,Fo.clearUnsavedChanges)(),(0,lt.addHighlightBorder)("adventures"),(0,lt.relocatePopup)(50,40),(0,lt.tutorialPopup)("intro",Lt)}function k_(){$("#adventures-buttons").children().each(function(){$(this).attr("data-tab")=="story"&&((0,Fo.clearUnsavedChanges)(),$(this).click())}),(0,lt.tutorialPopup)("intro",Lt)}function y_(){$("#adventures-buttons").children().each(function(){$(this).attr("data-tab")=="parsons"&&((0,Fo.clearUnsavedChanges)(),$(this).click())}),(0,lt.tutorialPopup)("intro",Lt)}function b_(){$("#adventures-buttons").children().each(function(){$(this).attr("data-tab")=="quiz"&&((0,Fo.clearUnsavedChanges)(),$(this).click())}),(0,lt.tutorialPopup)("intro",Lt)}function w_(){$("#adventures-buttons").children().each(function(){$(this).attr("data-tab")=="default"&&((0,Fo.clearUnsavedChanges)(),$(this).click())}),(0,lt.removeBorder)("adventures"),$("#code_content_container").removeClass("z-40"),$("#level-header").addClass("z-40"),$("#cheatsheet_container").hide(),(0,lt.addHighlightBorder)("level-header"),$("#save_program_button").removeAttr("onclick"),$("#share_program_button").removeAttr("onclick"),(0,lt.relocatePopup)(50,30),(0,lt.tutorialPopup)("intro",Lt)}function L_(){$("#cheatsheet_container").show(),$("#code_output").removeClass("z-40"),$("#adventures").removeClass("z-40"),$("#cheatsheet_dropdown").addClass("z-40"),$("#cheatsheet_dropdown").show(),(0,lt.tutorialPopup)("intro",Lt)}function au(){(0,lt.removeBorder)("level-header"),$("#level-header").removeClass("z-40"),$("#cheatsheet_dropdown").removeClass("z-40"),$("#cheatsheet_dropdown").hide(),(0,lt.relocatePopup)(50,15),(0,lt.tutorialPopup)("intro",Lt)}});var uu=dt(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.callTeacherNextStep=lo.startTeacher=void 0;var M_=tr(),gn=Mi(),$n=0;function N_(){$n=1,(0,gn.tutorialPopup)("teacher",$n)}lo.startTeacher=N_;function T_(){$n+=1,$n==2?P_():$n==3?C_():$n==4?D_():$n==5?E_():$n==6?S_():$n==7?((0,M_.pushAchievement)("ring_the_bell"),$("#achievement_pop-up").removeClass("z-10"),$("#achievement_pop-up").addClass("z-50"),setTimeout(function(){$("#achievement_pop-up").is(":visible")?setTimeout(function(){lu(),$("#achievement_pop-up").removeClass("z-50"),$("#achievement_pop-up").addClass("z-10")},5e3):(lu(),$("#achievement_pop-up").removeClass("z-50"),$("#achievement_pop-up").addClass("z-10"))},500)):location.replace("/for-teachers")}lo.callTeacherNextStep=T_;function P_(){$("#auth_main_container").addClass("z-40"),$("#teacher_classes").addClass("z-40 bg-gray-100"),(0,gn.addHighlightBorder)("teacher_classes"),(0,gn.relocatePopup)(50,40),(0,gn.tutorialPopup)("teacher",$n)}function C_(){(0,gn.tutorialPopup)("teacher",$n)}function D_(){$("#teacher_adventures").addClass("z-40 bg-gray-100"),(0,gn.removeBorder)("teacher_classes"),(0,gn.addHighlightBorder)("teacher_adventures"),(0,gn.relocatePopup)(50,70),(0,gn.tutorialPopup)("teacher",$n)}function E_(){$("#teacher_accounts").addClass("z-40 bg-gray-100"),(0,gn.removeBorder)("teacher_adventures"),(0,gn.addHighlightBorder)("teacher_accounts"),(0,gn.relocatePopup)(50,20),(0,gn.tutorialPopup)("teacher",$n)}function S_(){$("#teacher_documentation").addClass("z-40 bg-gray-100"),(0,gn.removeBorder)("teacher_accounts"),(0,gn.addHighlightBorder)("teacher_documentation"),(0,gn.tutorialPopup)("teacher",$n)}function lu(){(0,gn.removeBorder)("teacher_documentation"),(0,gn.tutorialPopup)("teacher",$n)}});var cu=dt(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.callNextStepLevel1=uo.startLevel1=void 0;var Ea=tr(),Sa=Mi(),jo=0;function I_(){jo=1,(0,Sa.tutorialPopup)("1",jo)}uo.startLevel1=I_;function A_(){jo+=1,jo==2?(Ea.theGlobalEditor===null||Ea.theGlobalEditor===void 0||Ea.theGlobalEditor.setValue("print Hello world!"),(0,Sa.relocatePopup)(50,70),(0,Sa.tutorialPopup)("1",2)):jo==3&&location.replace("/hedy")}uo.callNextStepLevel1=A_});var Go=dt(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.startTeacherTutorial=xr.startLevelTutorial=xr.startIntroTutorial=xr.initializeTutorial=void 0;var du=su(),pu=uu(),hu=cu(),co="";function z_(){$("#tutorial_next_button").off("click").on("click",function(){return $("#tutorial-pop-up").hide(),co=="intro"?(0,du.callNextIntroStep)():co=="teacher"?(0,pu.callTeacherNextStep)():F_(co)})}xr.initializeTutorial=z_;function O_(){$("#tutorial-mask").show(),co="intro",(0,du.startIntro)()}xr.startIntroTutorial=O_;function $_(l){$("#tutorial-mask").show(),co=l,B_(l)}xr.startLevelTutorial=$_;function R_(){$("#tutorial-mask").show(),co="teacher",(0,pu.startTeacher)()}xr.startTeacherTutorial=R_;function B_(l){l=="1"&&(0,hu.startLevel1)()}function F_(l){l=="1"&&(0,hu.callNextStepLevel1)()}});var fu=dt(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.loadNextExercise=po.loadParsonsExercise=void 0;var j_=Lr(),G_=tr();function _u(l,u){$("#next_parson_button").hide();var c=new URLSearchParams(window.location.search),p="/parsons/get-exercise/"+l+"/"+u;c.has("keyword_language")&&(p+="/"+c.get("keyword_language")),$.ajax({type:"GET",url:p,dataType:"json"}).done(function(f){$("#parsons_container").show(),$("#next_parson_button").attr("current_exercise",u),W_(),H_(u),U_(f),V_(l,u)}).fail(function(f){j_.modal.notifyError(f.responseText)})}po.loadParsonsExercise=_u;function W_(){(0,G_.stopit)(),$("#output").empty(),$(".parsons_goal_line_container").removeClass("border-green-500 border-red-500"),$(".compiler-parsons-box").attr("index","-"),$(".compiler-parsons-box").attr("code",""),$(".goal_parsons").each(function(){ace.edit($(this).attr("id")).setValue("")})}function H_(l){$(".parsons_header_text_container").hide(),$(".step").removeClass("current"),$("#parsons_header_text_"+l).show(),$("#parsons_header_"+l).addClass("current")}function U_(l){var u=q_(l.code),c=Object.keys(u);$(".parsons_start_line_container").hide(),$(".parsons_goal_line_container").hide(),X_(c),c.forEach(function(p,f){var h=u[p],k=f+1;ace.edit("start_parsons_"+k).session.setValue(h.replace(/\n+$/,""),-1),$("#start_parsons_div_"+k).attr("index",p),$("#start_parsons_div_"+k).attr("code",h),ace.edit("goal_parsons_"+k).session.setValue(""),$("#parsons_start_line_container_"+k).show(),$("#parsons_goal_line_container_"+k).show()}),$("#parsons_explanation_story").text(l.story)}function V_(l,u){var c=$("#next_parson_button").attr("max_exercise")||1;u=1;u--){var c=Math.floor(Math.random()*u),p=l[c];l[c]=l[u],l[u]=p}}});var xu=dt(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.onElementBecomesVisible=ho.checkNow=void 0;var Ti=new Array;function gu(l){var u=$(window).scrollTop(),c=u+$(window).height(),p=$(l).offset().top;return p<=c&&p>=u}function mu(){for(var l=0;l{"use strict";var Ia=an&&an.__assign||function(){return Ia=Object.assign||function(l){for(var u,c=1,p=arguments.length;c"+l[c][0]+": "+l[c][1]+"");ku()}}an.load_variables=Q_;function ef(l){var u="",c=parseInt(l.v);return typeof c=="number"&&!isNaN(c)&&(u="#ffffff"),typeof l.v=="string"&&isNaN(c)&&(u="#ffffff"),typeof l.v=="boolean"&&(u="#ffffff"),l.tp$name=="list"&&(u="#ffffff"),u}function tf(l){var u=[],c=["random","time","int_saver","int_$rw$","turtle","t"];for(var p in l)if(!p.includes("__")&&!c.includes(p)){var f=ef(l[p]),h=nf(p),k=[h,l[p].v,f];u.push(k)}return u}function nf(l){return l.replace(/_\$rw\$$/,"")}var Di="ace_breakpoint";function rf(l){if(Pi=l.markers,vu=l.editor,Aa=l.level,za=l.language,Ci||($("#variables").hide(),$("#variable_button").hide()),l.level>0){var u=l.level;_o=u<=7}if(_o||$("#debug_button").hide(),l.level!=0){var u=l.level;Ci=u>=2,ku()}of(l.editor)}an.initializeDebugger=rf;function of(l){var l=ace.edit("editor");l.on("guttermousedown",function(u){var c=u.domEvent.target;if(c.className.indexOf("ace_gutter-cell")!=-1&&!(u.clientX>25+c.getBoundingClientRect().left)){var p=Mu(u.editor),f=u.getDocumentPosition().row;if(p[f]===void 0&&f!==u.editor.getLastVisibleRow()+1)if(af(event)){var h=f;for(var k in p){var D=parseInt(k);D{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.isServerSaveInfo=void 0;function Qh(l){return!!l&&typeof l=="object"&&!!l.id}Li.isServerSaveInfo=Qh});var Mi=dt(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.tutorialPopup=mr.relocatePopup=mr.removeBorder=mr.addHighlightBorder=void 0;var e_=Lr();function t_(l){$("#"+l).addClass("border-2 rounded-lg border-red-500")}mr.addHighlightBorder=t_;function n_(l){$("#"+l).removeClass("border-2 border-red-500")}mr.removeBorder=n_;function r_(l,u){if($("#tutorial-pop-up").css({top:"20%",left:"50%"}),l&&u){var c=l.toString()+"%",p=u.toString()+"%";$("#tutorial-pop-up").css({top:p,left:c})}}mr.relocatePopup=r_;function o_(l,u){var c="/get_tutorial_step/"+l+"/";$.ajax({type:"GET",url:c+u.toString(),dataType:"json"}).done(function(p){$("#tutorial_title").text(p.title),$("#tutorial_text").text(p.text),$("#tutorial-pop-up").fadeIn(800)}).fail(function(p){e_.modal.notifyError(p.responseText)})}mr.tutorialPopup=o_});var Ni=dt(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.clearUnsavedChanges=Sr.markUnsavedChanges=Sr.hasUnsavedChanges=void 0;var i_=io();function ou(l){return l.preventDefault(),l.returnValue=i_.ClientMessages.Unsaved_Changes}var Ca=!1;function a_(){return Ca}Sr.hasUnsavedChanges=a_;function s_(){Ca=!0,window.addEventListener("beforeunload",ou,{capture:!0})}Sr.markUnsavedChanges=s_;function l_(){Ca=!1,window.removeEventListener("beforeunload",ou,{capture:!0})}Sr.clearUnsavedChanges=l_});var au=dt(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.callNextIntroStep=so.startIntro=void 0;var Un=tr(),lt=Mi(),Fo=Ni(),Lt=0;function u_(){Lt=1,$("#adventures").hide(),$("#variables_container").hide(),Un.theGlobalEditor===null||Un.theGlobalEditor===void 0||Un.theGlobalEditor.setValue(""),(0,lt.tutorialPopup)("intro",Lt)}so.startIntro=u_;function c_(){Lt+=1,Lt==2?d_():Lt==3?p_():Lt==4?h_():Lt==5?__():Lt==6?f_():Lt==7?g_():Lt==8?m_():Lt==9?x_():Lt==10?v_():Lt==11?k_():Lt==12?y_():Lt==13?b_():Lt==14?w_():Lt==15?((0,Un.pushAchievement)("well_begun_is_half_done"),$("#achievement_pop-up").removeClass("z-10"),$("#achievement_pop-up").addClass("z-50"),setTimeout(function(){$("#achievement_pop-up").is(":visible")?setTimeout(function(){iu(),$("#achievement_pop-up").removeClass("z-50"),$("#achievement_pop-up").addClass("z-10")},5e3):(iu(),$("#achievement_pop-up").removeClass("z-50"),$("#achievement_pop-up").addClass("z-10"))},500)):location.replace("/hedy")}so.callNextIntroStep=c_;function d_(){$("#editor").addClass("z-40"),(0,lt.addHighlightBorder)("editor"),(0,lt.relocatePopup)(65,30),Un.theGlobalEditor===null||Un.theGlobalEditor===void 0||Un.theGlobalEditor.setValue("print ___"),(0,lt.tutorialPopup)("intro",Lt)}function p_(){(0,lt.removeBorder)("editor"),$("#code_output").addClass("z-40"),(0,lt.addHighlightBorder)("code_output"),(0,Un.runit)(1,"en","",function(){$("#output").focus()}),(0,lt.relocatePopup)(35,30),(0,lt.tutorialPopup)("intro",Lt)}function h_(){(0,lt.removeBorder)("code_output"),$("#code_related_buttons").show(),$("#runButtonContainer").addClass("z-40"),(0,lt.addHighlightBorder)("runButtonContainer"),(0,lt.relocatePopup)(50,30),(0,lt.tutorialPopup)("intro",Lt)}function __(){$.ajax({type:"GET",url:"/get_tutorial_step/intro/code_snippet/",dataType:"json"}).done(function(l){Un.theGlobalEditor===null||Un.theGlobalEditor===void 0||Un.theGlobalEditor.setValue(l.code)}).fail(function(){Un.theGlobalEditor===null||Un.theGlobalEditor===void 0||Un.theGlobalEditor.setValue(`print Hello world! +print I'm learning Hedy with the tutorial!`)}),(0,lt.relocatePopup)(50,70),(0,lt.tutorialPopup)("intro",Lt)}function f_(){(0,lt.removeBorder)("runButtonContainer"),$("#editor").removeClass("z-40"),$("#code_output").removeClass("z-40"),$("#runButtonContainer").removeClass("z-40"),$("#speak_container").addClass("z-40 bg-white relative"),(0,lt.addHighlightBorder)("speak_container"),(0,lt.relocatePopup)(50,30),(0,lt.tutorialPopup)("intro",Lt)}function g_(){$("#editor").addClass("z-40"),$("#code_output").addClass("z-40"),$("#runButtonContainer").addClass("z-40"),(0,lt.relocatePopup)(50,70),(0,lt.tutorialPopup)("intro",Lt)}function m_(){(0,lt.removeBorder)("speak_container"),$("#editor").removeClass("z-40"),$("#code_output").removeClass("z-40"),$("#runButtonContainer").removeClass("z-40"),$("#speak_container").removeClass("z-40 bg-white relative"),$("#next_level_button").addClass("z-40"),$("#next_level_button").removeAttr("onclick"),(0,lt.addHighlightBorder)("next_level_button"),(0,lt.relocatePopup)(50,30),(0,lt.tutorialPopup)("intro",Lt)}function x_(){(0,lt.removeBorder)("next_level_button"),$("#next_level_button").removeClass("z-40"),$("#code_content_container").addClass("z-40"),$("#adventures").addClass("z-40 bg-gray-100"),$("#adventures").show(),(0,Fo.clearUnsavedChanges)(),(0,lt.addHighlightBorder)("adventures"),(0,lt.relocatePopup)(50,40),(0,lt.tutorialPopup)("intro",Lt)}function v_(){$("#adventures-buttons").children().each(function(){$(this).attr("data-tab")=="story"&&((0,Fo.clearUnsavedChanges)(),$(this).click())}),(0,lt.tutorialPopup)("intro",Lt)}function k_(){$("#adventures-buttons").children().each(function(){$(this).attr("data-tab")=="parsons"&&((0,Fo.clearUnsavedChanges)(),$(this).click())}),(0,lt.tutorialPopup)("intro",Lt)}function y_(){$("#adventures-buttons").children().each(function(){$(this).attr("data-tab")=="quiz"&&((0,Fo.clearUnsavedChanges)(),$(this).click())}),(0,lt.tutorialPopup)("intro",Lt)}function b_(){$("#adventures-buttons").children().each(function(){$(this).attr("data-tab")=="default"&&((0,Fo.clearUnsavedChanges)(),$(this).click())}),(0,lt.removeBorder)("adventures"),$("#code_content_container").removeClass("z-40"),$("#level-header").addClass("z-40"),$("#cheatsheet_container").hide(),(0,lt.addHighlightBorder)("level-header"),$("#save_program_button").removeAttr("onclick"),$("#share_program_button").removeAttr("onclick"),(0,lt.relocatePopup)(50,30),(0,lt.tutorialPopup)("intro",Lt)}function w_(){$("#cheatsheet_container").show(),$("#code_output").removeClass("z-40"),$("#adventures").removeClass("z-40"),$("#cheatsheet_dropdown").addClass("z-40"),$("#cheatsheet_dropdown").show(),(0,lt.tutorialPopup)("intro",Lt)}function iu(){(0,lt.removeBorder)("level-header"),$("#level-header").removeClass("z-40"),$("#cheatsheet_dropdown").removeClass("z-40"),$("#cheatsheet_dropdown").hide(),(0,lt.relocatePopup)(50,15),(0,lt.tutorialPopup)("intro",Lt)}});var lu=dt(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.callTeacherNextStep=lo.startTeacher=void 0;var L_=tr(),gn=Mi(),$n=0;function M_(){$n=1,(0,gn.tutorialPopup)("teacher",$n)}lo.startTeacher=M_;function N_(){$n+=1,$n==2?T_():$n==3?P_():$n==4?C_():$n==5?D_():$n==6?E_():$n==7?((0,L_.pushAchievement)("ring_the_bell"),$("#achievement_pop-up").removeClass("z-10"),$("#achievement_pop-up").addClass("z-50"),setTimeout(function(){$("#achievement_pop-up").is(":visible")?setTimeout(function(){su(),$("#achievement_pop-up").removeClass("z-50"),$("#achievement_pop-up").addClass("z-10")},5e3):(su(),$("#achievement_pop-up").removeClass("z-50"),$("#achievement_pop-up").addClass("z-10"))},500)):location.replace("/for-teachers")}lo.callTeacherNextStep=N_;function T_(){$("#auth_main_container").addClass("z-40"),$("#teacher_classes").addClass("z-40 bg-gray-100"),(0,gn.addHighlightBorder)("teacher_classes"),(0,gn.relocatePopup)(50,40),(0,gn.tutorialPopup)("teacher",$n)}function P_(){(0,gn.tutorialPopup)("teacher",$n)}function C_(){$("#teacher_adventures").addClass("z-40 bg-gray-100"),(0,gn.removeBorder)("teacher_classes"),(0,gn.addHighlightBorder)("teacher_adventures"),(0,gn.relocatePopup)(50,70),(0,gn.tutorialPopup)("teacher",$n)}function D_(){$("#teacher_accounts").addClass("z-40 bg-gray-100"),(0,gn.removeBorder)("teacher_adventures"),(0,gn.addHighlightBorder)("teacher_accounts"),(0,gn.relocatePopup)(50,20),(0,gn.tutorialPopup)("teacher",$n)}function E_(){$("#teacher_documentation").addClass("z-40 bg-gray-100"),(0,gn.removeBorder)("teacher_accounts"),(0,gn.addHighlightBorder)("teacher_documentation"),(0,gn.tutorialPopup)("teacher",$n)}function su(){(0,gn.removeBorder)("teacher_documentation"),(0,gn.tutorialPopup)("teacher",$n)}});var uu=dt(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.callNextStepLevel1=uo.startLevel1=void 0;var Da=tr(),Ea=Mi(),jo=0;function S_(){jo=1,(0,Ea.tutorialPopup)("1",jo)}uo.startLevel1=S_;function I_(){jo+=1,jo==2?(Da.theGlobalEditor===null||Da.theGlobalEditor===void 0||Da.theGlobalEditor.setValue("print Hello world!"),(0,Ea.relocatePopup)(50,70),(0,Ea.tutorialPopup)("1",2)):jo==3&&location.replace("/hedy")}uo.callNextStepLevel1=I_});var Go=dt(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.startTeacherTutorial=xr.startLevelTutorial=xr.startIntroTutorial=xr.initializeTutorial=void 0;var cu=au(),du=lu(),pu=uu(),co="";function A_(){$("#tutorial_next_button").off("click").on("click",function(){return $("#tutorial-pop-up").hide(),co=="intro"?(0,cu.callNextIntroStep)():co=="teacher"?(0,du.callTeacherNextStep)():B_(co)})}xr.initializeTutorial=A_;function z_(){$("#tutorial-mask").show(),co="intro",(0,cu.startIntro)()}xr.startIntroTutorial=z_;function O_(l){$("#tutorial-mask").show(),co=l,R_(l)}xr.startLevelTutorial=O_;function $_(){$("#tutorial-mask").show(),co="teacher",(0,du.startTeacher)()}xr.startTeacherTutorial=$_;function R_(l){l=="1"&&(0,pu.startLevel1)()}function B_(l){l=="1"&&(0,pu.callNextStepLevel1)()}});var _u=dt(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.loadNextExercise=po.loadParsonsExercise=void 0;var F_=Lr(),j_=tr();function hu(l,u){$("#next_parson_button").hide();var c=new URLSearchParams(window.location.search),p="/parsons/get-exercise/"+l+"/"+u;c.has("keyword_language")&&(p+="/"+c.get("keyword_language")),$.ajax({type:"GET",url:p,dataType:"json"}).done(function(f){$("#parsons_container").show(),$("#next_parson_button").attr("current_exercise",u),G_(),W_(u),H_(f),U_(l,u)}).fail(function(f){F_.modal.notifyError(f.responseText)})}po.loadParsonsExercise=hu;function G_(){(0,j_.stopit)(),$("#output").empty(),$(".parsons_goal_line_container").removeClass("border-green-500 border-red-500"),$(".compiler-parsons-box").attr("index","-"),$(".compiler-parsons-box").attr("code",""),$(".goal_parsons").each(function(){ace.edit($(this).attr("id")).setValue("")})}function W_(l){$(".parsons_header_text_container").hide(),$(".step").removeClass("current"),$("#parsons_header_text_"+l).show(),$("#parsons_header_"+l).addClass("current")}function H_(l){var u=Y_(l.code),c=Object.keys(u);$(".parsons_start_line_container").hide(),$(".parsons_goal_line_container").hide(),q_(c),c.forEach(function(p,f){var h=u[p],k=f+1;ace.edit("start_parsons_"+k).session.setValue(h.replace(/\n+$/,""),-1),$("#start_parsons_div_"+k).attr("index",p),$("#start_parsons_div_"+k).attr("code",h),ace.edit("goal_parsons_"+k).session.setValue(""),$("#parsons_start_line_container_"+k).show(),$("#parsons_goal_line_container_"+k).show()}),$("#parsons_explanation_story").text(l.story)}function U_(l,u){var c=$("#next_parson_button").attr("max_exercise")||1;u=1;u--){var c=Math.floor(Math.random()*u),p=l[c];l[c]=l[u],l[u]=p}}});var mu=dt(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.onElementBecomesVisible=ho.checkNow=void 0;var Ti=new Array;function fu(l){var u=$(window).scrollTop(),c=u+$(window).height(),p=$(l).offset().top;return p<=c&&p>=u}function gu(){for(var l=0;l{"use strict";var Sa=an&&an.__assign||function(){return Sa=Object.assign||function(l){for(var u,c=1,p=arguments.length;c"+l[c][0]+": "+l[c][1]+"");vu()}}an.load_variables=J_;function Q_(l){var u="",c=parseInt(l.v);return typeof c=="number"&&!isNaN(c)&&(u="#ffffff"),typeof l.v=="string"&&isNaN(c)&&(u="#ffffff"),typeof l.v=="boolean"&&(u="#ffffff"),l.tp$name=="list"&&(u="#ffffff"),u}function ef(l){var u=[],c=["random","time","int_saver","int_$rw$","turtle","t"];for(var p in l)if(!p.includes("__")&&!c.includes(p)){var f=Q_(l[p]),h=tf(p),k=[h,l[p].v,f];u.push(k)}return u}function tf(l){return l.replace(/_\$rw\$$/,"")}var Di="ace_breakpoint";function nf(l){if(Pi=l.markers,xu=l.editor,Ia=l.level,Aa=l.language,Ci||($("#variables").hide(),$("#variable_button").hide()),l.level>0){var u=l.level;_o=u<=7}if(_o||$("#debug_button").hide(),l.level!=0){var u=l.level;Ci=u>=2,vu()}rf(l.editor)}an.initializeDebugger=nf;function rf(l){var l=ace.edit("editor");l.on("guttermousedown",function(u){var c=u.domEvent.target;if(c.className.indexOf("ace_gutter-cell")!=-1&&!(u.clientX>25+c.getBoundingClientRect().left)){var p=Lu(u.editor),f=u.getDocumentPosition().row;if(p[f]===void 0&&f!==u.editor.getLastVisibleRow()+1)if(of(event)){var h=f;for(var k in p){var D=parseInt(k);D{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.localLoadOnce=vr.localLoad=vr.localDelete=vr.localSave=void 0;function df(l,u){var c;(c=window.localStorage)===null||c===void 0||c.setItem(l,JSON.stringify(u))}vr.localSave=df;function Nu(l){var u;(u=window.localStorage)===null||u===void 0||u.removeItem(l)}vr.localDelete=Nu;function Tu(l){var u,c=(u=window.localStorage)===null||u===void 0?void 0:u.getItem(l);try{return c?JSON.parse(c):void 0}catch(p){return}}vr.localLoad=Tu;function pf(l){var u=Tu(l);return u!==void 0&&Nu(l),u}vr.localLoadOnce=pf});var Pu=dt((Ra,Ba)=>{(function(l,u){typeof Ra=="object"&&typeof Ba!="undefined"?Ba.exports=u():typeof define=="function"&&define.amd?define(u):(l=l||self,l.DOMPurify=u())})(Ra,function(){"use strict";function l(P){if(Array.isArray(P)){for(var T=0,j=Array(P.length);T1?j-1:0),te=1;te/gm),At=D(/^data-[\-\w.\u00B7-\uFFFF]/),Ot=D(/^aria-[\-\w]+$/),et=D(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ot=D(/^(?:\w+script|data):/i),kt=D(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(P){return typeof P}:function(P){return P&&typeof Symbol=="function"&&P.constructor===Symbol&&P!==Symbol.prototype?"symbol":typeof P};function Rt(P){if(Array.isArray(P)){for(var T=0,j=Array(P.length);T0&&arguments[0]!==void 0?arguments[0]:yt(),T=function(V){return ue(V)};if(T.version="2.3.5",T.removed=[],!P||!P.document||P.document.nodeType!==9)return T.isSupported=!1,T;var j=P.document,ee=P.document,te=P.DocumentFragment,Y=P.HTMLTemplateElement,le=P.Node,ye=P.Element,ge=P.NodeFilter,ve=P.NamedNodeMap,Je=ve===void 0?P.NamedNodeMap||P.MozNamedAttrMap:ve,Ke=P.HTMLFormElement,We=P.DOMParser,nt=P.trustedTypes,Gt=ye.prototype,kn=B(Gt,"cloneNode"),Et=B(Gt,"nextSibling"),Pn=B(Gt,"childNodes"),en=B(Gt,"parentNode");if(typeof Y=="function"){var Bt=ee.createElement("template");Bt.content&&Bt.content.ownerDocument&&(ee=Bt.content.ownerDocument)}var sn=g(nt,j),Ht=sn?sn.createHTML(""):"",Cn=ee,Xn=Cn.implementation,Kn=Cn.createNodeIterator,Xt=Cn.createDocumentFragment,yn=Cn.getElementsByTagName,ln=j.importNode,bn={};try{bn=De(ee).documentMode?ee.documentMode:{}}catch(Ae){}var un={};T.isSupported=typeof en=="function"&&Xn&&typeof Xn.createHTMLDocument!="undefined"&&bn!==9;var wn=Ce,Zn=we,lr=At,Ir=Ot,Yr=ot,rt=kt,Mt=et,qe=null,Mr=de({},[].concat(Rt(_e),Rt(w),Rt(fe),Rt(xe),Rt(be))),bt=null,Ar=de({},[].concat(Rt(Fe),Rt(se),Rt(ie),Rt(Re))),Ne=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),mn=null,rr=null,hn=!0,nn=!0,ur=!1,Dn=!1,_n=!1,jn=!1,cr=!1,En=!1,Ut=!1,Nt=!1,dr=!0,or=!0,Yn=!1,tn={},Vt=null,Jn=de({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ft=null,ir=de({},["audio","video","img","source","image","track"]),jt=null,xt=de({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Sn="http://www.w3.org/1998/Math/MathML",ar="http://www.w3.org/2000/svg",Be="http://www.w3.org/1999/xhtml",Kt=Be,In=!1,Tt=void 0,Gn=["application/xhtml+xml","text/html"],pr="text/html",An=void 0,m=null,v=ee.createElement("form"),L=function(V){return V instanceof RegExp||V instanceof Function},R=function(V){m&&m===V||((!V||(typeof V=="undefined"?"undefined":tt(V))!=="object")&&(V={}),V=De(V),qe="ALLOWED_TAGS"in V?de({},V.ALLOWED_TAGS):Mr,bt="ALLOWED_ATTR"in V?de({},V.ALLOWED_ATTR):Ar,jt="ADD_URI_SAFE_ATTR"in V?de(De(xt),V.ADD_URI_SAFE_ATTR):xt,Ft="ADD_DATA_URI_TAGS"in V?de(De(ir),V.ADD_DATA_URI_TAGS):ir,Vt="FORBID_CONTENTS"in V?de({},V.FORBID_CONTENTS):Jn,mn="FORBID_TAGS"in V?de({},V.FORBID_TAGS):{},rr="FORBID_ATTR"in V?de({},V.FORBID_ATTR):{},tn="USE_PROFILES"in V?V.USE_PROFILES:!1,hn=V.ALLOW_ARIA_ATTR!==!1,nn=V.ALLOW_DATA_ATTR!==!1,ur=V.ALLOW_UNKNOWN_PROTOCOLS||!1,Dn=V.SAFE_FOR_TEMPLATES||!1,_n=V.WHOLE_DOCUMENT||!1,En=V.RETURN_DOM||!1,Ut=V.RETURN_DOM_FRAGMENT||!1,Nt=V.RETURN_TRUSTED_TYPE||!1,cr=V.FORCE_BODY||!1,dr=V.SANITIZE_DOM!==!1,or=V.KEEP_CONTENT!==!1,Yn=V.IN_PLACE||!1,Mt=V.ALLOWED_URI_REGEXP||Mt,Kt=V.NAMESPACE||Be,V.CUSTOM_ELEMENT_HANDLING&&L(V.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ne.tagNameCheck=V.CUSTOM_ELEMENT_HANDLING.tagNameCheck),V.CUSTOM_ELEMENT_HANDLING&&L(V.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ne.attributeNameCheck=V.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),V.CUSTOM_ELEMENT_HANDLING&&typeof V.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Ne.allowCustomizedBuiltInElements=V.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Tt=Gn.indexOf(V.PARSER_MEDIA_TYPE)===-1?Tt=pr:Tt=V.PARSER_MEDIA_TYPE,An=Tt==="application/xhtml+xml"?function(Le){return Le}:C,Dn&&(nn=!1),Ut&&(En=!0),tn&&(qe=de({},[].concat(Rt(be))),bt=[],tn.html===!0&&(de(qe,_e),de(bt,Fe)),tn.svg===!0&&(de(qe,w),de(bt,se),de(bt,Re)),tn.svgFilters===!0&&(de(qe,fe),de(bt,se),de(bt,Re)),tn.mathMl===!0&&(de(qe,xe),de(bt,ie),de(bt,Re))),V.ADD_TAGS&&(qe===Mr&&(qe=De(qe)),de(qe,V.ADD_TAGS)),V.ADD_ATTR&&(bt===Ar&&(bt=De(bt)),de(bt,V.ADD_ATTR)),V.ADD_URI_SAFE_ATTR&&de(jt,V.ADD_URI_SAFE_ATTR),V.FORBID_CONTENTS&&(Vt===Jn&&(Vt=De(Vt)),de(Vt,V.FORBID_CONTENTS)),or&&(qe["#text"]=!0),_n&&de(qe,["html","head","body"]),qe.table&&(de(qe,["tbody"]),delete mn.tbody),k&&k(V),m=V)},G=de({},["mi","mo","mn","ms","mtext"]),J=de({},["foreignobject","desc","title","annotation-xml"]),Q=de({},w);de(Q,fe),de(Q,Se);var ce=de({},xe);de(ce,Oe);var me=function(V){var Le=en(V);(!Le||!Le.tagName)&&(Le={namespaceURI:Be,tagName:"template"});var Ie=C(V.tagName),He=C(Le.tagName);if(V.namespaceURI===ar)return Le.namespaceURI===Be?Ie==="svg":Le.namespaceURI===Sn?Ie==="svg"&&(He==="annotation-xml"||G[He]):Boolean(Q[Ie]);if(V.namespaceURI===Sn)return Le.namespaceURI===Be?Ie==="math":Le.namespaceURI===ar?Ie==="math"&&J[He]:Boolean(ce[Ie]);if(V.namespaceURI===Be){if(Le.namespaceURI===ar&&!J[He]||Le.namespaceURI===Sn&&!G[He])return!1;var gt=de({},["title","style","font","a","script"]);return!ce[Ie]&&(gt[Ie]||!Q[Ie])}return!1},Ee=function(V){A(T.removed,{element:V});try{V.parentNode.removeChild(V)}catch(Le){try{V.outerHTML=Ht}catch(Ie){V.remove()}}},Ye=function(V,Le){try{A(T.removed,{attribute:Le.getAttributeNode(V),from:Le})}catch(Ie){A(T.removed,{attribute:null,from:Le})}if(Le.removeAttribute(V),V==="is"&&!bt[V])if(En||Ut)try{Ee(Le)}catch(Ie){}else try{Le.setAttribute(V,"")}catch(Ie){}},Ze=function(V){var Le=void 0,Ie=void 0;if(cr)V=""+V;else{var He=z(V,/^[\r\n\t ]+/);Ie=He&&He[0]}Tt==="application/xhtml+xml"&&(V=''+V+"");var gt=sn?sn.createHTML(V):V;if(Kt===Be)try{Le=new We().parseFromString(gt,Tt)}catch(ft){}if(!Le||!Le.documentElement){Le=Xn.createDocument(Kt,"template",null);try{Le.documentElement.innerHTML=In?"":gt}catch(ft){}}var St=Le.body||Le.documentElement;return V&&Ie&&St.insertBefore(ee.createTextNode(Ie),St.childNodes[0]||null),Kt===Be?yn.call(Le,_n?"html":"body")[0]:_n?Le.documentElement:St},pt=function(V){return Kn.call(V.ownerDocument||V,V,ge.SHOW_ELEMENT|ge.SHOW_COMMENT|ge.SHOW_TEXT,null,!1)},Xe=function(V){return V instanceof Ke&&(typeof V.nodeName!="string"||typeof V.textContent!="string"||typeof V.removeChild!="function"||!(V.attributes instanceof Je)||typeof V.removeAttribute!="function"||typeof V.setAttribute!="function"||typeof V.namespaceURI!="string"||typeof V.insertBefore!="function")},Qe=function(V){return(typeof le=="undefined"?"undefined":tt(le))==="object"?V instanceof le:V&&(typeof V=="undefined"?"undefined":tt(V))==="object"&&typeof V.nodeType=="number"&&typeof V.nodeName=="string"},je=function(V,Le,Ie){!un[V]||O(un[V],function(He){He.call(T,Le,Ie,m)})},Pt=function(V){var Le=void 0;if(je("beforeSanitizeElements",V,null),Xe(V)||z(V.nodeName,/[\u0080-\uFFFF]/))return Ee(V),!0;var Ie=An(V.nodeName);if(je("uponSanitizeElement",V,{tagName:Ie,allowedTags:qe}),!Qe(V.firstElementChild)&&(!Qe(V.content)||!Qe(V.content.firstElementChild))&&he(/<[/\w]/g,V.innerHTML)&&he(/<[/\w]/g,V.textContent)||Ie==="select"&&he(/