From 46822ecbae0706e93cca5e4d3253098afdd9f87f Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Tue, 19 Nov 2019 12:53:21 -0600 Subject: [PATCH 01/28] fix(email): better promise handling --- migrations/users/bulk-email.js | 4 ++-- website/server/libs/email.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/migrations/users/bulk-email.js b/migrations/users/bulk-email.js index 88f67e095f..fb48ce5d58 100644 --- a/migrations/users/bulk-email.js +++ b/migrations/users/bulk-email.js @@ -16,11 +16,11 @@ async function updateUser (user) { if (count % progressCount === 0) console.warn(`${count} ${user._id}`); - sendTxn( + await sendTxn( user, EMAIL_SLUG, [{ name: 'BASE_URL', content: BASE_URL }], // Add variables from template - ); + ).catch(err => console.error(err)); return User.update({ _id: user._id }, { $set: { migration: MIGRATION_NAME } }).exec(); } diff --git a/website/server/libs/email.js b/website/server/libs/email.js index 634d60ad9d..da241c571b 100644 --- a/website/server/libs/email.js +++ b/website/server/libs/email.js @@ -66,7 +66,7 @@ export function getGroupUrl (group) { } // Send a transactional email using Mandrill through the external email server -export function sendTxn (mailingInfoArray, emailType, variables, personalVariables) { +export async function sendTxn (mailingInfoArray, emailType, variables, personalVariables) { mailingInfoArray = Array.isArray(mailingInfoArray) ? mailingInfoArray : [mailingInfoArray]; // eslint-disable-line no-param-reassign, max-len variables = [ // eslint-disable-line no-param-reassign, max-len @@ -130,7 +130,7 @@ export function sendTxn (mailingInfoArray, emailType, variables, personalVariabl } if (IS_PROD && mailingInfoArray.length > 0) { - got.post(`${EMAIL_SERVER.url}/job`, { + return got.post(`${EMAIL_SERVER.url}/job`, { auth: `${EMAIL_SERVER.auth.user}:${EMAIL_SERVER.auth.password}`, json: true, body: { From b4efe11e6a8c18f73004475e2eacc070abaea9d0 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Tue, 19 Nov 2019 12:59:53 -0600 Subject: [PATCH 02/28] fix(async): remove catch, add return --- migrations/users/bulk-email.js | 2 +- website/server/libs/email.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/migrations/users/bulk-email.js b/migrations/users/bulk-email.js index fb48ce5d58..611a5ad463 100644 --- a/migrations/users/bulk-email.js +++ b/migrations/users/bulk-email.js @@ -20,7 +20,7 @@ async function updateUser (user) { user, EMAIL_SLUG, [{ name: 'BASE_URL', content: BASE_URL }], // Add variables from template - ).catch(err => console.error(err)); + ); return User.update({ _id: user._id }, { $set: { migration: MIGRATION_NAME } }).exec(); } diff --git a/website/server/libs/email.js b/website/server/libs/email.js index da241c571b..4620f980fe 100644 --- a/website/server/libs/email.js +++ b/website/server/libs/email.js @@ -149,4 +149,6 @@ export async function sendTxn (mailingInfoArray, emailType, variables, personalV }, }).catch(err => logger.error(err)); } + + return null; } From d20d254c6f2cd7309c61a990a0d2ee7c7b133010 Mon Sep 17 00:00:00 2001 From: Melior Date: Thu, 21 Nov 2019 23:23:17 +0100 Subject: [PATCH 03/28] Translated using Weblate (Bengali) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Faq Translate-URL: https://translate.habitica.com/projects/habitica/faq/bn/ Translated using Weblate (Bengali) Currently translated at 100.0% (135 of 135 strings) Translation: Habitica/Challenge Translate-URL: https://translate.habitica.com/projects/habitica/challenge/bn/ Translated using Weblate (Latin) Currently translated at 100.0% (211 of 211 strings) Translation: Habitica/Tasks Translate-URL: https://translate.habitica.com/projects/habitica/tasks/la/ Translated using Weblate (Bengali) Currently translated at 100.0% (211 of 211 strings) Translation: Habitica/Tasks Translate-URL: https://translate.habitica.com/projects/habitica/tasks/bn/ Translated using Weblate (Bengali) Currently translated at 92.3% (156 of 169 strings) Translation: Habitica/Limited Translate-URL: https://translate.habitica.com/projects/habitica/limited/bn/ Translated using Weblate (Bengali) Currently translated at 100.0% (296 of 296 strings) Translation: Habitica/Generic Translate-URL: https://translate.habitica.com/projects/habitica/generic/bn/ Translated using Weblate (French) Currently translated at 100.0% (171 of 171 strings) Translation: Habitica/Npc Translate-URL: https://translate.habitica.com/projects/habitica/npc/fr/ Translated using Weblate (French) Currently translated at 100.0% (169 of 169 strings) Translation: Habitica/Limited Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/ Translated using Weblate (French) Currently translated at 100.0% (1973 of 1973 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/ Translated using Weblate (Japanese) Currently translated at 100.0% (36 of 36 strings) Translation: Habitica/Achievements Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/ Translated using Weblate (Vietnamese) Currently translated at 100.0% (15 of 15 strings) Translation: Habitica/Death Translate-URL: https://translate.habitica.com/projects/habitica/death/vi/ Translated using Weblate (English (Pirate)) Currently translated at 100.0% (171 of 171 strings) Translation: Habitica/Npc Translate-URL: https://translate.habitica.com/projects/habitica/npc/en@pirate/ Translated using Weblate (Chinese (Simplified)) Currently translated at 97.9% (1933 of 1973 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/ Translated using Weblate (Japanese) Currently translated at 86.1% (31 of 36 strings) Translation: Habitica/Achievements Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ja/ Translated using Weblate (Russian) Currently translated at 100.0% (211 of 211 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (211 of 211 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/ Translated using Weblate (French) Currently translated at 100.0% (211 of 211 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/ Translated using Weblate (Spanish) Currently translated at 100.0% (211 of 211 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/ Translated using Weblate (German) Currently translated at 100.0% (211 of 211 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/ --- website/common/locales/bn/challenge.json | 6 +- website/common/locales/bn/faq.json | 8 +- website/common/locales/bn/generic.json | 32 +-- website/common/locales/bn/limited.json | 9 +- website/common/locales/bn/tasks.json | 4 +- website/common/locales/de/settings.json | 4 +- website/common/locales/en@pirate/npc.json | 8 +- website/common/locales/es/settings.json | 4 +- website/common/locales/fr/gear.json | 246 ++++++++++---------- website/common/locales/fr/limited.json | 28 +-- website/common/locales/fr/npc.json | 8 +- website/common/locales/fr/settings.json | 4 +- website/common/locales/ja/achievements.json | 16 +- website/common/locales/la/tasks.json | 4 +- website/common/locales/pt_BR/settings.json | 4 +- website/common/locales/ru/settings.json | 4 +- website/common/locales/vi/death.json | 12 +- website/common/locales/zh/gear.json | 3 +- 18 files changed, 219 insertions(+), 185 deletions(-) diff --git a/website/common/locales/bn/challenge.json b/website/common/locales/bn/challenge.json index 0fcf913145..0f3d6ad186 100755 --- a/website/common/locales/bn/challenge.json +++ b/website/common/locales/bn/challenge.json @@ -3,8 +3,8 @@ "challengeDetails": "Challenges are community events in which players compete and earn prizes by completing a group of related tasks.", "brokenChaLink": "Broken Challenge Link", "brokenTask": "Broken Challenge Link: this task was part of a challenge, but has been removed from it. What would you like to do?", - "keepIt": "Keep It", - "removeIt": "Remove It", + "keepIt": "এটি রাখুন", + "removeIt": "এটি মুছে ফেলুন", "brokenChallenge": "Broken Challenge Link: this task was part of a challenge, but the challenge (or group) has been deleted. What to do with the orphan tasks?", "keepThem": "Keep Tasks", "removeThem": "Remove Tasks", @@ -136,4 +136,4 @@ "selectMember": "Select Member", "confirmKeepChallengeTasks": "Do you want to keep challenge tasks?", "selectParticipant": "Select a Participant" -} \ No newline at end of file +} diff --git a/website/common/locales/bn/faq.json b/website/common/locales/bn/faq.json index 545fb45c8a..51822d2725 100755 --- a/website/common/locales/bn/faq.json +++ b/website/common/locales/bn/faq.json @@ -1,5 +1,5 @@ { - "frequentlyAskedQuestions": "Frequently Asked Questions", + "frequentlyAskedQuestions": "বারবার জিজ্ঞাসিত প্রশ্ন", "faqQuestion0": "I'm confused. Where do I get an overview?", "iosFaqAnswer0": "First, you'll set up tasks that you want to do in your everyday life. Then, as you complete the tasks in real life and check them off, you'll earn experience and gold. Gold is used to buy equipment and some items, as well as custom rewards. Experience causes your character to level up and unlock content such as Pets, Skills, and Quests! You can customize your character under Menu > Customize Avatar.\n\n Some basic ways to interact: click the (+) in the upper-right-hand corner to add a new task. Tap on an existing task to edit it, and swipe left on a task to delete it. You can sort tasks using Tags in the upper-left-hand corner, and expand and contract checklists by clicking on the checklist bubble.", "androidFaqAnswer0": "First, you'll set up tasks that you want to do in your everyday life. Then, as you complete the tasks in real life and check them off, you'll earn experience and gold. Gold is used to buy equipment and some items, as well as custom rewards. Experience causes your character to level up and unlock content such as Pets, Skills, and Quests! You can customize your character under Menu > [Inventory >] Avatar.\n\n Some basic ways to interact: click the (+) in the lower-right-hand corner to add a new task. Tap on an existing task to edit it, and swipe left on a task to delete it. You can sort tasks using Tags in the upper-right-hand corner, and expand and contract checklists by clicking on the checklist count box.", @@ -8,11 +8,11 @@ "iosFaqAnswer1": "Good Habits (the ones with a +) are tasks that you can do many times a day, such as eating vegetables. Bad Habits (the ones with a -) are tasks that you should avoid, like biting nails. Habits with a + and a - have a good choice and a bad choice, like taking the stairs vs. taking the elevator. Good Habits award experience and gold. Bad Habits subtract health.\n\n Dailies are tasks that you have to do every day, like brushing your teeth or checking your email. You can adjust the days that a Daily is due by tapping to edit it. If you skip a Daily that is due, your avatar will take damage overnight. Be careful not to add too many Dailies at once!\n\n To-Dos are your To-Do list. Completing a To-Do earns you gold and experience. You never lose health from To-Dos. You can add a due date to a To-Do by tapping to edit.", "androidFaqAnswer1": "Good Habits (the ones with a +) are tasks that you can do many times a day, such as eating vegetables. Bad Habits (the ones with a -) are tasks that you should avoid, like biting nails. Habits with a + and a - have a good choice and a bad choice, like taking the stairs vs. taking the elevator. Good Habits award experience and gold. Bad Habits subtract health.\n\n Dailies are tasks that you have to do every day, like brushing your teeth or checking your email. You can adjust the days that a Daily is due by tapping to edit it. If you skip a Daily that is due, your character will take damage overnight. Be careful not to add too many Dailies at once!\n\n To-Dos are your To-Do list. Completing a To-Do earns you gold and experience. You never lose health from To-Dos. You can add a due date to a To-Do by tapping to edit.", "webFaqAnswer1": "* Good Habits (the ones with a :heavy_plus_sign:) are tasks that you can do many times a day, such as eating vegetables. Bad Habits (the ones with a :heavy_minus_sign:) are tasks that you should avoid, like biting nails. Habits with a :heavy_plus_sign: and a :heavy_minus_sign: have a good choice and a bad choice, like taking the stairs vs. taking the elevator. Good Habits award Experience and Gold. Bad Habits subtract Health.\n* Dailies are tasks that you have to do every day, like brushing your teeth or checking your email. You can adjust the days that a Daily is due by clicking the pencil item to edit it. If you skip a Daily that is due, your avatar will take damage overnight. Be careful not to add too many Dailies at once!\n* To-Dos are your To-Do list. Completing a To-Do earns you Gold and Experience. You never lose Health from To-Dos. You can add a due date to a To-Do by clicking the pencil icon to edit.", - "faqQuestion2": "What are some sample tasks?", + "faqQuestion2": "করণীয় কাজের কিছু নমুনা কী হতে পারে?", "iosFaqAnswer2": "The wiki has four lists of sample tasks to use as inspiration:\n

\n * [Sample Habits](http://habitica.wikia.com/wiki/Sample_Habits)\n * [Sample Dailies](http://habitica.wikia.com/wiki/Sample_Dailies)\n * [Sample To-Dos](http://habitica.wikia.com/wiki/Sample_To-Dos)\n * [Sample Custom Rewards](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", "androidFaqAnswer2": "The wiki has four lists of sample tasks to use as inspiration:\n

\n * [Sample Habits](http://habitica.wikia.com/wiki/Sample_Habits)\n * [Sample Dailies](http://habitica.wikia.com/wiki/Sample_Dailies)\n * [Sample To-Dos](http://habitica.wikia.com/wiki/Sample_To-Dos)\n * [Sample Custom Rewards](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", "webFaqAnswer2": "The wiki has four lists of sample tasks to use as inspiration:\n * [Sample Habits](http://habitica.wikia.com/wiki/Sample_Habits)\n * [Sample Dailies](http://habitica.wikia.com/wiki/Sample_Dailies)\n * [Sample To-Dos](http://habitica.wikia.com/wiki/Sample_To-Dos)\n * [Sample Custom Rewards](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", - "faqQuestion3": "Why do my tasks change color?", + "faqQuestion3": "আমার করণীয় কাজগুলো রঙ পরিবর্তন করছে কেন?", "iosFaqAnswer3": "Your tasks change color based on how well you are currently accomplishing them! Each new task starts out as a neutral yellow. Perform Dailies or positive Habits more frequently and they move toward blue. Miss a Daily or give in to a bad Habit and the task moves toward red. The redder a task, the more rewards it will give you, but if it's a Daily or bad Habit, the more it will hurt you! This helps motivate you to complete the tasks that are giving you trouble.", "androidFaqAnswer3": "Your tasks change color based on how well you are currently accomplishing them! Each new task starts out as a neutral yellow. Perform Dailies or positive Habits more frequently and they move toward blue. Miss a Daily or give in to a bad Habit and the task moves toward red. The redder a task, the more rewards it will give you, but if it's a Daily or bad Habit, the more it will hurt you! This helps motivate you to complete the tasks that are giving you trouble.", "webFaqAnswer3": "Your tasks change color based on how well you are currently accomplishing them! Each new task starts out as a neutral yellow. Perform Dailies or positive Habits more frequently and they move toward blue. Miss a Daily or give in to a bad Habit and the task moves toward red. The redder a task, the more rewards it will give you, but if it’s a Daily or bad Habit, the more it will hurt you! This helps motivate you to complete the tasks that are giving you trouble.", @@ -55,4 +55,4 @@ "iosFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ), come ask in the Tavern chat under Menu > Tavern! We're happy to help.", "androidFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ), come ask in the Tavern chat under Menu > Tavern! We're happy to help.", "webFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ), come ask in the [Habitica Help guild](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! We're happy to help." -} \ No newline at end of file +} diff --git a/website/common/locales/bn/generic.json b/website/common/locales/bn/generic.json index b620494f90..1bf7f1b993 100755 --- a/website/common/locales/bn/generic.json +++ b/website/common/locales/bn/generic.json @@ -1,45 +1,45 @@ { - "languageName": "English", + "languageName": "ইংরেজি", "stringNotFound": "String '<%= string %>' not found.", "titleIndex": "Habitica | Your Life The Role Playing Game", "habitica": "Habitica", "habiticaLink": "Habitica", "onward": "Onward!", "done": "Done", - "gotIt": "Got it!", + "gotIt": "বুঝতে পেরেছি!", "titleTasks": "Tasks", "titleAvatar": "Avatar", "titleBackgrounds": "Backgrounds", "titleStats": "Stats", - "titleAchievs": "Achievements", + "titleAchievs": "অর্জন", "titleProfile": "Profile", "titleInbox": "Inbox", - "titleTavern": "Tavern", + "titleTavern": "সরাইখানা", "titleParty": "Party", "titleHeroes": "Hall of Heroes", "titlePatrons": "Hall of Patrons", "titleGuilds": "Guilds", "titleChallenges": "Challenges", - "titleDrops": "Market", + "titleDrops": "বাজার", "titleQuests": "Quests", - "titlePets": "Pets", + "titlePets": "পোষা প্রাণী", "titleMounts": "Mounts", "titleEquipment": "Equipment", "titleTimeTravelers": "Time Travelers", "titleSeasonalShop": "Seasonal Shop", "titleSettings": "Settings", "saveEdits": "Save Edits", - "showMore": "Show More", - "showLess": "Show Less", + "showMore": "আরো দেখান", + "showLess": "কম দেখান", "expandToolbar": "Expand Toolbar", "collapseToolbar": "Collapse Toolbar", "markdownHelpLink": "Markdown formatting help", "showFormattingHelp": "Show formatting help", "hideFormattingHelp": "Hide formatting help", - "youType": "You type:", - "youSee": "You see:", - "italics": "*Italics*", - "bold": "**Bold**", + "youType": "আপনি লিখুন:", + "youSee": "আপনি দেখুন:", + "italics": "*ইটালিক*", + "bold": "**গাঢ়**", "strikethrough": "~~Strikethrough~~", "emojiExample": ":smile:", "markdownLinkEx": "[Habitica is great!](https://habitica.com)", @@ -290,5 +290,9 @@ "selected": "Selected", "howManyToBuy": "How many would you like to buy?", "habiticaHasUpdated": "There is a new Habitica update. Refresh to get the latest version!", - "contactForm": "Contact the Moderation Team" -} \ No newline at end of file + "contactForm": "Contact the Moderation Team", + "loadEarlierMessages": "আগের বার্তাগুলো লোড করুন", + "demo": "ডেমো", + "options": "Options", + "finish": "সমাপ্ত" +} diff --git a/website/common/locales/bn/limited.json b/website/common/locales/bn/limited.json index 4cd23632e6..cd6eb65b64 100755 --- a/website/common/locales/bn/limited.json +++ b/website/common/locales/bn/limited.json @@ -143,7 +143,7 @@ "dateEndAugust": "August 31", "dateEndSeptember": "September 21", "dateEndOctober": "October 31", - "dateEndNovember": "December 3", + "dateEndNovember": "৩০ নভেম্বর", "dateEndJanuary": "January 31", "dateEndFebruary": "February 28", "winterPromoGiftHeader": "GIFT A SUBSCRIPTION AND GET ONE FREE!", @@ -151,5 +151,8 @@ "winterPromoGiftDetails2": "Please note that if you or your gift recipient already have a recurring subscription, the gifted subscription will only start after that subscription is cancelled or has expired. Thanks so much for your support! <3", "discountBundle": "bundle", "g1g1Announcement": "Gift a Subscription, Get a Subscription Free event going on now!", - "g1g1Details": "Gift a sub to a friend from their profile and you’ll receive the same sub for free!" -} \ No newline at end of file + "g1g1Details": "Gift a sub to a friend from their profile and you’ll receive the same sub for free!", + "spring2019RobinHealerSet": "রবিন (চিকিৎসক)", + "spring2019AmberMageSet": "অ্যাম্বার (জাদুকর)", + "spring2019OrchidWarriorSet": "অর্কিড (যোদ্ধা)" +} diff --git a/website/common/locales/bn/tasks.json b/website/common/locales/bn/tasks.json index 77c47d7c96..dd532ee9bb 100755 --- a/website/common/locales/bn/tasks.json +++ b/website/common/locales/bn/tasks.json @@ -1,5 +1,5 @@ { - "clearCompleted": "Delete Completed", + "clearCompleted": "বাদ দেওয়া সম্পূর্ণ", "clearCompletedDescription": "Completed To-Dos are deleted after 30 days for non-subscribers and 90 days for subscribers.", "clearCompletedConfirm": "Are you sure you want to delete your completed To-Dos?", "sureDeleteCompletedTodos": "Are you sure you want to delete your completed To-Dos?", @@ -210,4 +210,4 @@ "searchTasks": "Search titles and descriptions...", "sessionOutdated": "Your session is outdated. Please refresh or sync.", "errorTemporaryItem": "This item is temporary and cannot be pinned." -} \ No newline at end of file +} diff --git a/website/common/locales/de/settings.json b/website/common/locales/de/settings.json index 1d4921c252..d9d3e1fc04 100644 --- a/website/common/locales/de/settings.json +++ b/website/common/locales/de/settings.json @@ -210,5 +210,7 @@ "onlyPrivateSpaces": "Nur in privaten Bereichen", "everywhere": "Überall", "suggestMyUsername": "Schlage meinen Benutzernamen vor", - "mentioning": "Erwähnung" + "mentioning": "Erwähnung", + "chatExtensionDesc": "Die Chat Erweiterung für Habitica fügt eine intuitive Chatbox für habitica.com hinzu. Sie erlaubt Benutzern, in der Taverne, ihrer Party und all ihren Gilden zu chatten.", + "chatExtension": "Chrome Chat Erweiterung und Firefox Chat Erweiterung" } diff --git a/website/common/locales/en@pirate/npc.json b/website/common/locales/en@pirate/npc.json index 6f41ba8d74..0161da8cf6 100644 --- a/website/common/locales/en@pirate/npc.json +++ b/website/common/locales/en@pirate/npc.json @@ -21,7 +21,7 @@ "sleepDescription": "Need a break? Check into Daniel's Inn t' pause some o' Habitica's more diff'cult game mechanics:", "sleepBullet1": "Missed Dailies won't damage ye", "sleepBullet2": "Tasks won't lose streaks or decay in color", - "sleepBullet3": "Bosses won't do damage fer yer missed Dailies", + "sleepBullet3": "Bosses won't do damage fer yer own missed Dailies", "sleepBullet4": "Yer boss damage or collection Quest items'll stay pendin' 'til check-out", "pauseDailies": "Pause Damage", "unpauseDailies": "Unpause Damage", @@ -103,7 +103,7 @@ "donationDesc": "20 Sapphires, Donation to Habitica", "payWithCard": "Pay with Card", "payNote": "Ahoy! PayPal sometimes be takin' a long time to clear. Payin' with yer card be better.", - "card": "Credit Card", + "card": "Cred-y Card", "amazonInstructions": "Click the button to pay usin' Amazon Payments", "paymentMethods": "Purchase usin'", "paymentSuccessful": "Yer payment was successful!", @@ -167,5 +167,7 @@ "welcome4": "Avoid bad habits that drain Health (HP), or yer avatar will be goin' t' Davy Jones' locker!", "welcome5": "Now ye'll customize yer avatar 'n set up yer tasks...", "imReady": "Set Sail", - "limitedOffer": "Available 'til <%= date %>" + "limitedOffer": "Available 'til <%= date %>", + "paymentCanceledDisputes": "We€ 'ave sent a cancelation confirmation t' yer email. If ye don' see thee email, contact us t' prevent future billin' disputes.", + "paymentAutoRenew": "This subscription will auto-renew 'til 'tis canceled. If ye needs t' cancel this subscription, ye kin do so from yer settin's." } diff --git a/website/common/locales/es/settings.json b/website/common/locales/es/settings.json index 529065f849..912cd46010 100644 --- a/website/common/locales/es/settings.json +++ b/website/common/locales/es/settings.json @@ -210,5 +210,7 @@ "onlyPrivateSpaces": "Solo en espacios privados", "everywhere": "Por todas partes", "suggestMyUsername": "Sugerir mi nombre de usuario", - "mentioning": "Menciones" + "mentioning": "Menciones", + "chatExtensionDesc": "La Extensión de Chat para Habitica añade un intuitivo cuadro de chat a habitica.com. Permite a los usuarios conversar en la Taberna, su equipo, y cualquier gremio en el que estén.", + "chatExtension": "Extensión de Chat para Chrome and Extension de Chat para Firefox" } diff --git a/website/common/locales/fr/gear.json b/website/common/locales/fr/gear.json index eeb362a4a0..4878b0fc6c 100644 --- a/website/common/locales/fr/gear.json +++ b/website/common/locales/fr/gear.json @@ -301,7 +301,7 @@ "weaponArmoireLunarSceptreText": "Sceptre lunaire apaisant", "weaponArmoireLunarSceptreNotes": "Le pouvoir guérisseur de cette baguette croît et décroît. Augmente la constitution de <%= con %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble lunaire apaisant (objet 3 sur 3).", "weaponArmoireRancherLassoText": "Lasso d'éleveur", - "weaponArmoireRancherLassoNotes": "Les lassos : l'outil idéal pour rassembler et maîtriser vos animaux. Augmente la force de <%= str %>, la perception de <%= per %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble de l'éleveur (objet 3 sur 3).", + "weaponArmoireRancherLassoNotes": "Les lassos : l'outil idéal pour rassembler et maîtriser vos animaux. Augmente la force de <%= str %>, la perception de <%= per %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble d'élevage (objet 3 sur 3).", "weaponArmoireMythmakerSwordText": "Epée mythologique", "weaponArmoireMythmakerSwordNotes": "Bien qu'elle puisse sembler humble, cette épée a formé bien des héros mythiques. Augmente la perception et la force de <%= attrs %> chacune. Armoire enchantée : ensemble de la toge dorée (objet 3 sur 3).", "weaponArmoireIronCrookText": "Crochet de fer", @@ -311,69 +311,69 @@ "weaponArmoireBatWandText": "Baguette chauve-souris", "weaponArmoireBatWandNotes": "Cette baguette peut transformer n'importe quelle tâche en chauve-souris! Agitez-la dans tous les sens et regardez-les s'envoler. Augmente l'intelligence de <%= int %> et la perception de <%= per %>. Armoire enchantée: objet indépendant.", "weaponArmoireShepherdsCrookText": "Houlette de berger", - "weaponArmoireShepherdsCrookNotes": "Utile pour rassembler les griffons. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble du berger (objet 1 sur 3).", + "weaponArmoireShepherdsCrookNotes": "Utile pour rassembler les griffons. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de bergerie (objet 1 sur 3).", "weaponArmoireCrystalCrescentStaffText": "Bâton du croissant de cristal", "weaponArmoireCrystalCrescentStaffNotes": "Invoquez le pouvoir du croissant de lune grâce à ce bâton étincelant ! Augmente l'intelligence et la force de <%= attrs %> chacune. Armoire enchantée : ensemble du croissant de cristal (objet 3 sur 3).", "weaponArmoireBlueLongbowText": "Arc long bleu", - "weaponArmoireBlueLongbowNotes": "Prêts... Visez... Feu ! Cet arc a une très longue portée. Augmente la perception de <%= per %>, la constitution de <%= con %> et la force de <%= str %>. Armoire enchantée : ensemble de l'archer d'acier (objet 3 sur 3).", + "weaponArmoireBlueLongbowNotes": "Prêts... Visez... Feu ! Cet arc a une très longue portée. Augmente la perception de <%= per %>, la constitution de <%= con %> et la force de <%= str %>. Armoire enchantée : ensemble d'archerie d'acier (objet 3 sur 3).", "weaponArmoireGlowingSpearText": "Lance rayonnante", "weaponArmoireGlowingSpearNotes": "Cette lance hypnotise les tâches sauvages afin que vous les attaquiez. Augmente la force de <%= str %>. Armoire enchantée : objet indépendant.", "weaponArmoireBarristerGavelText": "Marteau d'avocat", - "weaponArmoireBarristerGavelNotes": "De l'ordre ! Augmente la force et la constitution de <%= attrs %> chacune. Armoire enchantée : ensemble de l'avocat (objet 3 sur 3).", + "weaponArmoireBarristerGavelNotes": "De l'ordre ! Augmente la force et la constitution de <%= attrs %> chacune. Armoire enchantée : ensemble de plaidoirie (objet 3 sur 3).", "weaponArmoireJesterBatonText": "Bâton de bouffon", - "weaponArmoireJesterBatonNotes": "Avec un geste de votre bâton et une répartie saillante, même les situations les plus compliquées deviennent simples. Augmente l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble du bouffon (objet 3 sur 3).", + "weaponArmoireJesterBatonNotes": "Avec un geste de votre bâton et une répartie saillante, même les situations les plus compliquées deviennent simples. Augmente l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble de bouffonnerie (objet 3 sur 3).", "weaponArmoireMiningPickaxText": "Pioche de minage", - "weaponArmoireMiningPickaxNotes": "Minez la quantité maximale d'or de vos tâches ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble du mineur (objet 3 sur 3).", + "weaponArmoireMiningPickaxNotes": "Minez la quantité maximale d'or de vos tâches ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble du minage (objet 3 sur 3).", "weaponArmoireBasicLongbowText": "Arc long de base", - "weaponArmoireBasicLongbowNotes": "Un arc facile à prendre en main. Augmente la force de <%= str %>. Armoire enchantée : ensemble de l'archer de base (objet 1 sur 3).", + "weaponArmoireBasicLongbowNotes": "Un arc facile à prendre en main. Augmente la force de <%= str %>. Armoire enchantée : ensemble d'archerie de base (objet 1 sur 3).", "weaponArmoireHabiticanDiplomaText": "Diplôme d'Habitica", - "weaponArmoireHabiticanDiplomaNotes": "Le certificat d'un succès significatif. Bravo ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble des diplômés (objet 1 sur 3).", + "weaponArmoireHabiticanDiplomaNotes": "Le certificat d'un succès significatif. Bravo ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de remise des diplômes (objet 1 sur 3).", "weaponArmoireSandySpadeText": "Pelle sablonneuse", "weaponArmoireSandySpadeNotes": "Un outil pour creuser, mais aussi pour envoyer du sable dans les yeux des monstres ennemis. Augmente la force de <%= str %>. Armoire enchantée : ensemble du bord de mer (objet 1 sur 3).", "weaponArmoireCannonText": "Canon", - "weaponArmoireCannonNotes": "Arr ! Visez avec détermination. Augmente la force de <%= str %>. Armoire enchantée : ensemble du canonnier (objet 1 sur 3).", + "weaponArmoireCannonNotes": "Arr ! Visez avec détermination. Augmente la force de <%= str %>. Armoire enchantée : ensemble d'artillerie (objet 1 sur 3).", "weaponArmoireVermilionArcherBowText": "Arc de l'archer vermillon", - "weaponArmoireVermilionArcherBowNotes": "Votre flèche s'élancera comme une étoile filante de ce brillant arc rouge ! Augmente la force de <%= str %>. Armoire enchantée : ensemble de l'archer vermillon (objet 1 sur 3).", + "weaponArmoireVermilionArcherBowNotes": "Votre flèche s'élancera comme une étoile filante de ce brillant arc rouge ! Augmente la force de <%= str %>. Armoire enchantée : ensemble d'archerie vermillon (objet 1 sur 3).", "weaponArmoireOgreClubText": "Matraque d'ogre", "weaponArmoireOgreClubNotes": "Cette matraque a été récupérée dans une vraie tanière d'ogre. Augmente la force de <%= str %>. Armoire enchantée : costume d'ogre (objet 2 sur 3).", "weaponArmoireWoodElfStaffText": "Bâton d'elfe des bois", - "weaponArmoireWoodElfStaffNotes": "Sculpté dans une branche tombée d'un arbre millénaire, ce bâton vous permettra de communiquer avec tous les habitants de la forêt, des plus petits aux plus grands. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de l'elfe des bois (objet 3 sur 3).", + "weaponArmoireWoodElfStaffNotes": "Sculpté dans une branche tombée d'un arbre millénaire, ce bâton vous permettra de communiquer avec tous les habitants de la forêt, des plus petits aux plus grands. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble d'elfe des bois (objet 3 sur 3).", "weaponArmoireWandOfHeartsText": "Baguette de cœur", "weaponArmoireWandOfHeartsNotes": "Cette baguette magique étincelle d'une chaleureuse lueur rouge. Elle insufflera également de la sagesse dans votre cœur. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de la reine de cœur (objet 3 sur 3).", "weaponArmoireForestFungusStaffText": "Bâton de champignon forestier", "weaponArmoireForestFungusStaffNotes": "Utilisez ce bâton noueux pour faire de la magie mycologique ! Augmente l'intelligence de <%= int %> et la perception de <%= per %>. Armoire enchantée : objet indépendant.", "weaponArmoireFestivalFirecrackerText": "Pétard de festival", - "weaponArmoireFestivalFirecrackerNotes": "Regardez autour de vous avant d'allumer ce cierge magique. Augmente la perception de <%= per %>. Armoire enchantée : ensemble du festivalier (objet 3 sur 3).", + "weaponArmoireFestivalFirecrackerNotes": "Regardez autour de vous avant d'allumer ce cierge magique. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de festival (objet 3 sur 3).", "weaponArmoireMerchantsDisplayTrayText": "Présentoir de marchand", - "weaponArmoireMerchantsDisplayTrayNotes": "Servez-vous de ce présentoir laqué pour exposer les marchandises raffinées que vous proposez à la vente. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble du marchand (objet 3 sur 3).", + "weaponArmoireMerchantsDisplayTrayNotes": "Servez-vous de ce présentoir laqué pour exposer les marchandises raffinées que vous proposez à la vente. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de marché (objet 3 sur 3).", "weaponArmoireBattleAxeText": "Hache ancienne", "weaponArmoireBattleAxeNotes": "Cette hache en fer est parfaitement adaptée au combat contre vos adversaires les plus féroces ou vos tâches les plus ardues. Augmente l'intelligence de <%= int %> et la constitution de <%= con %>. Armoire enchantée : objet indépendant.", "weaponArmoireHoofClippersText": "Pince à parer", - "weaponArmoireHoofClippersNotes": "Taillez les sabots de vos montures de somme, pour les aider à rester en bonne santé tandis qu'elles vous amènent à l'aventure ! Augmente la Force, l'Intelligence et la Constitution de <%= attrs %> chacune. Armoire enchantée : ensemble du maréchal-ferrant (objet 1 sur 3).", + "weaponArmoireHoofClippersNotes": "Taillez les sabots de vos montures de somme, pour les aider à rester en bonne santé tandis qu'elles vous amènent à l'aventure ! Augmente la Force, l'Intelligence et la Constitution de <%= attrs %> chacune. Armoire enchantée : ensemble de maréchalerie (objet 1 sur 3).", "weaponArmoireWeaversCombText": "Peigne de tisserand", - "weaponArmoireWeaversCombNotes": "Utilisez ce peigne pour assembler vos fils de trame ensemble et faire un tissu solide. Augmente la Perception de <%= per %> et la Force de <%= str %>. Armoire enchantée : ensemble du tisserand (objet 2 sur 3).", + "weaponArmoireWeaversCombNotes": "Utilisez ce peigne pour assembler vos fils de trame ensemble et faire un tissu solide. Augmente la Perception de <%= per %> et la Force de <%= str %>. Armoire enchantée : ensemble de tissage (objet 2 sur 3).", "weaponArmoireLamplighterText": "Allumeur de réverbères", - "weaponArmoireLamplighterNotes": "Ce long mât possède une mèche sur une extrémité pour allumer des lampes, et un crochet sur l'autre extrémité pour les éteindre. Augmente la Constitution de <%= con %> et la Perception de <%= per %>. Armoire enchantée : ensemble de l'éclaireur (objet 1 sur 4)", + "weaponArmoireLamplighterNotes": "Ce long mât possède une mèche sur une extrémité pour allumer des lampes, et un crochet sur l'autre extrémité pour les éteindre. Augmente la Constitution de <%= con %> et la Perception de <%= per %>. Armoire enchantée : ensemble d'éclairage (objet 1 sur 4)", "weaponArmoireCoachDriversWhipText": "Fouet du cocher", - "weaponArmoireCoachDriversWhipNotes": "Vos montures savent ce qu'elles font, donc le fouet n'est là que pour le spectacle (et le bruit net du claquement !). Augmente l'Intelligence de <%= int %> et la Force de <%= str %>. Armoire enchantée : ensemble du cocher (objet 3 sur 3).", + "weaponArmoireCoachDriversWhipNotes": "Vos montures savent ce qu'elles font, donc le fouet n'est là que pour le spectacle (et le bruit net du claquement !). Augmente l'Intelligence de <%= int %> et la Force de <%= str %>. Armoire enchantée : ensemble de coche (objet 3 sur 3).", "weaponArmoireScepterOfDiamondsText": "Sceptre de carreau", "weaponArmoireScepterOfDiamondsNotes": "Ce sceptre brille d'une chaude lueur rouge alors qu'il accroît votre volonté. Augmente la Force de <%= str %>. Armoire enchantée : ensemble du roi de carreau (objet 3 sur 4).", "weaponArmoireFlutteryArmyText": "Armée papillonnante", "weaponArmoireFlutteryArmyNotes": "Ce groupe de lépidoptères bagarreurs est prêt à battre des ailes avec acharnement pour refroidir les plus rouges de vos tâches. Augmente la Constitution, l'Intelligence et la Force de <%= attrs %> chacune. Armoire enchantée : ensemble papillonnant (objet 3 sur 4).", "weaponArmoireCobblersHammerText": "Marteau de cordonnier", - "weaponArmoireCobblersHammerNotes": "Ce marteau a été spécialement fabriqué pour traiter le cuir. Néanmoins, il peut accomplir un travail impressionnant sur une quotidienne rouge en un rien de temps. Augmente la constitution et la force de <%= attrs %> chacune. Armoire enchantée : ensemble du cordonnier (objet 2 sur 3).", + "weaponArmoireCobblersHammerNotes": "Ce marteau a été spécialement fabriqué pour traiter le cuir. Néanmoins, il peut accomplir un travail impressionnant sur une quotidienne rouge en un rien de temps. Augmente la constitution et la force de <%= attrs %> chacune. Armoire enchantée : ensemble de cordonnerie (objet 2 sur 3).", "weaponArmoireGlassblowersBlowpipeText": "Canne de verrier", - "weaponArmoireGlassblowersBlowpipeNotes": "Utilisez ce tube pour souffler du verre et former des magnifiques vases, ornements ou d’autres trucs fantaisistes. Augmente la Force de <%= str %>. Armoire enchantée : ensemble du souffleur de verre (objet 1 sur 4).", + "weaponArmoireGlassblowersBlowpipeNotes": "Utilisez ce tube pour souffler du verre et former des magnifiques vases, ornements ou d’autres trucs fantaisistes. Augmente la Force de <%= str %>. Armoire enchantée : ensemble de soufflage de verre (objet 1 sur 4).", "weaponArmoirePoisonedGobletText": "Gobelet empoisonné", "weaponArmoirePoisonedGobletNotes": "Servez-vous de ceci pour augmenter votre résistance à l'iocane en poudre et autres poisons incroyablement dangereux. Augmente l'Intelligence de <%= int %>. Armoire enchantée : ensemble de princesse de la piraterie (objet 3 sur 4).", "weaponArmoireJeweledArcherBowText": "Arc en joyaux", - "weaponArmoireJeweledArcherBowNotes": "Cet arc en or et en gemmes enverra vos flèches sur leurs cibles à des vitesses incroyables. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de l'archer aux joyaux (Objet 3 de 3).", + "weaponArmoireJeweledArcherBowNotes": "Cet arc en or et en gemmes enverra vos flèches sur leurs cibles à des vitesses incroyables. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble d'archerie aux joyaux (Objet 3 de 3).", "weaponArmoireNeedleOfBookbindingText": "Aiguille de reliure", - "weaponArmoireNeedleOfBookbindingNotes": "La robustesse des livres est étonnante. Mais cette aiguille peu percer le cœur de vos corvées. Augmente la force de <%= str %>. Armoire enchantée : ensemble du relieur (Objet 3 de 4).", + "weaponArmoireNeedleOfBookbindingNotes": "La robustesse des livres est étonnante. Mais cette aiguille peu percer le cœur de vos corvées. Augmente la force de <%= str %>. Armoire enchantée : ensemble de reliure (Objet 3 de 4).", "weaponArmoireSpearOfSpadesText": "Lance de Pique", "weaponArmoireSpearOfSpadesNotes": "Cette lance chevaleresque est parfaite pour attaquer vos habitudes et vos quotidiennes les plus rouges. Augmente la Constitution de <%= con %>. Armoire enchantée : ensemble de l'as de pique (objet 3 sur 3).", "weaponArmoireArcaneScrollText": "Parchemin arcanique", - "weaponArmoireArcaneScrollNotes": "Cette ancienne liste de tâches est remplie d'étranges symboles et de sorts d'un âge oublié. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble du scribe (objet 3 de 3).", + "weaponArmoireArcaneScrollNotes": "Cette ancienne liste de tâches est remplie d'étranges symboles et de sorts d'un âge oublié. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de copiste (objet 3 de 3).", "armor": "armure", "armorCapitalized": "Armure", "armorBase0Text": "Habit simple", @@ -719,103 +719,103 @@ "armorArmoireLunarArmorText": "Armure lunaire apaisante", "armorArmoireLunarArmorNotes": "La lumière de la lune vous rendra fort et perspicace. Augmente la force de <%= str %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble lunaire apaisant (objet 2 sur 3).", "armorArmoireGladiatorArmorText": "Armure de gladiateur", - "armorArmoireGladiatorArmorNotes": "Pour être un gladiateur, vous devez non seulement être rusé... mais fort. Augmente la perception de <%= per %> et la force de <%= str %>. Armoire enchantée : ensemble du gladiateur (objet 2 sur 3).", + "armorArmoireGladiatorArmorNotes": "Pour être un gladiateur, vous devez non seulement être rusé... mais fort. Augmente la perception de <%= per %> et la force de <%= str %>. Armoire enchantée : ensemble de gladiature (objet 2 sur 3).", "armorArmoireRancherRobesText": "Tenue d'éleveur", - "armorArmoireRancherRobesNotes": "Maîtrisez vos montures et rassemblez vos familiers en portant cette tenue d'éleveur magique ! Augmente la force de <%= str %>, la perception de <%= per %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble de l'éleveur (objet 2 sur 3).", + "armorArmoireRancherRobesNotes": "Maîtrisez vos montures et rassemblez vos familiers en portant cette tenue d'éleveur magique ! Augmente la force de <%= str %>, la perception de <%= per %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble d'élevage (objet 2 sur 3).", "armorArmoireGoldenTogaText": "Toge dorée", "armorArmoireGoldenTogaNotes": "Cette toge scintillante n'est portée que par les véritables héros. Augmente la force et la constitution par <%= attrs %> chacune. Armoire enchantée : ensemble de la toge dorée (objet 1 sur 3).", "armorArmoireHornedIronArmorText": "Armure en fer cornue", "armorArmoireHornedIronArmorNotes": "Férocement forgée dans le fer, cette armure cornue est presque impossible à briser. Augmente la constitution de <%= con %> et la perception de <%= per %>. Armoire enchantée : ensemble des cornes de fer (objet 2 sur 3).", "armorArmoirePlagueDoctorOvercoatText": "Pardessus de médecin de la peste", - "armorArmoirePlagueDoctorOvercoatNotes": "Un authentique pardessus porté par les médecins qui ont combattu la peste de Procrastination ! Augmente l'intelligence de <%= int %>, la force de <%= str %> et la constitution de <%= con %>. Armoire enchantée : ensemble du médecin de la peste (objet 3 sur 3).", + "armorArmoirePlagueDoctorOvercoatNotes": "Un authentique pardessus porté par les médecins qui ont combattu la peste de Procrastination ! Augmente l'intelligence de <%= int %>, la force de <%= str %> et la constitution de <%= con %>. Armoire enchantée : ensemble de médecin de la peste (objet 3 sur 3).", "armorArmoireShepherdRobesText": "Tunique de berger", - "armorArmoireShepherdRobesNotes": "Le tissu est léger et aéré, parfait pour une chaude journée passée à rassembler des griffons dans le désert. Augmente la force et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble du berger (objet 2 sur 3).", + "armorArmoireShepherdRobesNotes": "Le tissu est léger et aéré, parfait pour une chaude journée passée à rassembler des griffons dans le désert. Augmente la force et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble de bergerie (objet 2 sur 3).", "armorArmoireRoyalRobesText": "Tunique royale", "armorArmoireRoyalRobesNotes": "Merveilleux souverain, régnez du matin au soir ! Augmente la constitution, l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble royal (objet 3 sur 3).", "armorArmoireCrystalCrescentRobesText": "Tunique du croissant de cristal", "armorArmoireCrystalCrescentRobesNotes": "Cette tunique magique illumine la nuit. Augmente la constitution et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble du croissant de lune (objet 2 sur 3).", "armorArmoireDragonTamerArmorText": "Armure de dresseur de dragon", - "armorArmoireDragonTamerArmorNotes": "Les flammes ne peuvent pénétrer cette robuste armure. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble du dresseur de dragon (objet 3 sur 3).", + "armorArmoireDragonTamerArmorNotes": "Les flammes ne peuvent pénétrer cette robuste armure. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de dressage de dragon (objet 3 sur 3).", "armorArmoireBarristerRobesText": "Tunique d'avocat", - "armorArmoireBarristerRobesNotes": "Très solennelle et majestueuse. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de l'avocat (objet 2 sur 3).", + "armorArmoireBarristerRobesNotes": "Très solennelle et majestueuse. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de plaidoirie (objet 2 sur 3).", "armorArmoireJesterCostumeText": "Costume de bouffon", - "armorArmoireJesterCostumeNotes": "Tralala ! Malgré l'apparence de ce costume, vous n'êtes pas un bouffon. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble du bouffon (Objet 2 sur 3).", + "armorArmoireJesterCostumeNotes": "Tralala ! Malgré l'apparence de ce costume, vous n'êtes pas un bouffon. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de bouffonnerie (Objet 2 sur 3).", "armorArmoireMinerOverallsText": "Salopette de mineur", - "armorArmoireMinerOverallsNotes": "Elle semble peut-être usée, mais elle contient un enchantement qui repousse la poussière. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble du mineur (objet 2 sur 3).", + "armorArmoireMinerOverallsNotes": "Elle semble peut-être usée, mais elle contient un enchantement qui repousse la poussière. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de minage (objet 2 sur 3).", "armorArmoireBasicArcherArmorText": "Armure d'archer de base", - "armorArmoireBasicArcherArmorNotes": "Cette veste de camouflage vous permet de vous faufiler incognito dans les forêts. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de l'archer de base (objet 2 sur 3).", + "armorArmoireBasicArcherArmorNotes": "Cette veste de camouflage vous permet de vous faufiler incognito dans les forêts. Augmente la perception de <%= per %>. Armoire enchantée : ensemble d'archerie de base (objet 2 sur 3).", "armorArmoireGraduateRobeText": "Toge des diplômés", - "armorArmoireGraduateRobeNotes": "Félicitations ! Cette lourde toge porte toutes les connaissances que vous avez acquises. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble des diplômés (objet 2 sur 3).", + "armorArmoireGraduateRobeNotes": "Félicitations ! Cette lourde toge porte toutes les connaissances que vous avez acquises. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de remise des diplômes (objet 2 sur 3).", "armorArmoireStripedSwimsuitText": "Maillot de bain rayé", "armorArmoireStripedSwimsuitNotes": "Qu'est ce que qui pourrait être plus amusant que de combattre les monstres marins sur la plage ? Augmente la constitution de <%= con %>. Armoire enchantée : ensemble du bord de mer (objet 2 sur 3).", "armorArmoireCannoneerRagsText": "Guenilles de canonnier", - "armorArmoireCannoneerRagsNotes": "Ces guenilles sont plus résistantes qu'elles en ont l'air. Augmentent la constitution de <%= con %>. Armoire enchantée : ensemble du canonnier (objet 2 sur 3).", + "armorArmoireCannoneerRagsNotes": "Ces guenilles sont plus résistantes qu'elles en ont l'air. Augmentent la constitution de <%= con %>. Armoire enchantée : ensemble d'artillerie (objet 2 sur 3).", "armorArmoireFalconerArmorText": "Armure de fauconnerie", "armorArmoireFalconerArmorNotes": "Protégez-vous des attaques des serres avec cette robuste armure ! Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de fauconnerie (objet 1 sur 3).", "armorArmoireVermilionArcherArmorText": "Armure de l'archer vermillon", - "armorArmoireVermilionArcherArmorNotes": "Cette armure est faite d'un métal rouge enchanté spécialement pour une protection maximale, une restriction minimale et un maximum d'allure ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble de l'archer vermillon (objet 2 sur 3).", + "armorArmoireVermilionArcherArmorNotes": "Cette armure est faite d'un métal rouge enchanté spécialement pour une protection maximale, une restriction minimale et un maximum d'allure ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble d'archerie vermillon (objet 2 sur 3).", "armorArmoireOgreArmorText": "Armure d'ogre", "armorArmoireOgreArmorNotes": "Cette armure imite la peau résistante d'un ogre mais est doublée de laine pour le confort des humains ! Augmente la constitution de <%= con %>. Armoire enchantée : costume d'ogre (objet 3 sur 3).", "armorArmoireIronBlueArcherArmorText": "Armure bleue de l'archer d'acier", - "armorArmoireIronBlueArcherArmorNotes": "Cette armure va vous protéger des flèches sur le champ de bataille ! Augmente la force de <%= str %>. Armoire enchantée : ensemble de l'archer d'acier (objet 2 sur 3).", + "armorArmoireIronBlueArcherArmorNotes": "Cette armure va vous protéger des flèches sur le champ de bataille ! Augmente la force de <%= str %>. Armoire enchantée : ensemble d'archerie d'acier (objet 2 sur 3).", "armorArmoireRedPartyDressText": "Robe de soirée rouge", "armorArmoireRedPartyDressNotes": "Vous voilà fort, tenace, brillant... et tellement à la mode ! Augmente la force, la constitution et l'intelligence de <%= attrs %> chacune. Armoire enchantée : ensemble du serre-tête rouge (objet 2 sur 2).", "armorArmoireWoodElfArmorText": "Armure d'elfe des bois", - "armorArmoireWoodElfArmorNotes": "Cette armure d'écorce et de feuilles fera un camouflage adapté à la vie en forêt. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de l'elfe des bois (objet 2 sur 3).", + "armorArmoireWoodElfArmorNotes": "Cette armure d'écorce et de feuilles fera un camouflage adapté à la vie en forêt. Augmente la perception de <%= per %>. Armoire enchantée : ensemble d'elfe des bois (objet 2 sur 3).", "armorArmoireRamFleeceRobesText": "Robes en peau de bélier", - "armorArmoireRamFleeceRobesNotes": "Cette tunique vous garde au chaud même sous le plus terrible des blizzards. Augmente la constitution de <%= con %> et la force de <%= str %>. Armoire enchantée : ensemble du barbare criophore (objet 2 sur 3).", + "armorArmoireRamFleeceRobesNotes": "Cette tunique vous garde au chaud même sous le plus terrible des blizzards. Augmente la constitution de <%= con %> et la force de <%= str %>. Armoire enchantée : ensemble de barbare criophore (objet 2 sur 3).", "armorArmoireGownOfHeartsText": "Toge de cœur", "armorArmoireGownOfHeartsNotes": "Cette toge est pleine d'ornements, et en plus, elle vous donnera du baume au cœur. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de la reine de cœur (objet 2 sur 3).", "armorArmoireMushroomDruidArmorText": "Armure druidique mycologique", - "armorArmoireMushroomDruidArmorNotes": "Cette armure de bois ancien, recouverte de petits champignons, vous aidera à entendre les murmures de la faune et de la flore forestière. Augmente la constitution de <%= con %> et la perception de <%= per %>. Armoire enchantée : ensemble du druide mycologique (objet 2 sur 3).", + "armorArmoireMushroomDruidArmorNotes": "Cette armure de bois ancien, recouverte de petits champignons, vous aidera à entendre les murmures de la faune et de la flore forestière. Augmente la constitution de <%= con %> et la perception de <%= per %>. Armoire enchantée : ensemble de druiderie mycologique (objet 2 sur 3).", "armorArmoireGreenFestivalYukataText": "Yukata vert de festivalier", - "armorArmoireGreenFestivalYukataNotes": "Ce kimono léger vous gardera au frais en toute occasion festive. Augmente la constitution et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble du festivalier (objet 1 sur 3).", + "armorArmoireGreenFestivalYukataNotes": "Ce kimono léger vous gardera au frais en toute occasion festive. Augmente la constitution et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble de festival (objet 1 sur 3).", "armorArmoireMerchantTunicText": "Tunique de marchand", - "armorArmoireMerchantTunicNotes": "Les larges manches de cette tunique vous permettent de dissimuler les pièces que vous avez gagnées ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble du marchand (objet 2 sur 3).", + "armorArmoireMerchantTunicNotes": "Les larges manches de cette tunique vous permettent de dissimuler les pièces que vous avez gagnées ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble de marché (objet 2 sur 3).", "armorArmoireVikingTunicText": "Tunique viking", - "armorArmoireVikingTunicNotes": "Cette chaude tunique de laine inclut une cape pour un confort supérieur, et ce même au cœur des bourrasques en pleine mer. Augmente la constitution de <%= con %> et la force de <%= str %>. Armoire enchantée : ensemble du viking (objet 1 sur 3).", + "armorArmoireVikingTunicNotes": "Cette chaude tunique de laine inclut une cape pour un confort supérieur, et ce même au cœur des bourrasques en pleine mer. Augmente la constitution de <%= con %> et la force de <%= str %>. Armoire enchantée : ensemble de viking (objet 1 sur 3).", "armorArmoireSwanDancerTutuText": "Tutu de danseur du cygne", - "armorArmoireSwanDancerTutuNotes": "Une pirouette dans ce superbe tutu à plumes, et vous pourriez bien vous envoler haut dans les airs ! Augmente l'intelligence et la force de <%= attrs %> chacune. Armoire enchantée : ensemble du danseur du cygne (objet 2 sur 3).", + "armorArmoireSwanDancerTutuNotes": "Une pirouette dans ce superbe tutu à plumes, et vous pourriez bien vous envoler haut dans les airs ! Augmente l'intelligence et la force de <%= attrs %> chacune. Armoire enchantée : ensemble de danse du cygne (objet 2 sur 3).", "armorArmoireAntiProcrastinationArmorText": "Armure anti-procrastination", "armorArmoireAntiProcrastinationArmorNotes": "Imprégnée d'anciens sortilèges de productivité, cette armure d'acier vous octroiera un surplus de force pour affronter vos tâches. Augmente la force de <%= str %>. Armoire enchantée : ensemble anti-procrastination (objet 2 sur 3).", "armorArmoireYellowPartyDressText": "Robe de soirée jaune", "armorArmoireYellowPartyDressNotes": "Vous voilà perspicace, fort, brillant... et tellement à la mode ! Augmente la perception, la force et l'intelligence de <%= attrs %> chacune. Armoire enchantée : ensemble du serre-tête jaune (objet 2 sur 2).", "armorArmoireFarrierOutfitText": "Tenue de maréchal-ferrant", - "armorArmoireFarrierOutfitNotes": "Ces vêtements de travail résistants peuvent tenir tête à l'étable la plus désordonnée. Augmente l'intelligence, la constitution et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble du maréchal-ferrant (objet 2 sur 3).", + "armorArmoireFarrierOutfitNotes": "Ces vêtements de travail résistants peuvent tenir tête à l'étable la plus désordonnée. Augmente l'intelligence, la constitution et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble de maréchalerie (objet 2 sur 3).", "armorArmoireCandlestickMakerOutfitText": "Habits de cirier", - "armorArmoireCandlestickMakerOutfitNotes": "Cet ensemble de vêtements résistants vous protégera de la cire brûlante que vous pourriez renverser en pratiquant votre art ! Augmente la constitution de <%= con %>. Armoire enchantée : ensemble du cirier (objet 1 sur 3).", + "armorArmoireCandlestickMakerOutfitNotes": "Cet ensemble de vêtements résistants vous protégera de la cire brûlante que vous pourriez renverser en pratiquant votre art ! Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de fabrication de bougies (objet 1 sur 3).", "armorArmoireWovenRobesText": "Tunique tissée", - "armorArmoireWovenRobesNotes": "Exhibez fièrement votre travail de tissage en portant cette tunique bariolée ! Augmente la constitution de <%= con %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble du tisserand (objet 1 sur 3).", + "armorArmoireWovenRobesNotes": "Exhibez fièrement votre travail de tissage en portant cette tunique bariolée ! Augmente la constitution de <%= con %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble de tissage (objet 1 sur 3).", "armorArmoireLamplightersGreatcoatText": "Pardessus d'allumeur de réverbères", - "armorArmoireLamplightersGreatcoatNotes": "Cet épais manteau de laine peut résister aux plus rudes des nuits hivernales ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble de l'éclaireur (objet 2 sur 4).", + "armorArmoireLamplightersGreatcoatNotes": "Cet épais manteau de laine peut résister aux plus rudes des nuits hivernales ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble d'éclairage (objet 2 sur 4).", "armorArmoireCoachDriverLiveryText": "Livrée de cocher", - "armorArmoireCoachDriverLiveryNotes": "Ce lourd manteau vous protégera des intempéries pendant que vous conduisez. De plus, il est plutôt élégant ! Augmente la force de <%= str %>. Armoire enchantée : ensemble du cocher (objet 1 sur 3).", + "armorArmoireCoachDriverLiveryNotes": "Ce lourd manteau vous protégera des intempéries pendant que vous conduisez. De plus, il est plutôt élégant ! Augmente la force de <%= str %>. Armoire enchantée : ensemble de coche (objet 1 sur 3).", "armorArmoireRobeOfDiamondsText": "Robe de carreau", "armorArmoireRobeOfDiamondsNotes": "Non seulement ces tuniques royales vous donnent un air noble, mais elle vous permettent de voir la noblesse chez les autres. Augmente la perception de <%= per %>. Armoire enchantée : ensemble du roi de carreau (objet 1 sur 4).", "armorArmoireFlutteryFrockText": "Robe papillonnante", "armorArmoireFlutteryFrockNotes": "Une robe légère et vaporeuse avec un large jupon que les papillons risquent de prendre pour une fleur géante. Augmente la constitution, la perception et la force de <%= attrs %> chacune. Armoire enchantée : ensemble papillonnant (objet 1 sur 4).", "armorArmoireCobblersCoverallsText": "Combinaison de cordonnier", - "armorArmoireCobblersCoverallsNotes": "Cette combinaison solide a plein de poches pour les outils, les morceaux de cuir et les autres objets utiles ! Augmente la perception et la force de <%= attrs %> chacune. Armoire enchantée : ensemble du cordonnier (objet 1 sur 3).", + "armorArmoireCobblersCoverallsNotes": "Cette combinaison solide a plein de poches pour les outils, les morceaux de cuir et les autres objets utiles ! Augmente la perception et la force de <%= attrs %> chacune. Armoire enchantée : ensemble de cordonnerie (objet 1 sur 3).", "armorArmoireGlassblowersCoverallsText": "Combinaison de souffleur de verre", - "armorArmoireGlassblowersCoverallsNotes": "Cette combinaison vous protégera quand vous fabriquerez des chef-d’œuvres avec du verre en fusion. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble du souffleur de verre (objet 2 sur 4).", + "armorArmoireGlassblowersCoverallsNotes": "Cette combinaison vous protégera quand vous fabriquerez des chef-d’œuvres avec du verre en fusion. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de soufflage de verre (objet 2 sur 4).", "armorArmoireBluePartyDressText": "Robe de soirée bleue", "armorArmoireBluePartyDressNotes": "Vous voilà perspicace, résistant, élégant... et tellement à la mode ! Augmente la perception, la force et la constitution de <%= attrs %> chacune. Armoire enchantée : ensemble du serre-tête bleu (objet 2 sur 2).", "armorArmoirePiraticalPrincessGownText": "Peignoir de princesse pirate", - "armorArmoirePiraticalPrincessGownNotes": "Ce vêtement luxueux a de nombreuses poches pour cacher des armes et du butin ! Augmente la perception de <%= per %>. Armoire enchantée : Ensemble de la princesse pirate (Objet 2 de 4).", + "armorArmoirePiraticalPrincessGownNotes": "Ce vêtement luxueux a de nombreuses poches pour cacher des armes et du butin ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble de princesse de la piraterie (Objet 2 de 4).", "armorArmoireJeweledArcherArmorText": "Armure en joyaux", - "armorArmoireJeweledArcherArmorNotes": "Cette armure soigneusement décorée vous protégera des projectiles ou des quotidiennes rouges oubliées ! Augmente la constitution de <%= con %>. Armoire enchantée : Ensemble de l'Archer aux joyaux (Objet 2 de 3).", + "armorArmoireJeweledArcherArmorNotes": "Cette armure soigneusement décorée vous protégera des projectiles ou des quotidiennes rouges oubliées ! Augmente la constitution de <%= con %>. Armoire enchantée : ensemble d'archerie aux joyaux (Objet 2 de 3).", "armorArmoireCoverallsOfBookbindingText": "Combinaison de reliure", - "armorArmoireCoverallsOfBookbindingNotes": "Tout ce dont vous avez besoin dans une combinaison, avec des poches pour chaque chose. Une paire de lunettes, de la monnaie, un anneau en or... Augmente la constitution de <%= con %> et la perception de <%= per %>. Armoire enchantée : Ensemble du relieur (Objet 2 de 4).", + "armorArmoireCoverallsOfBookbindingNotes": "Tout ce dont vous avez besoin dans une combinaison, avec des poches pour chaque chose. Une paire de lunettes, de la monnaie, un anneau en or... Augmente la constitution de <%= con %> et la perception de <%= per %>. Armoire enchantée : ensemble du reliure (Objet 2 de 4).", "armorArmoireRobeOfSpadesText": "Tunique de Pique", "armorArmoireRobeOfSpadesNotes": "Cette tunique luxuriante contient des poches dissimulées pour y ranger des trésors ou des armes - c'est vous qui voyez ! Augmente la force de <%= str %>. Armoire enchantée : Set As de Pique (objet 2 sur 3).", "armorArmoireSoftBlueSuitText": "Doux costume bleu", - "armorArmoireSoftBlueSuitNotes": "Le bleu est une couleur apaisante. À tel point que certains revêtent même cette douce tenue pour dormir... zZz. Augmente l'intelligence de <%= int %> et la perception de <%= per %>. Armoire enchantée: Ensemble de vêtements de détente bleus (Objet 2 de 3).", + "armorArmoireSoftBlueSuitNotes": "Le bleu est une couleur apaisante. À tel point que certains revêtent même cette douce tenue pour dormir... zZz. Augmente l'intelligence de <%= int %> et la perception de <%= per %>. Armoire enchantée : ensemble de vêtements de détente bleus (Objet 2 de 3).", "armorArmoireSoftGreenSuitText": "Doux costume vert", - "armorArmoireSoftGreenSuitNotes": "Le vert est la couleur la plus rafraîchissante ! Idéal pour reposer ces yeux fatigués... mmm, ou même pour une sieste... Augmente la constitution et l'intelligence de <%= attrs %> chacun. Armoire enchantée : Ensemble de vêtements de détente verts (Objet 2 de 3).", + "armorArmoireSoftGreenSuitNotes": "Le vert est la couleur la plus rafraîchissante ! Idéal pour reposer ces yeux fatigués... mmm, ou même pour une sieste... Augmente la constitution et l'intelligence de <%= attrs %> chacun. Armoire enchantée : ensemble de vêtements de détente verts (Objet 2 de 3).", "armorArmoireSoftRedSuitText": "Doux costume rouge", - "armorArmoireSoftRedSuitNotes": "Le rouge est une couleur si revigorante. Si vous devez vous réveiller frais et dispos, ce costume pourrait être le pyjama parfait... Augmente l'intelligence de <%= int %> et la force de <%= str %>. Armoire enchantée : Ensemble de vêtements de détente rouges (objet 2 de 3).", + "armorArmoireSoftRedSuitNotes": "Le rouge est une couleur si revigorante. Si vous devez vous réveiller frais et dispos, ce costume pourrait être le pyjama parfait... Augmente l'intelligence de <%= int %> et la force de <%= str %>. Armoire enchantée : ensemble de vêtements de détente rouges (objet 2 de 3).", "armorArmoireScribesRobeText": "Robe de scribe", - "armorArmoireScribesRobeNotes": "Ces tuniques de velours sont tissées de magie inspirante et motivante. Augmente la perception et l'intelligence de <%= attrs %> chacun. Armoire enchantée : Ensemble du scribe (objet 1 de 3).", + "armorArmoireScribesRobeNotes": "Ces tuniques de velours sont tissées de magie inspirante et motivante. Augmente la perception et l'intelligence de <%= attrs %> chacun. Armoire enchantée : ensemble de copiste (objet 1 de 3).", "headgear": "heaume", "headgearCapitalized": "Couvre-chef", "headBase0Text": "Pas de couvre-chef", @@ -1177,11 +1177,11 @@ "headArmoireVioletFloppyHatText": "Chapeau négligé violet", "headArmoireVioletFloppyHatNotes": "De nombreux sorts furent tissés dans la trame même de ce simple chapeau, lui donnant une agréable couleur violette. Augmente la perception de <%= per %>, l'intelligence de <%= int %> et la constitution de <%= con %>. Armoire enchantée : objet indépendant.", "headArmoireGladiatorHelmText": "Heaume de gladiateur", - "headArmoireGladiatorHelmNotes": "Pour être un gladiateur, vous devez non seulement être fort... mais rusé. Augmente l'intelligence de <%= int %> et la perception de <%= per %>. Armoire enchantée : ensemble du gladiateur (objet 1 sur 3).", + "headArmoireGladiatorHelmNotes": "Pour être un gladiateur, vous devez non seulement être fort... mais rusé. Augmente l'intelligence de <%= int %> et la perception de <%= per %>. Armoire enchantée : ensemble de gladiature (objet 1 sur 3).", "headArmoireRancherHatText": "Chapeau d'éleveur", - "headArmoireRancherHatNotes": "Rassemblez vos familiers et maîtrisez vos montures en portant ce chapeau d'éleveur magique ! Augmente la force de <%= str %>, la perception de <%= per %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble de l'éleveur (objet 1 sur 3).", + "headArmoireRancherHatNotes": "Rassemblez vos familiers et maîtrisez vos montures en portant ce chapeau d'éleveur magique ! Augmente la force de <%= str %>, la perception de <%= per %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble d'élevage (objet 1 sur 3).", "headArmoireBlueHairbowText": "Serre-tête bleu", - "headArmoireBlueHairbowNotes": "Devenez perspicace, tenace et brillant en portant ce magnifique serre-tête bleu ! Augmente la perception de <%= per %>, la constitution de <%= con %> et l'intelligence de <%= int %>. Armoire enchantée : Ensemble du serre-tête bleu (objet 1 de 2).", + "headArmoireBlueHairbowNotes": "Devenez perspicace, tenace et brillant en portant ce magnifique serre-tête bleu ! Augmente la perception de <%= per %>, la constitution de <%= con %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble du serre-tête bleu (objet 1 de 2).", "headArmoireRoyalCrownText": "Couronne royale", "headArmoireRoyalCrownNotes": "Vive le souverain, puissant et fort ! Augmente la force de <%= str %>. Armoire enchantée : ensemble royal (objet 1 sur 3).", "headArmoireGoldenLaurelsText": "Lauriers dorés", @@ -1191,65 +1191,65 @@ "headArmoireYellowHairbowText": "Serre-tête jaune", "headArmoireYellowHairbowNotes": "Devenez perspicace, fort et brillant en portant ce magnifique serre-tête jaune ! Augmente la perception, la force et l'intelligence de <%= attrs %> chacune. Armoire enchantée : ensemble du serre-tête jaune (objet 1 sur 2).", "headArmoireRedFloppyHatText": "Chapeau négligé rouge", - "headArmoireRedFloppyHatNotes": "De nombreux sorts ont été tissés dans ce simple chapeau, lui donnant une éclatante couleur rouge. Augmente la constitution, l'intelligence et la perception de <%= attrs %> chacun. Armoire enchantée : Ensemble de vêtements de détente rouges (objet 1 de 3).", + "headArmoireRedFloppyHatNotes": "De nombreux sorts ont été tissés dans ce simple chapeau, lui donnant une éclatante couleur rouge. Augmente la constitution, l'intelligence et la perception de <%= attrs %> chacun. Armoire enchantée : ensemble de vêtements de détente rouges (objet 1 de 3).", "headArmoirePlagueDoctorHatText": "Chapeau de médecin de la peste", - "headArmoirePlagueDoctorHatNotes": "Un authentique chapeau porté par les médecins qui ont combattu la peste de Procrastination ! Augmente la force de <%= str %>, l'intelligence de <%= int %> et la constitution de <%= con %>. Armoire enchantée : ensemble du médecin de la peste (objet 1 sur 3).", + "headArmoirePlagueDoctorHatNotes": "Un authentique chapeau porté par les médecins qui ont combattu la peste de Procrastination ! Augmente la force de <%= str %>, l'intelligence de <%= int %> et la constitution de <%= con %>. Armoire enchantée : ensemble de médecin de la peste (objet 1 sur 3).", "headArmoireBlackCatText": "Chapeau chat noir", "headArmoireBlackCatNotes": "Ce chapeau noir... ronronne. Et remue la queue. Et respire aussi ? Bon, vous avez simplement un chat endormi sur la tête. Augmente l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : objet indépendant.", "headArmoireOrangeCatText": "Chapeau chat orange", "headArmoireOrangeCatNotes": "Ce chapeau orange... ronronne. Et remue la queue. Et respire aussi ? Bon, vous avez simplement un chat endormi sur la tête. Augmente la force et la constitution de <%= attrs %> chacune. Armoire enchantée : objet indépendant.", "headArmoireBlueFloppyHatText": "Chapeau négligé bleu", - "headArmoireBlueFloppyHatNotes": "De nombreux sorts ont été cousus dans ce chapeau simple, lui conférant une couleur bleue brillante. Augmente la constitution, l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : Ensemble de vêtements de détente bleus (objet 1 de 3).", + "headArmoireBlueFloppyHatNotes": "De nombreux sorts ont été cousus dans ce chapeau simple, lui conférant une couleur bleue brillante. Augmente la constitution, l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble de vêtements de détente bleus (objet 1 de 3).", "headArmoireShepherdHeaddressText": "Capuche de berger", - "headArmoireShepherdHeaddressNotes": "Parfois, les griffons que vous gardez s'amusent à mâchonner cette capuche, mais elle vous donne tout de même l'air plus intelligent. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble du berger (objet 3 sur 3).", + "headArmoireShepherdHeaddressNotes": "Parfois, les griffons que vous gardez s'amusent à mâchonner cette capuche, mais elle vous donne tout de même l'air plus intelligent. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de bergerie (objet 3 sur 3).", "headArmoireCrystalCrescentHatText": "Chapeau du croissant de cristal", "headArmoireCrystalCrescentHatNotes": "Le motif de ce chapeau croît et décroît en fonction des phases de la lune. Augmente l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble du croissant de cristal (objet 1 sur 3).", "headArmoireDragonTamerHelmText": "Heaume de dresseur de dragon", - "headArmoireDragonTamerHelmNotes": "Vous ressemblez exactement à un dragon. Le camouflage parfait... Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble du dresseur de dragon (objet 1 sur 3).", + "headArmoireDragonTamerHelmNotes": "Vous ressemblez exactement à un dragon. Le camouflage parfait... Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de dressage de dragon (objet 1 sur 3).", "headArmoireBarristerWigText": "Perruque d'avocat", - "headArmoireBarristerWigNotes": "Cette perruque bondissante suffit à effrayer même le plus acharné des ennemis. Augmente la force de <%= str %>. Armoire enchantée : ensemble de l'avocat (objet 1 sur 3).", + "headArmoireBarristerWigNotes": "Cette perruque bondissante suffit à effrayer même le plus acharné des ennemis. Augmente la force de <%= str %>. Armoire enchantée : ensemble de plaidoirie (objet 1 sur 3).", "headArmoireJesterCapText": "Chapeau de bouffon", - "headArmoireJesterCapNotes": "Les cloches de ce chapeau pourraient bien distraire vos adversaires mais elles vous aident juste à vous concentrer. Augmente la perception de <%= per %>. Armoire enchantée : ensemble du bouffon (objet 1 sur 3).", + "headArmoireJesterCapNotes": "Les cloches de ce chapeau pourraient bien distraire vos adversaires mais elles vous aident juste à vous concentrer. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de bouffonnerie (objet 1 sur 3).", "headArmoireMinerHelmetText": "Casque de mineur", - "headArmoireMinerHelmetNotes": "Protégez votre tête des chutes de tâches ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble du mineur (objet 1 sur 3).", + "headArmoireMinerHelmetNotes": "Protégez votre tête des chutes de tâches ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de minage (objet 1 sur 3).", "headArmoireBasicArcherCapText": "Casquette d'archer de base", - "headArmoireBasicArcherCapNotes": "Tout archer digne de ce nom possède un chapeau désinvolte ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble de l'archer de base (objet 3 sur 3).", + "headArmoireBasicArcherCapNotes": "Tout archer digne de ce nom possède un chapeau désinvolte ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble d'archerie de base (objet 3 sur 3).", "headArmoireGraduateCapText": "Coiffe des diplômés", - "headArmoireGraduateCapNotes": "Félicitations ! Vos pensées profondes vous ont permis de décrocher cette coiffe pensante. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble des diplômés (objet 3 sur 3).", + "headArmoireGraduateCapNotes": "Félicitations ! Vos pensées profondes vous ont permis de décrocher cette coiffe pensante. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de remise des diplômes (objet 3 sur 3).", "headArmoireGreenFloppyHatText": "Chapeau négligé vert", - "headArmoireGreenFloppyHatNotes": "De nombreux sorts ont été tissés dans ce simple chapeau, lui donnant une magnifique couleur verte. Augmente la constitution, l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : Ensemble de vêtements de détente verts (objet 1 de 3).", + "headArmoireGreenFloppyHatNotes": "De nombreux sorts ont été tissés dans ce simple chapeau, lui donnant une magnifique couleur verte. Augmente la constitution, l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble de vêtements de détente verts (objet 1 de 3).", "headArmoireCannoneerBandannaText": "Bandana de canonnier", - "headArmoireCannoneerBandannaNotes": "C'est ça la vie de canonnier pour moi ! Augmente l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble du canonnier (objet 3 sur 3).", + "headArmoireCannoneerBandannaNotes": "C'est ça la vie de canonnier pour moi ! Augmente l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble d'artillerie (objet 3 sur 3).", "headArmoireFalconerCapText": "Chapeau de fauconnerie", "headArmoireFalconerCapNotes": "Ce chapeau désinvolte vous aide à mieux comprendre les oiseaux de proie. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de fauconnerie (objet 2 sur 3).", "headArmoireVermilionArcherHelmText": "Heaume de l'archer vermillon", - "headArmoireVermilionArcherHelmNotes": "Le rubis magique de ce heaume vous aide à viser avec la précision d'un laser ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble de l'archer vermillon (objet 3 sur 3).", + "headArmoireVermilionArcherHelmNotes": "Le rubis magique de ce heaume vous aide à viser avec la précision d'un laser ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble d'archerie vermillon (objet 3 sur 3).", "headArmoireOgreMaskText": "Masque d'ogre", "headArmoireOgreMaskNotes": "Vos ennemis partiront en courant lorsqu'ils verront qu'un ogre s'approche ! Augmente la constitution et la force de <%= attrs %> chacune. Armoire enchantée : costume d'ogre (objet 1 sur 3).", "headArmoireIronBlueArcherHelmText": "Casque d'acier bleu de l'archer", - "headArmoireIronBlueArcherHelmNotes": "Vous avez la tête dure ? Non, vous portez juste une super protection. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de l'archer d'acier (objet 1 sur 3).", + "headArmoireIronBlueArcherHelmNotes": "Vous avez la tête dure ? Non, vous portez juste une super protection. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble d'archerie d'acier (objet 1 sur 3).", "headArmoireWoodElfHelmText": "Heaume d'elfe des bois", "headArmoireWoodElfHelmNotes": "Ce heaume fait de feuilles a l'air fragile, mais il peut vous protéger du mauvais temps et de dangereux ennemis. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de l'elfe des bois (objet 1 sur 3).", "headArmoireRamHeaddressText": "Capuche de bélier", - "headArmoireRamHeaddressNotes": "Ce heaume élaboré est conçu pour ressembler à une tête de bélier. Augmente la constitution de <%= con %> et la perception de <%= per %>. Armoire enchantée : ensemble du barbare criophore (objet 1 sur 3).", + "headArmoireRamHeaddressNotes": "Ce heaume élaboré est conçu pour ressembler à une tête de bélier. Augmente la constitution de <%= con %> et la perception de <%= per %>. Armoire enchantée : ensemble de barbare criophore (objet 1 sur 3).", "headArmoireCrownOfHeartsText": "Couronne de cœur", "headArmoireCrownOfHeartsNotes": "Cette couronne rouge rosé n'est pas que tapageuse ! Grâce à elle, face à vos tâches, vous aurez plus de cœur à l'ouvrage. Augmente la force de <%= str %>. Armoire enchantée : ensemble de la reine de cœur (objet 1 sur 3).", "headArmoireMushroomDruidCapText": "Chapeau druidique mycologique", - "headArmoireMushroomDruidCapNotes": "Cueilli au fond d'une forêt brumeuse, ce chapeau donne à son propriétaire la connaissance des plantes médicinales. Augmente l'intelligence de <%= int %> et la force de <%= str %>. Armoire enchantée : ensemble du druide mycologique (objet 1 sur 3).", + "headArmoireMushroomDruidCapNotes": "Cueilli au fond d'une forêt brumeuse, ce chapeau donne à son propriétaire la connaissance des plantes médicinales. Augmente l'intelligence de <%= int %> et la force de <%= str %>. Armoire enchantée : ensemble de druiderie mycologique (objet 1 sur 3).", "headArmoireMerchantChaperonText": "Chaperon de marchand", - "headArmoireMerchantChaperonNotes": "Nul doute que ce chapeau en laine emmaillotée fera de vous le plus élégant des vendeurs du marché ! Augmente la perception et l'intelligence de <%= attrs %> chacune. Armoire enchantée : ensemble du marchand (objet 1 sur 3).", + "headArmoireMerchantChaperonNotes": "Nul doute que ce chapeau en laine emmaillotée fera de vous le plus élégant des vendeurs du marché ! Augmente la perception et l'intelligence de <%= attrs %> chacune. Armoire enchantée : ensemble de marché (objet 1 sur 3).", "headArmoireVikingHelmText": "Heaume viking", - "headArmoireVikingHelmNotes": "Ni cornes ni ailes sur ce heaume : il serait trop aisé pour des ennemis de les attraper ! Augmente la force de <%= str %> et la perception de <%= per %>. Armoire enchantée : ensemble du viking (objet 2 sur 3).", + "headArmoireVikingHelmNotes": "Ni cornes ni ailes sur ce heaume : il serait trop aisé pour des ennemis de les attraper ! Augmente la force de <%= str %> et la perception de <%= per %>. Armoire enchantée : ensemble de viking (objet 2 sur 3).", "headArmoireSwanFeatherCrownText": "Couronne de plume du cygne", - "headArmoireSwanFeatherCrownNotes": "Cette tiare est aussi belle et légère qu'une plume de cygne ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble du danseur du cygne (objet 1 sur 3).", + "headArmoireSwanFeatherCrownNotes": "Cette tiare est aussi belle et légère qu'une plume de cygne ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de danse du cygne (objet 1 sur 3).", "headArmoireAntiProcrastinationHelmText": "Heaume anti-procrastination", "headArmoireAntiProcrastinationHelmNotes": "Cet auguste heaume d'acier vous aidera dans vos quêtes de santé, de bonheur et de productivité ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble anti-procrastination (objet 1 sur 3).", "headArmoireCandlestickMakerHatText": "Chapeau de cirier", - "headArmoireCandlestickMakerHatNotes": "Un chapeau enjoué rend tout travail plus amusant, et la fabrique de bougies n'y fait pas exception ! Augmente la perception et l'intelligence de <%= attrs %> chacune. Armoire enchantée : ensemble du cirier (objet 2 sur 3).", + "headArmoireCandlestickMakerHatNotes": "Un chapeau enjoué rend tout travail plus amusant, et la fabrique de bougies n'y fait pas exception ! Augmente la perception et l'intelligence de <%= attrs %> chacune. Armoire enchantée : ensemble de fabrication de bougies (objet 2 sur 3).", "headArmoireLamplightersTopHatText": "Chapeau d'allumeur de réverbères", - "headArmoireLamplightersTopHatNotes": "Ce chapeau noir enjoué complète votre ensemble d'allumeur de réverbères ! Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de l'éclaireur (objet 3 sur 4).", + "headArmoireLamplightersTopHatNotes": "Ce chapeau noir enjoué complète votre ensemble d'allumeur de réverbères ! Augmente la constitution de <%= con %>. Armoire enchantée : ensemble d'éclairage (objet 3 sur 4).", "headArmoireCoachDriversHatText": "Chapeau de cocher", - "headArmoireCoachDriversHatNotes": "Ce chapeau est chic, mais pas autant qu'un chapeau haut-de-forme. Faites attention à ne pas le perdre lors de vos courses à travers le pays ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble du cocher (objet 2 sur 3).", + "headArmoireCoachDriversHatNotes": "Ce chapeau est chic, mais pas autant qu'un chapeau haut-de-forme. Faites attention à ne pas le perdre lors de vos courses à travers le pays ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de coche (objet 2 sur 3).", "headArmoireCrownOfDiamondsText": "Couronne de carreau", "headArmoireCrownOfDiamondsNotes": "Cette couronne scintillante n'est pas seulement une coiffe élégante, elle aiguise aussi votre esprit ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble du roi de carreau (objet 2 sur 4).", "headArmoireFlutteryWigText": "Perruque papillonante", @@ -1261,11 +1261,11 @@ "headArmoireBigWigText": "Grosse perruque", "headArmoireBigWigNotes": "Certaines perruques poudrées donnent l'air plus autoritaire, mais celle-ci n'est que pour rire ! Augmente la force de <%= str %>. Armoire enchantée : objet indépendant.", "headArmoireGlassblowersHatText": "Chapeau de souffleur de verre", - "headArmoireGlassblowersHatNotes": "Ce chapeau va bien avec vos autres équipements de protection ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble du souffleur de verre (objet 3 sur 4).", + "headArmoireGlassblowersHatNotes": "Ce chapeau va bien avec vos autres équipements de protection ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble de soufflage de verre (objet 3 sur 4).", "headArmoirePiraticalPrincessHeaddressText": "Coiffure de princesse pirate", - "headArmoirePiraticalPrincessHeaddressNotes": "Les boucaniers fantaisistes sont connus pour leur chapeaux fantaisistes ! Augmente la perception et l'intelligence de <%= attrs %> chacun. Armoire enchantée, Ensemble de la princesse pirate (Objet 1 de 4).", + "headArmoirePiraticalPrincessHeaddressNotes": "Les boucaniers fantaisistes sont connus pour leur chapeaux fantaisistes ! Augmente la perception et l'intelligence de <%= attrs %> chacun. Armoire enchantée : ensemble de princesse de la piraterie (Objet 1 de 4).", "headArmoireJeweledArcherHelmText": "Casque en joyaux", - "headArmoireJeweledArcherHelmNotes": "Ce casque parait ornemental, mais il est aussi très léger et résistant. Augmente l'intelligence de <%= int %>. Armoire enchantée : Ensemble de l'Archer aux joyaux (Objet 1 de 3).", + "headArmoireJeweledArcherHelmNotes": "Ce casque parait ornemental, mais il est aussi très léger et résistant. Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble d'archerie aux joyaux (Objet 1 de 3).", "headArmoireVeilOfSpadesText": "Voile de Pique", "headArmoireVeilOfSpadesNotes": "Un voile obscur et mystérieux qui favorisera votre furtivité. Augmente la perception de <%= per %>. Armoire enchantée : Set As de Pique (objet 1 sur 3).", "offhand": "objet de main secondaire", @@ -1447,13 +1447,13 @@ "shieldMystery301704Text": "Ventilateur tourbillonnant", "shieldMystery301704Notes": "Ce ventilateur très pratique vous gardera au frais et vous donnera un second souffle ! Ne confère aucun bonus. Équipement d'abonnement d'avril 3017.", "shieldArmoireGladiatorShieldText": "Bouclier de gladiateur", - "shieldArmoireGladiatorShieldNotes": "Pour être un gladiateur, vous devez ... euh, peu importe, cognez-les simplement avec votre bouclier. Augmente la constitution de <%= con %> et la Force de <%= str %>. Armoire enchantée : ensemble du gladiateur (objet 3 sur 3).", + "shieldArmoireGladiatorShieldNotes": "Pour être un gladiateur, vous devez ... euh, peu importe, cognez-les simplement avec votre bouclier. Augmente la constitution de <%= con %> et la Force de <%= str %>. Armoire enchantée : ensemble de gladiature (objet 3 sur 3).", "shieldArmoireMidnightShieldText": "Bouclier de minuit", "shieldArmoireMidnightShieldNotes": "Ce bouclier est le plus puissant aux douze coups de minuit ! Augmente la constitution de <%= con %> et la force de <%= str %>. Armoire enchantée : objet Indépendant.", "shieldArmoireRoyalCaneText": "Canne royale", "shieldArmoireRoyalCaneNotes": "Hourra pour le souverain, dont on chante les louanges dans le royaume ! Augmente la constitution, l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble royal (objet 2 sur 3).", "shieldArmoireDragonTamerShieldText": "Bouclier de dresseur de dragon", - "shieldArmoireDragonTamerShieldNotes": "Distrayez les ennemis grâce à ce bouclier en forme de Dragon. Augmente la perception de <%= per %>. Armoire enchantée : ensemble du dresseur de dragon (objet 2 sur 3).", + "shieldArmoireDragonTamerShieldNotes": "Distrayez les ennemis grâce à ce bouclier en forme de Dragon. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de dressage de dragon (objet 2 sur 3).", "shieldArmoireMysticLampText": "Lampe mystique", "shieldArmoireMysticLampNotes": "Illuminez les cavernes les plus sombres grâce à cette lampe mystique ! Augmente la perception de <%= per %>. Armoire enchantée : objet Indépendant.", "shieldArmoireFloralBouquetText": "Bouquet de fleurs", @@ -1463,39 +1463,39 @@ "shieldArmoirePerchingFalconText": "Faucon perché", "shieldArmoirePerchingFalconNotes": "Un ami faucon perché sur votre bras, prêt à fondre sur vos ennemis. Augmente la force de <%= str %>. Armoire enchantée : ensemble de fauconnerie (objet 3 sur 3).", "shieldArmoireRamHornShieldText": "Bouclier à cornes de bélier", - "shieldArmoireRamHornShieldNotes": "Chargez dans un tas de quotidiennes récalcitrantes à l'aide de ce bouclier ! Augmente la constitution et la force de <%= attrs %>. Armoire enchantée : ensemble du barbare criophore (objet 3 sur 3).", + "shieldArmoireRamHornShieldNotes": "Chargez dans un tas de quotidiennes récalcitrantes à l'aide de ce bouclier ! Augmente la constitution et la force de <%= attrs %>. Armoire enchantée : ensemble de barbare criophore (objet 3 sur 3).", "shieldArmoireRedRoseText": "Rose rouge", "shieldArmoireRedRoseNotes": "Le parfum de cette rose rouge est envoûtant. Il aiguisera aussi votre compréhension. Augmente la perception de <%= per %>. Armoire enchantée : objet indépendant.", "shieldArmoireMushroomDruidShieldText": "Bouclier druidique mycologique", - "shieldArmoireMushroomDruidShieldNotes": "Bien que fabriqué avec des champignons, ce lourd bouclier n'est pas détrempé ! Augmente la constitution de <%= con %> et la force de <%= str %>. Armoire enchantée : ensemble du druide mycologique (objet 3 sur 3).", + "shieldArmoireMushroomDruidShieldNotes": "Bien que fabriqué avec des champignons, ce lourd bouclier n'est pas détrempé ! Augmente la constitution de <%= con %> et la force de <%= str %>. Armoire enchantée : ensemble de druiderie mycologique (objet 3 sur 3).", "shieldArmoireFestivalParasolText": "Parasol de festivalier", - "shieldArmoireFestivalParasolNotes": "Ce parasol ultraléger vous protégera de toute source d'éblouissement – qu'il s'agisse du soleil ou de quotidiennes rouge foncé ! Augmente la constitution de <%= con %>. Armoire enchantée : ensemble du festivalier (objet 2 sur 3).", + "shieldArmoireFestivalParasolNotes": "Ce parasol ultraléger vous protégera de toute source d'éblouissement – qu'il s'agisse du soleil ou de quotidiennes rouge foncé ! Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de festival (objet 2 sur 3).", "shieldArmoireVikingShieldText": "Bouclier viking", - "shieldArmoireVikingShieldNotes": "Ce robuste bouclier de bois et de peau peut résister aux ennemis les plus intimidants. Augmente la perception de <%= per %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble du viking (objet 3 sur 3).", + "shieldArmoireVikingShieldNotes": "Ce robuste bouclier de bois et de peau peut résister aux ennemis les plus intimidants. Augmente la perception de <%= per %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble de viking (objet 3 sur 3).", "shieldArmoireSwanFeatherFanText": "Éventail de plume du cygne", - "shieldArmoireSwanFeatherFanNotes": "Utilisez cet éventail pour amplifier votre mouvement, tandis que vous interprétez un cygne majestueux. Augmente la force de <%= str %>. Armoire enchantée : ensemble du danseur du cygne (objet 3 sur 3).", + "shieldArmoireSwanFeatherFanNotes": "Utilisez cet éventail pour amplifier votre mouvement, tandis que vous interprétez un cygne majestueux. Augmente la force de <%= str %>. Armoire enchantée : ensemble de danse du cygne (objet 3 sur 3).", "shieldArmoireGoldenBatonText": "Bâton doré", "shieldArmoireGoldenBatonNotes": "Quand vous remuez ce bâton au rythme de votre danse guerrière, vous êtes inarrêtable ! Augmente l'Intelligence et la force de <%= attrs %> chacune. Armoire enchantée : objet indépendant.", "shieldArmoireAntiProcrastinationShieldText": "Bouclier anti-procrastination", "shieldArmoireAntiProcrastinationShieldNotes": "Ce robuste bouclier d'acier bloquera toute distraction en approche ! Augmente la constitution de <%= con %>. Armoire enchantée : ensemble anti-procrastination (objet 3 sur 3).", "shieldArmoireHorseshoeText": "Fer à cheval", - "shieldArmoireHorseshoeNotes": "Utilisez ce fer à cheval pour protéger les sabots de vos montures ongulées. Augmente la constitution, la perception et la force de <%= attrs %> chacune. Armoire enchantée : ensemble du maréchal-ferrant (objet 3 sur 3)", + "shieldArmoireHorseshoeNotes": "Utilisez ce fer à cheval pour protéger les sabots de vos montures ongulées. Augmente la constitution, la perception et la force de <%= attrs %> chacune. Armoire enchantée : ensemble de maréchalerie (objet 3 sur 3)", "shieldArmoireHandmadeCandlestickText": "Chandelle faite main", - "shieldArmoireHandmadeCandlestickNotes": "Votre cire fine fournit lumière et chaleur aux Habiticiennes et Habiticiens reconnaissants ! Augmente la force de <%= str %>. Armoire enchantée : ensemble du cirier (objet 3 sur 3).", + "shieldArmoireHandmadeCandlestickNotes": "Votre cire fine fournit lumière et chaleur aux Habiticiennes et Habiticiens reconnaissants ! Augmente la force de <%= str %>. Armoire enchantée : ensemble de fabrication de bougies (objet 3 sur 3).", "shieldArmoireWeaversShuttleText": "Navette de métier à tisser", - "shieldArmoireWeaversShuttleNotes": "Cet outil passe vos fils de trame à travers la chaîne pour faire du tissu ! Augmente l'intelligence de <%= int %> et la perception de <%= per %>. Armoire enchantée : ensemble du tisserand (objet 3 sur 3).", + "shieldArmoireWeaversShuttleNotes": "Cet outil passe vos fils de trame à travers la chaîne pour faire du tissu ! Augmente l'intelligence de <%= int %> et la perception de <%= per %>. Armoire enchantée : ensemble de tissage (objet 3 sur 3).", "shieldArmoireShieldOfDiamondsText": "Bouclier de carreau", "shieldArmoireShieldOfDiamondsNotes": "Ce bouclier radieux ne vous procure pas seulement une protection, mais aussi un augmentation de votre endurance ! Augmente la constitution de <%= con %>. Armoire enchantée : ensemble du roi de carreau (objet 4 sur 4).", "shieldArmoireFlutteryFanText": "Éventail fleuri", "shieldArmoireFlutteryFanNotes": "Par une chaude journée, il n'y a rien de mieux qu'un éventail chic pour vous refroidir et avoir l'air cool . Augmente la constitution, l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble papillonant (objet 4 sur 4)..", "shieldArmoireFancyShoeText": "Chaussure de luxe", - "shieldArmoireFancyShoeNotes": "Une chaussure très spéciale sur laquelle vous travaillez. Elle est bonne pour la royauté ! Augmente l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble du cordonnier (objet 3 sur 3).", + "shieldArmoireFancyShoeNotes": "Une chaussure très spéciale sur laquelle vous travaillez. Elle est bonne pour la royauté ! Augmente l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble de cordonnerie (objet 3 sur 3).", "shieldArmoireFancyBlownGlassVaseText": "Luxueux vase en verre soufflé", - "shieldArmoireFancyBlownGlassVaseNotes": "Quel joli vase vous avez fait ! Qu’est-ce que vous allez mettre dedans ? Augmente l’intelligence de <%= int %>. Armoire enchantée : ensemble du souffleur de verre (objet 4 sur 4).", + "shieldArmoireFancyBlownGlassVaseNotes": "Quel joli vase vous avez fait ! Qu’est-ce que vous allez mettre dedans ? Augmente l’intelligence de <%= int %>. Armoire enchantée : ensemble de soufflage de verre (objet 4 sur 4).", "shieldArmoirePiraticalSkullShieldText": "Bouclier-crâne de pirate", - "shieldArmoirePiraticalSkullShieldNotes": "Ce bouclier enchanté va murmurer les emplacements secrets des trésors de vos ennemis - écoutez bien ! Augmente la perception et l'intelligence de <%= attrs %> chacun. Armoire enchantée : Ensemble de la princesse pirate (Objet 4 de 4).", + "shieldArmoirePiraticalSkullShieldNotes": "Ce bouclier enchanté va murmurer les emplacements secrets des trésors de vos ennemis - écoutez bien ! Augmente la perception et l'intelligence de <%= attrs %> chacun. Armoire enchantée : ensemble de princesse de la piraterie (Objet 4 de 4).", "shieldArmoireUnfinishedTomeText": "Tome inachevé", - "shieldArmoireUnfinishedTomeNotes": "Vous ne pouvez pas procrastiner alors que vous tenez ceci ! La reliure doit être finie pour qu'on puisse lire ce livre ! Augmente l'intelligence de <%= int %>. Armoire enchantée : Ensemble du relieur (Objet 4 de 4).", + "shieldArmoireUnfinishedTomeNotes": "Vous ne pouvez pas procrastiner alors que vous tenez ceci ! La reliure doit être finie pour qu'on puisse lire ce livre ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de reliure (Objet 4 de 4).", "shieldArmoireSoftBluePillowText": "Doux coussin bleu", "shieldArmoireSoftBluePillowNotes": "Le guerrier raisonnable emporte un oreiller pour toute expédition. Protégez-vous des tâches pointues... même pendant votre sieste. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de vêtements de détente bleus (objet 3 de 3).", "shieldArmoireSoftRedPillowText": "Doux coussin rouge", @@ -1503,7 +1503,7 @@ "shieldArmoireSoftGreenPillowText": "Doux coussin vert", "shieldArmoireSoftGreenPillowNotes": "Le guerrier raisonnable emporte un oreiller pour toute expédition. Réglez ces corvées fastidieuses... même pendant votre sieste. Augmente la constitution de <%= con %> et l'intelligence de <%= int %>. Armoire enchantée : ensemble de vêtements de détente verts (objet 3 de 3).", "shieldArmoireMightyQuillText": "Plume d'oie", - "shieldArmoireMightyQuillNotes": "Plus fort que l'épée, qu'ils disent ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble du scribe (objet 2 de 3).", + "shieldArmoireMightyQuillNotes": "Plus fort que l'épée, qu'ils disent ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble de copiste (objet 2 de 3).", "back": "Accessoire dorsal", "backCapitalized": "Accessoire dorsal", "backBase0Text": "Pas d’accessoire dorsal", @@ -1610,7 +1610,7 @@ "bodyMystery201901Text": "Chaudronnières polaires", "bodyMystery201901Notes": "Ces chaudronnières chatoyantes sont résistantes, mais reposeront sur vos épaules en apesanteur comme un rayon de lumière dansante. Ne confère aucun bonus. Équipement d'abonnement de janvier 2019.", "bodyArmoireCozyScarfText": "Écharpe douillette", - "bodyArmoireCozyScarfNotes": "Cette douce écharpe vous tiendra chaud tandis que vous vaquez à vos occupations hivernales. Augmente la constitution et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble de l'éclaireur (objet 4 sur 4).", + "bodyArmoireCozyScarfNotes": "Cette douce écharpe vous tiendra chaud tandis que vous vaquez à vos occupations hivernales. Augmente la constitution et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble d'éclairage (objet 4 sur 4).", "headAccessory": "accessoire de tête", "headAccessoryCapitalized": "Accessoire de tête", "accessories": "Accessoires", @@ -1700,7 +1700,7 @@ "headAccessoryArmoireComicalArrowText": "Flèche comique", "headAccessoryArmoireComicalArrowNotes": "Cet objet saugrenu fait rire à coup sûr ! Augmente la force de <%= str %>. Armoire enchantée : objet indépendant.", "headAccessoryArmoireGogglesOfBookbindingText": "Lunettes de reliure", - "headAccessoryArmoireGogglesOfBookbindingNotes": "Ces lunettes vous aideront à identifier n'importe quelle tâche, petite ou grande ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble du relieur (Objet 1 de 4).", + "headAccessoryArmoireGogglesOfBookbindingNotes": "Ces lunettes vous aideront à identifier n'importe quelle tâche, petite ou grande ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble de reliure (Objet 1 de 4).", "eyewear": "Lunettes", "eyewearCapitalized": "Lunettes", "eyewearBase0Text": "Pas de Lunettes", @@ -1744,26 +1744,26 @@ "eyewearMystery301703Text": "Masque de paon de mascarade", "eyewearMystery301703Notes": "Parfait pour un chouette défilé... ou pour se fondre subrepticement dans une foule particulièrement bien habillée. Ne confère aucun bonus. Équipement d'abonnement de mars 3017.", "eyewearArmoirePlagueDoctorMaskText": "Masque de médecin de la peste", - "eyewearArmoirePlagueDoctorMaskNotes": "Un authentique masque porté par les médecins qui ont combattu la peste de Procrastination ! Augmente la Constitution et l'Intelligence de <%= attrs %> chacune. Armoire enchantée : ensemble du médecin de la peste (objet 2 sur 3).", + "eyewearArmoirePlagueDoctorMaskNotes": "Un authentique masque porté par les médecins qui ont combattu la peste de Procrastination ! Augmente la Constitution et l'Intelligence de <%= attrs %> chacune. Armoire enchantée : ensemble de médecin de la peste (objet 2 sur 3).", "eyewearArmoireGoofyGlassesText": "Lunettes loufoques", "eyewearArmoireGoofyGlassesNotes": "Parfaites pour passer incognito ou juste faire ricaner vos compagnons d'aventure. Augmente la perception de <%= per %>. Armoire enchantée : objet indépendant.", "twoHandedItem": "Objet à deux mains.", "weaponArmoireChefsSpoonText": "Cuillère de chef", - "weaponArmoireChefsSpoonNotes": "Dressez-la alors que vous poussez votre cri de guerre : \"CUILLEEEEERE !!\" Augmente l'intelligence de <%= int %>. Armoire enchantée: ensemble du chef (Objet 3 de 4).", + "weaponArmoireChefsSpoonNotes": "Dressez-la alors que vous poussez votre cri de guerre : \"CUILLEEEEERE !!\" Augmente l'intelligence de <%= int %>. Armoire enchantée: ensemble de chef (Objet 3 de 4).", "weaponArmoireVernalTaperText": "Cône vernal", "weaponArmoireVernalTaperNotes": "Les jours s'allongent, mais cette bougie vous aidera à trouver votre chemin avant le levé du soleil. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble des vêtements de printemps (Objet 3 de 3).", "armorArmoireChefsJacketText": "Tablier de chef", - "armorArmoireChefsJacketNotes": "Cette épaisse veste en coton est à double boutonnage pour vous protéger des éclaboussures (et commodément réversible...). Augmente l'intelligence de <%= int %>. Armoire enchantée : Ensemble du chef (objet 2 de 4).", + "armorArmoireChefsJacketNotes": "Cette épaisse veste en coton est à double boutonnage pour vous protéger des éclaboussures (et commodément réversible...). Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de chef (objet 2 de 4).", "armorArmoireVernalVestmentText": "Vêtement de printemps", - "armorArmoireVernalVestmentNotes": "Ce vêtement soyeux est parfait pour profiter de la douceur du printemps avec style. Augmente la force et l'intelligence de <%= attrs %> chacun. Armoire enchantée : Ensemble de vêtements de printemps (objet 2 de 3).", + "armorArmoireVernalVestmentNotes": "Ce vêtement soyeux est parfait pour profiter de la douceur du printemps avec style. Augmente la force et l'intelligence de <%= attrs %> chacun. Armoire enchantée : ensemble de vêtements de printemps (objet 2 de 3).", "headArmoireToqueBlancheText": "Toque Blanche", - "headArmoireToqueBlancheNotes": "Selon la légende, le nombre de plis dans ce chapeau indique le nombre de façons dont on sait faire cuire un œuf ! Est-elle exacte ? Augmente la perception de <%= per %>. Armoire enchantée : Ensemble du chef (objet 1 de 4).", + "headArmoireToqueBlancheNotes": "Selon la légende, le nombre de plis dans ce chapeau indique le nombre de façons dont on sait faire cuire un œuf ! Est-elle exacte ? Augmente la perception de <%= per %>. Armoire enchantée : ensemble de chef (objet 1 de 4).", "headArmoireVernalHenninText": "Hennin de printemps", - "headArmoireVernalHenninNotes": "Plus qu'un joli chapeau, ce chapeau conique peut aussi contenir une liste enroulée de choses à faire à l'intérieur. Augmente la perception de <%= per %>. Armoire enchantée : Ensemble de vêtements de printemps (objet 1 de 3).", + "headArmoireVernalHenninNotes": "Plus qu'un joli chapeau, ce chapeau conique peut aussi contenir une liste enroulée de choses à faire à l'intérieur. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de vêtements de printemps (objet 1 de 3).", "shieldMystery201902Text": "Confetti cryptiques", "shieldMystery201902Notes": "Ce papier scintillant forme des cœurs magiques qui dérivent lentement et dansent dans l'air. Ne confère aucun bonus. Équipement d'abonnement de février 2019", "shieldArmoireMightyPizzaText": "Puissante pizza", - "shieldArmoireMightyPizzaNotes": "Bien sûr, c'est un bon bouclier, mais nous vous suggérons fortement de manger cette bonne pizza. Augmente la perception de <%= per %>. Armoire enchantée : ensemble du chef (objet 4 de 4).", + "shieldArmoireMightyPizzaNotes": "Bien sûr, c'est un bon bouclier, mais nous vous suggérons fortement de manger cette bonne pizza. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de chef (objet 4 de 4).", "eyewearMystery201902Text": "Masque cryptique", "eyewearMystery201902Notes": "Ce masque cryptique cache votre identité, mais pas votre sourire vainqueur. Ne confère aucun bonus. Équipement d'abonnement de février 2019.", "weaponSpecialSpring2019RogueText": "Éclair", @@ -1787,11 +1787,11 @@ "weaponArmoireSlingshotText": "Fronde", "weaponArmoireSlingshotNotes": "Visez vos quotidiennes rouges ! Augmente la force de <%= str %>. Armoire enchantée : objet indépendant.", "weaponArmoireNephriteBowText": "Arc de néphrite", - "weaponArmoireNephriteBowNotes": "Cet arc tire des flèches spéciales à la pointe de jade, qui feront tomber même vos mauvaises habitudes les plus coriaces ! Augmente l'intelligence de <%= int %> et la force de <%= str %>. Armoire enchantée : Ensemble de l'archère de néphrite (objet 1 de 3).", + "weaponArmoireNephriteBowNotes": "Cet arc tire des flèches spéciales à la pointe de jade, qui feront tomber même vos mauvaises habitudes les plus coriaces ! Augmente l'intelligence de <%= int %> et la force de <%= str %>. Armoire enchantée : ensemble d'archerie de néphrite (objet 1 de 3).", "weaponArmoireBambooCaneText": "Cane en bambou", - "weaponArmoireBambooCaneNotes": "Parfait pour vous accompagner dans une promenade ou pour danser le Charleston. Augmente l'intelligence, la perception et la constitution de <%= attrs %> chacune. Armoire enchantée : ensemble de plaisancier (objet 3 de 3).", + "weaponArmoireBambooCaneNotes": "Parfait pour vous accompagner dans une promenade ou pour danser le Charleston. Augmente l'intelligence, la perception et la constitution de <%= attrs %> chacune. Armoire enchantée : ensemble de plaisance (objet 3 de 3).", "weaponArmoireAstronomersTelescopeText": "Télescope d'astronome", - "weaponArmoireAstronomersTelescopeNotes": "Un instrument qui vous permettra d'observer l'ancienne danse des étoiles. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de mage astronome (objet 3 de 3).", + "weaponArmoireAstronomersTelescopeNotes": "Un instrument qui vous permettra d'observer l'ancienne danse des étoiles. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de magie astronomique (objet 3 de 3).", "weaponArmoireMagnifyingGlassText": "Loupe", "weaponArmoireMagnifyingGlassNotes": "Aha ! Un indice ! Examinez-le avec attention avec cette précieuse loupe. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de détective (objet 3 de 4).", "armorSpecialSummer2019RogueText": "Queue de requin marteau", @@ -1819,13 +1819,13 @@ "armorMystery201907Text": "Chemise fleurie", "armorMystery201907Notes": "Restez au frais et ayez l'air cool, même lors des canicules d'été. Ne confère aucun bonus. Équipement d'abonnement de juillet 2019.", "armorArmoireNephriteArmorText": "Armure de néphrite", - "armorArmoireNephriteArmorNotes": "Fabriquée à partir de solides anneaux d'acier et décorée de jade, cette armure vous protégera de la procrastination ! Augmente la force de <%= str %> et la perception de <%= per %>. Armoire enchantée : Ensemble d'archer de néphrite (objet 3 de 3).", + "armorArmoireNephriteArmorNotes": "Fabriquée à partir de solides anneaux d'acier et décorée de jade, cette armure vous protégera de la procrastination ! Augmente la force de <%= str %> et la perception de <%= per %>. Armoire enchantée : ensemble d'archerie de néphrite (objet 3 de 3).", "armorArmoireBoatingJacketText": "Veste de plaisance", - "armorArmoireBoatingJacketNotes": "Que vous soyez sur un yacht de luxe ou dans une guimbarde, vous serez le miaulement du chat dans cette veste et cravate. Augmente la force, l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : Ensemble de plaisance (objet 1 de 3).", + "armorArmoireBoatingJacketNotes": "Que vous soyez sur un yacht de luxe ou dans une guimbarde, vous serez le miaulement du chat dans cette veste et cravate. Augmente la force, l'intelligence et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble de plaisance (objet 1 de 3).", "armorArmoireAstronomersRobeText": "Robe d'astronome", - "armorArmoireAstronomersRobeNotes": "Il s'avère que la soie et la lumière des étoiles font un tissu qui n'est pas seulement magique, mais très respirant. Augmente la perception et la constitution de <%= attrs %> chacune. Armoire enchantée : Ensemble de mage astronome (objet 1 de 3).", + "armorArmoireAstronomersRobeNotes": "Il s'avère que la soie et la lumière des étoiles font un tissu qui n'est pas seulement magique, mais très respirant. Augmente la perception et la constitution de <%= attrs %> chacune. Armoire enchantée : ensemble de magie astronomique (objet 1 de 3).", "armorArmoireInvernessCapeText": "Macfarlane", - "armorArmoireInvernessCapeNotes": "Ce vêtement robuste vous permettra de chercher des indices par tous les temps. Augmente la perception et l'intelligence de <%= attrs %> chacune. Armoire enchantée : Ensemble de détective (objet 2 de 4).", + "armorArmoireInvernessCapeNotes": "Ce vêtement robuste vous permettra de chercher des indices par tous les temps. Augmente la perception et l'intelligence de <%= attrs %> chacune. Armoire enchantée : ensemble de détective (objet 2 de 4).", "headSpecialPiDayText": "Chapeau Pi", "headSpecialPiDayNotes": "Essayez d'équilibrer cette part de tarte délicieuse sur votre tête tout en marchant en cercle. Ou lancez la sur une quotidienne rouge ! Ou mangez-la. A vous de choisir ! Ne confère aucun bonus.", "headSpecialSpring2019RogueText": "Casque nuageux", @@ -1853,13 +1853,13 @@ "headArmoireTricornHatText": "Tricorne", "headArmoireTricornHatNotes": "Devenez un blagueur révolutionnaire ! Augmente la perception de <%= per %>. Armoire enchantée. Objet indépendant.", "headArmoireNephriteHelmText": "Casque de néphrite", - "headArmoireNephriteHelmNotes": "Le panache de jade sculpté au sommet de ce gouvernail est enchanté pour améliorer votre visée. Augmente la perception de <%= per %>. Armoire enchantée : Ensemble d'archer de néphrite (objet 2 de 3).", + "headArmoireNephriteHelmNotes": "Le panache de jade sculpté au sommet de ce gouvernail est enchanté pour améliorer votre visée. Augmente la perception de <%= per %>. Armoire enchantée : ensemble d'archerie de néphrite (objet 2 de 3).", "headArmoireBoaterHatText": "Chapeau de plaisance", - "headArmoireBoaterHatNotes": "Ce chapeau de paille est tip-top ! Augmente la force, la constitution et la perception de <%= attrs %> chacune. Armoire enchantée : Ensemble de plaisance (objet 2 de 3).", + "headArmoireBoaterHatNotes": "Ce chapeau de paille est tip-top ! Augmente la force, la constitution et la perception de <%= attrs %> chacune. Armoire enchantée : ensemble de plaisance (objet 2 de 3).", "headArmoireAstronomersHatText": "Chapeau d'astronome", - "headArmoireAstronomersHatNotes": "Un chapeau parfait pour l'observation céleste ou un brunch de sorcier fantaisiste. Augmente la constitution de <%= con %>. Armoire enchantée : Ensemble de mage astronome (objet 2 de 3).", + "headArmoireAstronomersHatNotes": "Un chapeau parfait pour l'observation céleste ou un brunch de sorcier fantaisiste. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de magie astronomique (objet 2 de 3).", "headArmoireDeerstalkerCapText": "Deerstalker", - "headArmoireDeerstalkerCapNotes": "Ce bonnet est parfait pour les excursions en milieu rural, mais aussi pour résoudre des mystères ! Augmente l'intelligence de <%= int %>. Armoire enchantée : Ensemble de détective (objet 1 de 4).", + "headArmoireDeerstalkerCapNotes": "Ce bonnet est parfait pour les excursions en milieu rural, mais aussi pour résoudre des mystères ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de détective (objet 1 de 4).", "shieldSpecialPiDayText": "Bouclier Pi", "shieldSpecialPiDayNotes": "Nous vous mettons au défi de calculer le ratio de la circonférence de ce bouclier par rapport à son délice. Ne confère aucun bonus.", "shieldSpecialSpring2019WarriorText": "Bouclier feuillu", @@ -1944,19 +1944,19 @@ "weaponSpecialFall2019RogueText": "Podium", "eyewearSpecialKS2019Notes": "Chauve comme ... hmm, les griffons n'ont pas de visière. Cela vous rappellera de ... Oh, mais de qui se moque-t-on ? Ça a juste l'air cool ! Ne confère aucun bonus.", "eyewearSpecialKS2019Text": "Visière mythique du griffon", - "shieldArmoireMasteredShadowNotes": "Vos pouvoirs ont amené ces ombres dansantes à vos côté pour réaliser vos moindres souhaits. Augmente la perception et la constitution de <%= attrs %> chacune. Armoire enchantée : ensemble du maître des ombres (objet 4 de 4).", + "shieldArmoireMasteredShadowNotes": "Vos pouvoirs ont amené ces ombres dansantes à vos côté pour réaliser vos moindres souhaits. Augmente la perception et la constitution de <%= attrs %> chacune. Armoire enchantée : ensemble de maîtrise des ombres (objet 4 de 4).", "shieldArmoireMasteredShadowText": "Ombre maîtrisée", "shieldSpecialKS2019Notes": "Étincelant comme la coquille d'un œuf de griffon, ce magnifique bouclier vous montre comment vous tenir prêt à aider lorsque votre propre fardeau est léger. Augmente la perception de <% per %>.", "shieldSpecialKS2019Text": "Bouclier mythique du griffon", - "headArmoireShadowMastersHoodNotes": "Cette capuche vous donne le pouvoir de voir à travers l'obscurité la plus dense. Vous pourriez quand même avoir besoin de collyre de temps en temps. Augmente la perception et la constitution de <%= attrs %> chacun. Armoire enchantée : Ensemble du maître des ombres (objet 2 de 4).", + "headArmoireShadowMastersHoodNotes": "Cette capuche vous donne le pouvoir de voir à travers l'obscurité la plus dense. Vous pourriez quand même avoir besoin de collyre de temps en temps. Augmente la perception et la constitution de <%= attrs %> chacun. Armoire enchantée : ensemble de maîtrise des ombres (objet 2 de 4).", "headArmoireShadowMastersHoodText": "Capuche du maître des ombres", "headSpecialKS2019Notes": "Orné de la ressemblance et du plumage d'un griffon, ce casque glorieux symbolise la façon dont vos compétences et votre soutien sont un exemple pour les autres. Augmente l'intelligence de <%= int %>.", "headSpecialKS2019Text": "Casque mythique du griffon", - "armorArmoireShadowMastersRobeNotes": "Le tissu de cette robe fluide est tissé des ombres les plus obscures dans les grottes les plus profondes d'Habitica. Augmente la constitution de <%= con %>. Armoire enchantée : Ensemble du maître des ombres (objet 1 de 4).", + "armorArmoireShadowMastersRobeNotes": "Le tissu de cette robe fluide est tissé des ombres les plus obscures dans les grottes les plus profondes d'Habitica. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de maîtrise des ombres (objet 1 de 4).", "armorArmoireShadowMastersRobeText": "Robe du maître des ombres", "armorSpecialKS2019Notes": "Brillant de l'intérieur comme le cœur noble d'un griffon, cette armure resplendissante vous encourage à ressentir la fierté de vos accomplissements. Augmente la constitution de <%= con %>.", "armorSpecialKS2019Text": "Armure mythique du griffon", - "weaponArmoireShadowMastersMaceNotes": "Les créatures des ombres obéiront vos moindres demandes lorsque vous brandirez cette masse luminescente. Augmente la perception de <%= per %>. Armoire enchantée : ensemble du maître des ombres (objet 3 de 4).", + "weaponArmoireShadowMastersMaceNotes": "Les créatures des ombres obéiront vos moindres demandes lorsque vous brandirez cette masse luminescente. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de maîtrise des ombres (objet 3 de 4).", "weaponArmoireShadowMastersMaceText": "Masse du maître des ombres", "weaponSpecialKS2019Notes": "Courbé comme le bec et les serres d'un griffon, cette hallebarde ornementée vous rappelle votre force lorsqu'une tâche semble insurmontable. Augmente la force de <%= str %>.", "weaponSpecialKS2019Text": "Glaive mythique du griffon", diff --git a/website/common/locales/fr/limited.json b/website/common/locales/fr/limited.json index c1cf59cc06..b2db24c1be 100644 --- a/website/common/locales/fr/limited.json +++ b/website/common/locales/fr/limited.json @@ -15,7 +15,7 @@ "valentineCardNotes": "Envoyer une carte de la St Valentin à un membre de l'équipe.", "valentine0": "\"Les roses sont pourpres\n\nMes Quotidiennes sont bleues\n\nÊtre dans ton groupe\n\nMe rend chaque jour plus heureux !\"", "valentine1": "\"Les roses sont carmin\n\nLes violettes sont jolies\n\nFaisons ensemble un bout d'chemin\n\nEt combattons un dragon zombie !\"", - "valentine2": "\"Les Roses sont vermeilles\n\nLe style de ce poème fait un peu senior\n\nMais j'espère qu'il t'émerveille\n\nParce qu'il m'a couté 10 pièces d'Or.\"", + "valentine2": "\"Les Roses sont vermeilles\n\nCe poème fait un peu senior\n\nMais j'espère qu'il t'émerveille\n\nParce qu'il m'a couté 10 pièces d'Or.\"", "valentine3": "\"Les roses sont rubis\n\nLes Dragons des glaces sont bleus\n\nIl n'y a pas d'instant plus chéris\n\nQue ceux que nous passons tous les deux !\"", "valentineCardAchievementTitle": "Amis adorables", "valentineCardAchievementText": "Wow, vous et votre ami devez vraiment compter l'un pour l'autre ! A envoyé ou reçu <%= count %> cartes de la Saint-Valentin.", @@ -25,7 +25,7 @@ "polarBearPup": "Ourson polaire", "jackolantern": "Citrouille d'Habitoween", "ghostJackolantern": "Citrouille d'Habitoween fantomatique", - "glowJackolantern": "Citrouille d'Halloween Phosphorescente", + "glowJackolantern": "Citrouille d'Halloween phosphorescente", "seasonalShop": "Boutique saisonnière", "seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>", "seasonalShopTitle": "<%= linkStart %>Sorcière saisonnière<%= linkEnd %>", @@ -34,9 +34,9 @@ "seasonalShopFallText": "Joyeux festival d'automne ! Voulez-vous acheter quelques objets rares ? Ils ne seront disponibles que jusqu'au 31 octobre !", "seasonalShopWinterText": "Joyeuse fantaisie hivernale ! Voulez-vous acheter quelques objets rares ? Ils ne seront disponibles que jusqu'au 31 janvier !", "seasonalShopSpringText": "Joyeuse fête du printemps ! Voulez-vous acheter quelques objets rares ? Ils ne seront disponibles que jusqu'au 30 avril !", - "seasonalShopFallTextBroken": "Oh... Bienvenue à la boutique saisonnière... Nous avons actuellement reçu les nouveautés Édition Saisonnière d'automne, ou quelque chose du genre... Tout l'équipement est disponible à l'achat pendant le Festival d'Automne chaque année, mais nous ne sommes ouverts que jusqu'au 31 octobre... alors je suppose que vous devriez faire le stock dès maintenant, ou vous devrez attendre... et attendre... et attendre... *soupir*", + "seasonalShopFallTextBroken": "Oh... Bienvenue à la boutique saisonnière... Nous avons actuellement reçu les nouveautés en édition saisonnière d'automne, ou quelque chose du genre... Tout l'équipement est disponible à l'achat pendant le festival d'automne chaque année, mais nous ne sommes ouverts que jusqu'au 31 octobre... alors je suppose que vous devriez faire le stock dès maintenant, ou vous devrez attendre... et attendre... et attendre... *soupir*", "seasonalShopBrokenText": "Mon pavillon !!!!!!! Mes décorations !!!! Oh, La Décœurageante a tout détruit ! :( S'il vous plait, aidez la communauté à la vaincre dans la taverne, pour que je puisse tout reconstruire !", - "seasonalShopRebirth": "Si vous avez acheté de l'équipement par le passé mais ne le possédez plus, vous pouvez le racheter dans la colonne des Récompenses. Initialement, vous ne pourrez acheter que les objets de votre classe actuelle (Guerrier par défaut), mais ne craignez rien, les autres objets spécifiques à une classe deviendront disponibles si vous changez pour cette classe.", + "seasonalShopRebirth": "Si vous avez acheté de l'équipement par le passé mais ne le possédez plus, vous pouvez le racheter dans la colonne des récompenses. Initialement, vous ne pourrez acheter que les objets de votre classe actuelle (Guerrier par défaut), mais ne craignez rien, les autres objets spécifiques à une classe deviendront disponibles si vous changez pour cette classe.", "candycaneSet": "Sucre d'orge (Mage)", "skiSet": "Ski-sassin (Voleur)", "snowflakeSet": "Flocon de Neige (Guérisseur)", @@ -49,7 +49,7 @@ "snowboardingSet": "Mage snowboardeur (Mage)", "festiveFairySet": "Féetaud festif (Guérisseur)", "cocoaSet": "Voleur Cacao (Voleur)", - "toAndFromCard": "A : <%= toName %>, De : <%= fromName %>", + "toAndFromCard": "A : <%= toName %>, de : <%= fromName %>", "nyeCard": "Carte de la nouvelle année", "nyeCardExplanation": "Pour avoir célébré cette nouvelle année ensemble, vous avez tous les deux reçu le badge \"Vieille Connaissance\" !", "nyeCardNotes": "Envoyer une carte de la nouvelle année à un membre de l'équipe.", @@ -58,9 +58,9 @@ "nyeCardAchievementText": "Bonne Année ! A envoyé ou reçu <%= count %> cartes de la nouvelle année.", "nye0": "Bonne Année ! Que vous tuiez de nombreuses mauvaises habitudes.", "nye1": "Bonne année ! Que vous récoltiez de nombreuses récompenses.", - "nye2": "Bonne Année ! Que vous obteniez de nombreux Jours Parfaits.", - "nye3": "Bonne Année ! Que votre liste de choses À Faire reste réduite et simple.", - "nye4": "Bonne Année ! Que vous évitiez les attaques d'Hippogriffes enragés.", + "nye2": "Bonne Année ! Que vous obteniez de nombreux jours parfaits.", + "nye3": "Bonne Année ! Que votre liste de taches à faire reste réduite et simple.", + "nye4": "Bonne Année ! Que vous évitiez les attaques d'hippogriffes enragés.", "holidayCard": "A reçu une carte postale !", "mightyBunnySet": "Puissant Lapin (Guerrier)", "magicMouseSet": "Souris Magique (Mage)", @@ -70,19 +70,19 @@ "emeraldMermageSet": "Sorcirène émeraude (Mage)", "reefSeahealerSet": "Poissoigneur du récif (Guérisseur)", "roguishPirateSet": "Pirate voyou (Voleur)", - "monsterOfScienceSet": "Monstre de la Science (Guerrier)", + "monsterOfScienceSet": "Monstre de la science (Guerrier)", "witchyWizardSet": "Sorcier ensorceleur (Mage)", "mummyMedicSet": "Médecin Momifié (Guérisseur)", "vampireSmiterSet": "Vampire Frappeur (Voleur)", "bewareDogSet": "Chien méchant (Guerrier)", - "magicianBunnySet": "Lapin de Magicien (Mage)", + "magicianBunnySet": "Lapin de magicien (Mage)", "comfortingKittySet": "Chaton rassurant (Guérisseur)", "sneakySqueakerSet": "Rongeur sournois (Voleur)", "sunfishWarriorSet": "Guerrier poisson-lune (Guerrier)", "shipSoothsayerSet": "Devin du navire (Mage)", "strappingSailorSet": "Marin costaud (Guérisseur)", "reefRenegadeSet": "Renégat du récif (Voleur)", - "scarecrowWarriorSet": "Guerrier Epouvantail (Guerrier)", + "scarecrowWarriorSet": "Guerrier épouvantail (Guerrier)", "stitchWitchSet": "Sorcière Couturière (Mage)", "potionerSet": "Alchimiste (Guérisseur)", "battleRogueSet": "Voleur de bat-aille (Voleur)", @@ -94,7 +94,7 @@ "summer2016DolphinMageSet": "Mage dauphin (Mage)", "summer2016SeahorseHealerSet": "Guérisseur hippocampe (Guérisseur)", "summer2016EelSet": "Voleur anguille (Voleur)", - "fall2016SwampThingSet": "Truc des marais (Guerrier)", + "fall2016SwampThingSet": "Chose des marais (Guerrier)", "fall2016WickedSorcererSet": "Sorcier malicieux (Mage)", "fall2016GorgonHealerSet": "Guérisseur gorgone (Guérisseur)", "fall2016BlackWidowSet": "Voleur veuve-noire (Voleur)", @@ -160,13 +160,13 @@ "summer2019WaterLilyMageSet": "Nénuphar (Mage)", "summer2019ConchHealerSet": "Conque (Guérisseur)", "summer2019HammerheadRogueSet": "Tête de marteau (Voleur)", - "eventAvailabilityReturning": "Disponible à l'achat jusqu'au <%= availableDate(locale) %>. Cette potion a été disponible pour la dernière fois le <%= previousDate(locale) %>.", + "eventAvailabilityReturning": "Disponible à l'achat jusqu'au <%= availableDate(locale) %>. Cette potion a été disponible pour la dernière fois en <%= previousDate(locale) %>.", "june2018": "Juin 2018", "fall2019RavenSet": "Corbeau (Guerrier)", "fall2019CyclopsSet": "Cyclope (Mage)", "september2018": "Septembre 2018", "september2017": "Septembre 2017", - "fall2019LichSet": "Licher (Guérisseur)", + "fall2019LichSet": "Liche (Guérisseur)", "fall2019OperaticSpecterSet": "Fantôme de l'opéra (Voleur)", "augustYYYY": "Août <%= year %>" } diff --git a/website/common/locales/fr/npc.json b/website/common/locales/fr/npc.json index f9081494d5..f5b1f4c06d 100644 --- a/website/common/locales/fr/npc.json +++ b/website/common/locales/fr/npc.json @@ -5,10 +5,10 @@ "welcomeTo": "La bienvenue à", "welcomeBack": "Heureux de vous revoir !", "justin": "Justin", - "justinIntroMessage1": "Bonjour bonjour ! On dirait que vous venez tout juste d'arriver. Je m'appelle Justin, votre guide dans Habitica.", + "justinIntroMessage1": "Bonjour bonjour ! On dirait que vous venez tout juste d'arriver. Je m'appelle Justin, je serai votre guide dans Habitica.", "justinIntroMessage2": "Pour commencer, vous aurez besoin d'un avatar.", "justinIntroMessage3": "Bravo ! Maintenant, que souhaiteriez-vous travailler pendant cette aventure ?", - "justinIntroMessageUsername": "Avant de commencer, choisissons comment vous appeler. Vous trouverez ci-dessous un nom affiché et un nom d'utilisateur que j'ai généré pour vous. Après avoir choisi un nom affiché et un nom d'utilisateur, nous commencerons à vous créer un avatar !", + "justinIntroMessageUsername": "Avant de commencer, choisissons comment vous appeler. Vous trouverez ci-dessous un nom affiché et un nom d'utilisateur que j'ai généré pour vous. Après avoir choisi un pseudo et un identifiant, nous commencerons à vous créer un avatar !", "justinIntroMessageAppearance": "A quoi voudriez-vous ressembler ? Ne vous en faites pas, vous pourrez le changer plus tard.", "introTour": "Et voilà ! Pour que vous puissiez commencer, j'ai créé quelques tâches à partir de vos centres d'intérêts. Cliquez sur une tâche pour l'éditer, ou créez-en de nouvelles pour perfectionner votre routine !", "prev": "Précédent", @@ -19,9 +19,9 @@ "mattBochText1": "Bienvenue à l'écurie ! Je suis Matt, le Maître des bêtes. Après avoir passé le niveau 3, vous pourrez collecter des œufs de familiers et des potions d'éclosion en accomplissant vos tâches. Lorsque vous faites éclore un œuf de familier au marché, il apparaît ici ! Cliquez sur l'image d'un familier pour qu'il rejoigne votre avatar. Donnez à vos familiers la nourriture que vous trouvez dès la fin du niveau 3, et ils deviendront de puissantes montures.", "welcomeToTavern": "Bienvenue dans la taverne !", "sleepDescription": "Besoin d'une pause ? Prenez une chambre à l'auberge de Daniel pour mettre en veille les aspects d'Habitica les plus complexes :", - "sleepBullet1": "Les quotidiennes non validées ne feront plus de dommages", + "sleepBullet1": "Les tâches quotidiennes non validées ne feront plus de dommages", "sleepBullet2": "Les combos ne seront pas interrompus et leur couleur n'évoluera plus", - "sleepBullet3": "Les boss ne vous infligeront pas de dégâts pour vos propres quotidiennes manquées", + "sleepBullet3": "Les boss ne vous infligeront pas de dégâts pour vos propres tâches quotidiennes manquées", "sleepBullet4": "Les dommages aux boss et la collecte des objets de quête resteront en instance jusqu'à la sortie de la taverne", "pauseDailies": "Désactiver les dégâts", "unpauseDailies": "Activer les dégâts", diff --git a/website/common/locales/fr/settings.json b/website/common/locales/fr/settings.json index 1e69056485..c6d10cf71f 100644 --- a/website/common/locales/fr/settings.json +++ b/website/common/locales/fr/settings.json @@ -210,5 +210,7 @@ "onlyPrivateSpaces": "Seulement sur les espaces privés", "everywhere": "Partout", "suggestMyUsername": "Suggérer mon identifiant", - "mentioning": "Mentions" + "mentioning": "Mentions", + "chatExtensionDesc": "L'extension de discussion pour Habitica ajoute une fenêtre de discussion intuitive à tout habitica.com. Cela permet à chacun de discuter dans la taverne, avec son équipe ou dans les guildes.", + "chatExtension": "Extension de discussion Chrome and Extension de discussion Firefox" } diff --git a/website/common/locales/ja/achievements.json b/website/common/locales/ja/achievements.json index 53bcd065f8..be8087615a 100644 --- a/website/common/locales/ja/achievements.json +++ b/website/common/locales/ja/achievements.json @@ -20,5 +20,19 @@ "achievementJustAddWaterText": "タコ、タツノオトシゴ、コウイカ、クジラ、カメ、ウミウシ、シーサーペント、イルカのペットクエストを完了しました。", "achievementJustAddWaterModalText": "タコ、タツノオトシゴ、コウイカ、クジラ、カメ、ウミウシ、シーサーペント、イルカのペットクエストを完了しました!", "achievementPartyOn": "4人のメンバーがいるパーティーに発展しました!", - "achievementPartyUp": "仲間たちとパーティーを組みました!" + "achievementPartyUp": "仲間たちとパーティーを組みました!", + "achievementMonsterMagusModalText": "ゾンビのペットをすべて集めました!", + "achievementMonsterMagusText": "ゾンビのペットをすべて集めました。", + "achievementMonsterMagus": "魔物使い", + "achievementAridAuthorityModalText": "砂漠の乗騎をすべて手なずけました!", + "achievementAridAuthorityText": "砂漠の乗騎をすべて手なずけました。", + "achievementAridAuthority": "不毛の大家", + "achievementDustDevilModalText": "砂漠のペットをすべて集めました!", + "achievementDustDevilText": "砂漠のペットをすべて集めました。", + "achievementDustDevil": "塵旋風", + "achievementKickstarter2019": "Pin Kickstarter支援者", + "achievementKickstarter2019Text": "2019年のPin Kickstarterプロジェクトで支援しました", + "achievementUndeadUndertaker": "不死の葬儀屋", + "achievementUndeadUndertakerModalText": "ゾンビの乗騎をすべて手なずけました!", + "achievementUndeadUndertakerText": "ゾンビの乗騎をすべて手なずけました。" } diff --git a/website/common/locales/la/tasks.json b/website/common/locales/la/tasks.json index 83e971dc89..144550323b 100755 --- a/website/common/locales/la/tasks.json +++ b/website/common/locales/la/tasks.json @@ -1,5 +1,5 @@ { - "clearCompleted": "Delete Completed", + "clearCompleted": "Perfeci ut res delevissem.", "clearCompletedDescription": "Completed To-Dos are deleted after 30 days for non-subscribers and 90 days for subscribers.", "clearCompletedConfirm": "Are you sure you want to delete your completed To-Dos?", "sureDeleteCompletedTodos": "Are you sure you want to delete your completed To-Dos?", @@ -210,4 +210,4 @@ "searchTasks": "Search titles and descriptions...", "sessionOutdated": "Your session is outdated. Please refresh or sync.", "errorTemporaryItem": "This item is temporary and cannot be pinned." -} \ No newline at end of file +} diff --git a/website/common/locales/pt_BR/settings.json b/website/common/locales/pt_BR/settings.json index 6ef838e563..f143ed903d 100644 --- a/website/common/locales/pt_BR/settings.json +++ b/website/common/locales/pt_BR/settings.json @@ -210,5 +210,7 @@ "onlyPrivateSpaces": "Apenas em espaços privados", "everywhere": "Em toda parte", "suggestMyUsername": "Sugerir meu nome de usuário", - "mentioning": "Menção" + "mentioning": "Menção", + "chatExtensionDesc": "As extensões de bate-papo para o Habitica adiciona uma caixa intuitiva de conversação para todos os espaços sociais do habitica.com. Isso permite que os usuários conversem na Taverna, em seu grupo e nas guildas as quais fazem parte.", + "chatExtension": "Extensão de Bate-papo para o Chrome e Extensão de bate-papo para o Firefox" } diff --git a/website/common/locales/ru/settings.json b/website/common/locales/ru/settings.json index 84f6ed95f6..7e06a2c752 100644 --- a/website/common/locales/ru/settings.json +++ b/website/common/locales/ru/settings.json @@ -210,5 +210,7 @@ "onlyPrivateSpaces": "Только в частных пространствах", "everywhere": "Везде", "suggestMyUsername": "Предложить моё имя пользователя", - "mentioning": "Упоминание" + "mentioning": "Упоминание", + "chatExtensionDesc": "Чат расширение для Habitica добавит интуитивно-понятное окно чата для всего сайта habitica.com. Оно позволяет пользователям общаться в таверне, их команде и всех их гильдиях.", + "chatExtension": "чат расширение для Chrome и чат расширение для Firefox" } diff --git a/website/common/locales/vi/death.json b/website/common/locales/vi/death.json index dacccf599d..fdcf2a0664 100755 --- a/website/common/locales/vi/death.json +++ b/website/common/locales/vi/death.json @@ -1,10 +1,10 @@ { - "lostAllHealth": "Bạn đã hết Máu!", + "lostAllHealth": "Bạn đã mất hết Máu!", "dontDespair": "Đừng tuyệt vọng!", - "deathPenaltyDetails": "Bạn bị rớt một cấp, mất tất cả vàng và một mảnh Trang Phục, nhưng bạn có thể lấy lại tất cả bằng sự chăm chỉ! Chúc may mắn - bạn sẽ làm được.", - "refillHealthTryAgain": "Hồi lại Máu & Thử Lại", - "dyingOftenTips": "Việc này có xảy ra thường xuyên không? Sau đây là một vài mánh khóe!", - "losingHealthWarning": "Cẩn thận! - Bạn Đang Mất Máu!", + "deathPenaltyDetails": "Bạn bị rớt một cấp, mất tất cả vàng và một mảnh Trang bị, nhưng bạn có thể lấy lại tất cả bằng sự chăm chỉ! Chúc may mắn -- bạn sẽ làm được.", + "refillHealthTryAgain": "Hồi phục Máu & Thử lại", + "dyingOftenTips": "Việc này có xảy ra thường xuyên không? Sau đây là một vài mẹo!", + "losingHealthWarning": "Cẩn thận! - Bạn đang mất Máu!", "losingHealthWarning2": "Đừng để Máu của bạn trở về 0! Nếu làm thế, bạn sẽ bị rớt một cấp độ, mất tất cả vàng và một mảnh trang phục.", "toRegainHealth": "Để hồi lại Máu:", "lowHealthTips1": "Lên cấp để hồi lại toàn bộ máu!", @@ -14,4 +14,4 @@ "lowHealthTips4": "Nếu một công việc hàng ngày không kết thúc vào một ngày nhất định, bạn có thể vô hiệu hoá nó bằng cách nhấn vào biểu tượng bút chì.", "goodLuck": "Chúc may mắn!", "cannotRevive": "Không thể hồi sinh nếu bạn chưa chết" -} \ No newline at end of file +} diff --git a/website/common/locales/zh/gear.json b/website/common/locales/zh/gear.json index aff762f971..55f1655a0d 100644 --- a/website/common/locales/zh/gear.json +++ b/website/common/locales/zh/gear.json @@ -1930,5 +1930,6 @@ "armorMystery201910Text": "隐秘的护甲", "armorMystery201909Notes": "你的强硬的外壳会保护你,可是你还应该留意松鼠… 没有增益效果。2019 年 9 月订阅赠品。", "armorMystery201909Text": "友好的橡子护甲", - "armorSpecialFall2019MageNotes": "它的同名遇到一个悲惨的结果。但是,你不会这么容易被骗!带了这个传奇的罩衫,没人会超过你。增加 <%= int %>点体质。2019年秋季限定装备。" + "armorSpecialFall2019MageNotes": "它的同名遇到一个悲惨的结果。但是,你不会这么容易被骗!带了这个传奇的罩衫,没人会超过你。增加 <%= int %>点体质。2019年秋季限定装备。", + "eyewearSpecialKS2019Text": "神话的狮鹫面罩" } From 6705ce0decf8a6a2d25a92b2b8b842b8f039ffe0 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Mon, 25 Nov 2019 08:09:49 -0600 Subject: [PATCH 04/28] Use new indexes in GDPR script (#11567) * fix(script): use new indexes * fix(lint): linting errors * fix(lint): moar lint --- scripts/gdpr-delete-users.js | 61 ++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/scripts/gdpr-delete-users.js b/scripts/gdpr-delete-users.js index cfa95d29a3..954f6bf8f8 100644 --- a/scripts/gdpr-delete-users.js +++ b/scripts/gdpr-delete-users.js @@ -24,7 +24,13 @@ async function deleteAmplitudeData (userId, email) { console.log(err.response.data); }); - if (response) console.log(`${response.status} ${response.statusText}`); + if (response) { + if (response.status === 200) { + console.log(`${userId} (${email}) Amplitude deletion request OK.`); + } else { + console.log(`${userId} (${email}) Amplitude response: ${response.status} ${response.statusText}`); + } + } } async function deleteHabiticaData (user, email) { @@ -54,39 +60,46 @@ async function deleteHabiticaData (user, email) { }); if (response) { - console.log(`${response.status} ${response.statusText}`); - if (response.status === 200) console.log(`${user._id} (${email}) removed. Last login: ${user.auth.timestamps.loggedin}`); + if (response.status === 200) { + console.log(`${user._id} (${email}) removed from Habitica. Last login: ${user.auth.timestamps.loggedin}`); + } else { + console.log(`${user._id} (${email}) Habitica response: ${response.status} ${response.statusText}`); + } } } async function processEmailAddress (email) { const emailRegex = new RegExp(`^${email}$`, 'i'); - const users = await User.find({ - $or: [ - { 'auth.local.email': emailRegex }, - { 'auth.facebook.emails.value': emailRegex }, - { 'auth.google.emails.value': emailRegex }, - ], - }, - { - _id: 1, - apiToken: 1, - auth: 1, - }).exec(); + const localUsers = await User.find( + { 'auth.local.email': emailRegex }, + { _id: 1, apiToken: 1, auth: 1 }, + ).exec(); + + const socialUsers = await User.find( + { + $or: [ + { 'auth.facebook.emails.value': email }, + { 'auth.google.emails.value': email }, + ], + }, + { _id: 1, apiToken: 1, auth: 1 }, + ).collation( + { locale: 'en', strength: 1 }, + ).exec(); + + const users = localUsers.concat(socialUsers); if (users.length < 1) { - console.log(`No users found with email address ${email}`); - } else { - Promise.all(users.map(user => (async () => { - await deleteAmplitudeData(user._id, email); // eslint-disable-line no-await-in-loop - await deleteHabiticaData(user, email); // eslint-disable-line no-await-in-loop - })())); + return console.log(`No users found with email address ${email}`); } + + return Promise.all(users.map(user => (async () => { + await deleteAmplitudeData(user._id, email); // eslint-disable-line no-await-in-loop + await deleteHabiticaData(user, email); // eslint-disable-line no-await-in-loop + })())); } -function deleteUserData (emails) { +export default function deleteUserData (emails) { const emailPromises = emails.map(processEmailAddress); return Promise.all(emailPromises); } - -module.exports = deleteUserData; From 9af9c553d49a03a3376b788af74e6d748d13b4e6 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:42:05 +0100 Subject: [PATCH 05/28] build(deps): bump svg-url-loader from 3.0.2 to 3.0.3 in /website/client (#11570) Bumps [svg-url-loader](https://github.com/bhovhannes/svg-url-loader) from 3.0.2 to 3.0.3. - [Release notes](https://github.com/bhovhannes/svg-url-loader/releases) - [Commits](https://github.com/bhovhannes/svg-url-loader/compare/v3.0.2...v3.0.3) Signed-off-by: dependabot-preview[bot] --- website/client/package-lock.json | 28 ++++++++++++++++++++++++---- website/client/package.json | 2 +- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/website/client/package-lock.json b/website/client/package-lock.json index 87deaff110..20fc2db6fb 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -10653,12 +10653,32 @@ "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=" }, "svg-url-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-3.0.2.tgz", - "integrity": "sha512-MUJFVU2uuOTZW6Eq6NuXZxhaIyWiuKtZMcT90nCkcvIZPGGc0CYyZWYP/rtXUkja5qagNMpxDwdZ/tuC6ywfWg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-3.0.3.tgz", + "integrity": "sha512-MKGiRNDs8fnHcZcPkhGcw9+130IXyFM9H8m6T7u3ScUuZYEeVzX0vNMru30D4MCF6vMYas5iw/Ru9lwFKBjaGw==", "requires": { - "file-loader": "~4.2.0", + "file-loader": "~4.3.0", "loader-utils": "~1.2.3" + }, + "dependencies": { + "file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", + "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + } + }, + "schema-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.5.0.tgz", + "integrity": "sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ==", + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } } }, "svgo": { diff --git a/website/client/package.json b/website/client/package.json index 89b07e0d8f..77ac059198 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -41,7 +41,7 @@ "sass-loader": "^8.0.0", "smartbanner.js": "^1.14.5", "svg-inline-loader": "^0.8.0", - "svg-url-loader": "^3.0.2", + "svg-url-loader": "^3.0.3", "svgo": "^1.3.2", "svgo-loader": "^2.2.1", "uuid": "^3.3.3", From 750ce0d6cc42dee8bc1116ee87dff1b03a2f9f84 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:42:16 +0100 Subject: [PATCH 06/28] build(deps): bump amplitude-js from 5.6.0 to 5.7.0 in /website/client (#11569) Bumps [amplitude-js](https://github.com/amplitude/amplitude-javascript) from 5.6.0 to 5.7.0. - [Release notes](https://github.com/amplitude/amplitude-javascript/releases) - [Changelog](https://github.com/amplitude/Amplitude-JavaScript/blob/master/CHANGELOG.md) - [Commits](https://github.com/amplitude/amplitude-javascript/commits/v5.7.0) Signed-off-by: dependabot-preview[bot] --- website/client/package-lock.json | 6 +++--- website/client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/website/client/package-lock.json b/website/client/package-lock.json index 20fc2db6fb..31ea2c5fdb 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -1798,9 +1798,9 @@ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, "amplitude-js": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-5.6.0.tgz", - "integrity": "sha512-XGaM0sTvMOrVYqfHhkKEikjQ/SzhEGbupxYopcrzEpEuNLenSOIBMyB0JycBcFI1hTWR4rGJ2TDRqIeRMmUZvg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-5.7.0.tgz", + "integrity": "sha512-nKE5oJhfuGTxUlJje4XJ7hpRmCTkM1G4sKRvk9vFxo/SsgHZ2qofd9a5Bvk/OKO2N4P9RMyLRa0byJ9j6NIAeg==", "requires": { "@amplitude/ua-parser-js": "0.7.20", "blueimp-md5": "^2.10.0", diff --git a/website/client/package.json b/website/client/package.json index 77ac059198..47c8ee9294 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -17,7 +17,7 @@ "@vue/cli-plugin-unit-mocha": "^4.0.5", "@vue/cli-service": "^4.0.5", "@vue/test-utils": "1.0.0-beta.29", - "amplitude-js": "^5.6.0", + "amplitude-js": "^5.7.0", "axios": "^0.19.0", "axios-progress-bar": "^1.2.0", "babel-eslint": "^10.0.1", From ffe5340cf2e59279983206dccbfdbc55b7c64006 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:42:26 +0100 Subject: [PATCH 07/28] build(deps): bump eslint from 6.6.0 to 6.7.1 in /website/client (#11568) Bumps [eslint](https://github.com/eslint/eslint) from 6.6.0 to 6.7.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v6.6.0...v6.7.1) Signed-off-by: dependabot-preview[bot] --- website/client/package-lock.json | 89 +++++++++++++++++++++++--------- website/client/package.json | 2 +- 2 files changed, 66 insertions(+), 25 deletions(-) diff --git a/website/client/package-lock.json b/website/client/package-lock.json index 31ea2c5fdb..d07b5f0462 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -1825,17 +1825,17 @@ "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==" }, "ansi-escapes": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", - "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", "requires": { - "type-fest": "^0.5.2" + "type-fest": "^0.8.1" }, "dependencies": { "type-fest": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", - "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==" + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" } } }, @@ -4257,9 +4257,9 @@ } }, "eslint": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.6.0.tgz", - "integrity": "sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.7.1.tgz", + "integrity": "sha512-UWzBS79pNcsDSxgxbdjkmzn/B6BhsXMfUaOHnNwyE8nD+Q6pyT96ow2MccVayUTV4yMid4qLhMiQaywctRkBLA==", "requires": { "@babel/code-frame": "^7.0.0", "ajv": "^6.10.0", @@ -4276,7 +4276,7 @@ "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", - "globals": "^11.7.0", + "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -4289,7 +4289,7 @@ "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.2", + "optionator": "^0.8.3", "progress": "^2.0.0", "regexpp": "^2.0.1", "semver": "^6.1.2", @@ -4317,15 +4317,36 @@ "is-glob": "^4.0.1" } }, + "globals": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "requires": { + "type-fest": "^0.8.1" + } + }, "import-fresh": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", - "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -4340,6 +4361,11 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==" + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" } } }, @@ -4568,11 +4594,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==" - }, - "acorn-jsx": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", - "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==" } } }, @@ -6343,6 +6364,11 @@ "through": "^2.3.6" }, "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -6384,13 +6410,23 @@ } }, "string-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", - "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^5.2.0" + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } } } } @@ -11840,6 +11876,11 @@ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", diff --git a/website/client/package.json b/website/client/package.json index 47c8ee9294..53dfa73d2d 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -25,7 +25,7 @@ "bootstrap-vue": "^2.1.0", "chai": "^4.1.2", "core-js": "^3.4.1", - "eslint": "^6.6.0", + "eslint": "^6.7.1", "eslint-config-habitrpg": "^6.2.0", "eslint-plugin-mocha": "^5.3.0", "eslint-plugin-vue": "^6.0.1", From f939208cdb7c385e5c089a317904a7e9720dfc68 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:42:34 +0100 Subject: [PATCH 08/28] build(deps): bump @babel/preset-env from 7.7.1 to 7.7.4 (#11587) Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.1 to 7.7.4. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.7.1...v7.7.4) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 682 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 342 insertions(+), 342 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0dd4399ed7..cb77c35219 100644 --- a/package-lock.json +++ b/package-lock.json @@ -122,132 +122,132 @@ } }, "@babel/generator": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.2.tgz", - "integrity": "sha512-WthSArvAjYLz4TcbKOi88me+KmDJdKSlfwwN8CnUYn9jBkzhq0ZEPuBfkAWIvjJ3AdEV1Cf/+eSQTnp3IDJKlQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", + "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", "requires": { - "@babel/types": "^7.7.2", + "@babel/types": "^7.7.4", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.0.tgz", - "integrity": "sha512-k50CQxMlYTYo+GGyUGFwpxKVtxVJi9yh61sXZji3zYHccK9RYliZGSTOgci85T+r+0VFN2nWbGM04PIqwfrpMg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz", + "integrity": "sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==", "requires": { - "@babel/types": "^7.7.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.0.tgz", - "integrity": "sha512-Cd8r8zs4RKDwMG/92lpZcnn5WPQ3LAMQbCw42oqUh4s7vsSN5ANUZjMel0OOnxDLq57hoDDbai+ryygYfCTOsw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz", + "integrity": "sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==", "requires": { - "@babel/helper-explode-assignable-expression": "^7.7.0", - "@babel/types": "^7.7.0" + "@babel/helper-explode-assignable-expression": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-call-delegate": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.0.tgz", - "integrity": "sha512-Su0Mdq7uSSWGZayGMMQ+z6lnL00mMCnGAbO/R0ZO9odIdB/WNU/VfQKqMQU0fdIsxQYbRjDM4BixIa93SQIpvw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz", + "integrity": "sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==", "requires": { - "@babel/helper-hoist-variables": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0" + "@babel/helper-hoist-variables": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.2.tgz", - "integrity": "sha512-pAil/ZixjTlrzNpjx+l/C/wJk002Wo7XbbZ8oujH/AoJ3Juv0iN/UTcPUHXKMFLqsfS0Hy6Aow8M31brUYBlQQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz", + "integrity": "sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==", "requires": { "@babel/helper-regex": "^7.4.4", "regexpu-core": "^4.6.0" } }, "@babel/helper-define-map": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.0.tgz", - "integrity": "sha512-kPKWPb0dMpZi+ov1hJiwse9dWweZsz3V9rP4KdytnX1E7z3cTNmFGglwklzFPuqIcHLIY3bgKSs4vkwXXdflQA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz", + "integrity": "sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==", "requires": { - "@babel/helper-function-name": "^7.7.0", - "@babel/types": "^7.7.0", + "@babel/helper-function-name": "^7.7.4", + "@babel/types": "^7.7.4", "lodash": "^4.17.13" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.0.tgz", - "integrity": "sha512-CDs26w2shdD1urNUAji2RJXyBFCaR+iBEGnFz3l7maizMkQe3saVw9WtjG1tz8CwbjvlFnaSLVhgnu1SWaherg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz", + "integrity": "sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==", "requires": { - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0" + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-function-name": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.0.tgz", - "integrity": "sha512-tDsJgMUAP00Ugv8O2aGEua5I2apkaQO7lBGUq1ocwN3G23JE5Dcq0uh3GvFTChPa4b40AWiAsLvCZOA2rdnQ7Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", "requires": { - "@babel/helper-get-function-arity": "^7.7.0", - "@babel/template": "^7.7.0", - "@babel/types": "^7.7.0" + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-get-function-arity": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.0.tgz", - "integrity": "sha512-tLdojOTz4vWcEnHWHCuPN5P85JLZWbm5Fx5ZsMEMPhF3Uoe3O7awrbM2nQ04bDOUToH/2tH/ezKEOR8zEYzqyw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", "requires": { - "@babel/types": "^7.7.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-hoist-variables": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.0.tgz", - "integrity": "sha512-LUe/92NqsDAkJjjCEWkNe+/PcpnisvnqdlRe19FahVapa4jndeuJ+FBiTX1rcAKWKcJGE+C3Q3tuEuxkSmCEiQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz", + "integrity": "sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==", "requires": { - "@babel/types": "^7.7.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.0.tgz", - "integrity": "sha512-QaCZLO2RtBcmvO/ekOLp8p7R5X2JriKRizeDpm5ChATAFWrrYDcDxPuCIBXKyBjY+i1vYSdcUTMIb8psfxHDPA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz", + "integrity": "sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==", "requires": { - "@babel/types": "^7.7.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-module-imports": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.0.tgz", - "integrity": "sha512-Dv3hLKIC1jyfTkClvyEkYP2OlkzNvWs5+Q8WgPbxM5LMeorons7iPP91JM+DU7tRbhqA1ZeooPaMFvQrn23RHw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", + "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", "requires": { - "@babel/types": "^7.7.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-module-transforms": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.0.tgz", - "integrity": "sha512-rXEefBuheUYQyX4WjV19tuknrJFwyKw0HgzRwbkyTbB+Dshlq7eqkWbyjzToLrMZk/5wKVKdWFluiAsVkHXvuQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.4.tgz", + "integrity": "sha512-ehGBu4mXrhs0FxAqN8tWkzF8GSIGAiEumu4ONZ/hD9M88uHcD+Yu2ttKfOCgwzoesJOJrtQh7trI5YPbRtMmnA==", "requires": { - "@babel/helper-module-imports": "^7.7.0", - "@babel/helper-simple-access": "^7.7.0", - "@babel/helper-split-export-declaration": "^7.7.0", - "@babel/template": "^7.7.0", - "@babel/types": "^7.7.0", + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-simple-access": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4", "lodash": "^4.17.13" } }, "@babel/helper-optimise-call-expression": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.0.tgz", - "integrity": "sha512-48TeqmbazjNU/65niiiJIJRc5JozB8acui1OS7bSd6PgxfuovWsvjfWSzlgx+gPFdVveNzUdpdIg5l56Pl5jqg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz", + "integrity": "sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==", "requires": { - "@babel/types": "^7.7.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-plugin-utils": { @@ -264,54 +264,54 @@ } }, "@babel/helper-remap-async-to-generator": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.0.tgz", - "integrity": "sha512-pHx7RN8X0UNHPB/fnuDnRXVZ316ZigkO8y8D835JlZ2SSdFKb6yH9MIYRU4fy/KPe5sPHDFOPvf8QLdbAGGiyw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz", + "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==", "requires": { - "@babel/helper-annotate-as-pure": "^7.7.0", - "@babel/helper-wrap-function": "^7.7.0", - "@babel/template": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0" + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-wrap-function": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-replace-supers": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.0.tgz", - "integrity": "sha512-5ALYEul5V8xNdxEeWvRsBzLMxQksT7MaStpxjJf9KsnLxpAKBtfw5NeMKZJSYDa0lKdOcy0g+JT/f5mPSulUgg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz", + "integrity": "sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.7.0", - "@babel/helper-optimise-call-expression": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0" + "@babel/helper-member-expression-to-functions": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-simple-access": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.0.tgz", - "integrity": "sha512-AJ7IZD7Eem3zZRuj5JtzFAptBw7pMlS3y8Qv09vaBWoFsle0d1kAn5Wq6Q9MyBXITPOKnxwkZKoAm4bopmv26g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz", + "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==", "requires": { - "@babel/template": "^7.7.0", - "@babel/types": "^7.7.0" + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-split-export-declaration": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.0.tgz", - "integrity": "sha512-HgYSI8rH08neWlAH3CcdkFg9qX9YsZysZI5GD8LjhQib/mM0jGOZOVkoUiiV2Hu978fRtjtsGsW6w0pKHUWtqA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", "requires": { - "@babel/types": "^7.7.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-wrap-function": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.0.tgz", - "integrity": "sha512-sd4QjeMgQqzshSjecZjOp8uKfUtnpmCyQhKQrVJBBgeHAB/0FPi33h3AbVlVp07qQtMD4QgYSzaMI7VwncNK/w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz", + "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==", "requires": { - "@babel/helper-function-name": "^7.7.0", - "@babel/template": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0" + "@babel/helper-function-name": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helpers": { @@ -415,439 +415,439 @@ } }, "@babel/parser": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.3.tgz", - "integrity": "sha512-bqv+iCo9i+uLVbI0ILzKkvMorqxouI+GbV13ivcARXn9NNEabi2IEz912IgNpT/60BNXac5dgcfjb94NjsF33A==" + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", + "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.0.tgz", - "integrity": "sha512-ot/EZVvf3mXtZq0Pd0+tSOfGWMizqmOohXmNZg6LNFjHOV+wOPv7BvVYh8oPR8LhpIP3ye8nNooKL50YRWxpYA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz", + "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.7.0", - "@babel/plugin-syntax-async-generators": "^7.2.0" + "@babel/helper-remap-async-to-generator": "^7.7.4", + "@babel/plugin-syntax-async-generators": "^7.7.4" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.0.tgz", - "integrity": "sha512-7poL3Xi+QFPC7sGAzEIbXUyYzGJwbc2+gSD0AkiC5k52kH2cqHdqxm5hNFfLW3cRSTcx9bN0Fl7/6zWcLLnKAQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz", + "integrity": "sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0" + "@babel/plugin-syntax-dynamic-import": "^7.7.4" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", - "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz", + "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.2.0" + "@babel/plugin-syntax-json-strings": "^7.7.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz", - "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + "@babel/plugin-syntax-object-rest-spread": "^7.7.4" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.0.tgz", - "integrity": "sha512-mk34H+hp7kRBWJOOAR0ZMGCydgKMD4iN9TpDRp3IIcbunltxEY89XSimc6WbtSLCDrwcdy/EEw7h5CFCzxTchw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz", + "integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.0", + "@babel/helper-create-regexp-features-plugin": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-async-generators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", - "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz", + "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", - "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz", + "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", - "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz", + "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.0.tgz", - "integrity": "sha512-hi8FUNiFIY1fnUI2n1ViB1DR0R4QeK4iHcTlW6aJkrPoTdb8Rf1EMQ6GT3f67DDkYyWgew9DFoOZ6gOoEsdzTA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz", + "integrity": "sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", - "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz", + "integrity": "sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.0.tgz", - "integrity": "sha512-vLI2EFLVvRBL3d8roAMqtVY0Bm9C1QzLkdS57hiKrjUBSqsQYrBsMCeOg/0KK7B0eK9V71J5mWcha9yyoI2tZw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz", + "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==", "requires": { - "@babel/helper-module-imports": "^7.7.0", + "@babel/helper-module-imports": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.7.0" + "@babel/helper-remap-async-to-generator": "^7.7.4" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", - "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz", + "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz", - "integrity": "sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz", + "integrity": "sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "lodash": "^4.17.13" } }, "@babel/plugin-transform-classes": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.0.tgz", - "integrity": "sha512-/b3cKIZwGeUesZheU9jNYcwrEA7f/Bo4IdPmvp7oHgvks2majB5BoT5byAql44fiNQYOPzhk2w8DbgfuafkMoA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz", + "integrity": "sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==", "requires": { - "@babel/helper-annotate-as-pure": "^7.7.0", - "@babel/helper-define-map": "^7.7.0", - "@babel/helper-function-name": "^7.7.0", - "@babel/helper-optimise-call-expression": "^7.7.0", + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-define-map": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.7.0", - "@babel/helper-split-export-declaration": "^7.7.0", + "@babel/helper-replace-supers": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", - "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz", + "integrity": "sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-destructuring": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", - "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz", + "integrity": "sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.0.tgz", - "integrity": "sha512-3QQlF7hSBnSuM1hQ0pS3pmAbWLax/uGNCbPBND9y+oJ4Y776jsyujG2k0Sn2Aj2a0QwVOiOFL5QVPA7spjvzSA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz", + "integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.0", + "@babel/helper-create-regexp-features-plugin": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", - "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz", + "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", - "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz", + "integrity": "sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-for-of": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", - "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz", + "integrity": "sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.0.tgz", - "integrity": "sha512-P5HKu0d9+CzZxP5jcrWdpe7ZlFDe24bmqP6a6X8BHEBl/eizAsY8K6LX8LASZL0Jxdjm5eEfzp+FIrxCm/p8bA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz", + "integrity": "sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==", "requires": { - "@babel/helper-function-name": "^7.7.0", + "@babel/helper-function-name": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", - "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz", + "integrity": "sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", - "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz", + "integrity": "sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", - "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz", + "integrity": "sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ==", "requires": { - "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-module-transforms": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.0.tgz", - "integrity": "sha512-KEMyWNNWnjOom8vR/1+d+Ocz/mILZG/eyHHO06OuBQ2aNhxT62fr4y6fGOplRx+CxCSp3IFwesL8WdINfY/3kg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.4.tgz", + "integrity": "sha512-k8iVS7Jhc367IcNF53KCwIXtKAH7czev866ThsTgy8CwlXjnKZna2VHwChglzLleYrcHz1eQEIJlGRQxB53nqA==", "requires": { - "@babel/helper-module-transforms": "^7.7.0", + "@babel/helper-module-transforms": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.7.0", + "@babel/helper-simple-access": "^7.7.4", "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.0.tgz", - "integrity": "sha512-ZAuFgYjJzDNv77AjXRqzQGlQl4HdUM6j296ee4fwKVZfhDR9LAGxfvXjBkb06gNETPnN0sLqRm9Gxg4wZH6dXg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz", + "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==", "requires": { - "@babel/helper-hoist-variables": "^7.7.0", + "@babel/helper-hoist-variables": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.0.tgz", - "integrity": "sha512-u7eBA03zmUswQ9LQ7Qw0/ieC1pcAkbp5OQatbWUzY1PaBccvuJXUkYzoN1g7cqp7dbTu6Dp9bXyalBvD04AANA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz", + "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==", "requires": { - "@babel/helper-module-transforms": "^7.7.0", + "@babel/helper-module-transforms": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.0.tgz", - "integrity": "sha512-+SicSJoKouPctL+j1pqktRVCgy+xAch1hWWTMy13j0IflnyNjaoskj+DwRQFimHbLqO3sq2oN2CXMvXq3Bgapg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz", + "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.0" + "@babel/helper-create-regexp-features-plugin": "^7.7.4" } }, "@babel/plugin-transform-new-target": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", - "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz", + "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-object-super": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", - "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz", + "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5" + "@babel/helper-replace-supers": "^7.7.4" } }, "@babel/plugin-transform-parameters": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", - "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz", + "integrity": "sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw==", "requires": { - "@babel/helper-call-delegate": "^7.4.4", - "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-call-delegate": "^7.7.4", + "@babel/helper-get-function-arity": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-property-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", - "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz", + "integrity": "sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-regenerator": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.0.tgz", - "integrity": "sha512-AXmvnC+0wuj/cFkkS/HFHIojxH3ffSXE+ttulrqWjZZRaUOonfJc60e1wSNT4rV8tIunvu/R3wCp71/tLAa9xg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.4.tgz", + "integrity": "sha512-e7MWl5UJvmPEwFJTwkBlPmqixCtr9yAASBqff4ggXTNicZiwbF8Eefzm6NVgfiBp7JdAGItecnctKTgH44q2Jw==", "requires": { "regenerator-transform": "^0.14.0" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", - "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz", + "integrity": "sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", - "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz", + "integrity": "sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-spread": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz", - "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz", + "integrity": "sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", - "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz", + "integrity": "sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-regex": "^7.0.0" } }, "@babel/plugin-transform-template-literals": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", - "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz", + "integrity": "sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-annotate-as-pure": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", - "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz", + "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.0.tgz", - "integrity": "sha512-RrThb0gdrNwFAqEAAx9OWgtx6ICK69x7i9tCnMdVrxQwSDp/Abu9DXFU5Hh16VP33Rmxh04+NGW28NsIkFvFKA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz", + "integrity": "sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.0", + "@babel/helper-create-regexp-features-plugin": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/preset-env": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.1.tgz", - "integrity": "sha512-/93SWhi3PxcVTDpSqC+Dp4YxUu3qZ4m7I76k0w73wYfn7bGVuRIO4QUz95aJksbS+AD1/mT1Ie7rbkT0wSplaA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.4.tgz", + "integrity": "sha512-Dg+ciGJjwvC1NIe/DGblMbcGq1HOtKbw8RLl4nIjlfcILKEOkWT/vRqPpumswABEBVudii6dnVwrBtzD7ibm4g==", "requires": { - "@babel/helper-module-imports": "^7.7.0", + "@babel/helper-module-imports": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.7.0", - "@babel/plugin-proposal-dynamic-import": "^7.7.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.6.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.7.0", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-syntax-top-level-await": "^7.7.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.7.0", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.6.3", - "@babel/plugin-transform-classes": "^7.7.0", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.6.0", - "@babel/plugin-transform-dotall-regex": "^7.7.0", - "@babel/plugin-transform-duplicate-keys": "^7.5.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.4.4", - "@babel/plugin-transform-function-name": "^7.7.0", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-member-expression-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.5.0", - "@babel/plugin-transform-modules-commonjs": "^7.7.0", - "@babel/plugin-transform-modules-systemjs": "^7.7.0", - "@babel/plugin-transform-modules-umd": "^7.7.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.0", - "@babel/plugin-transform-new-target": "^7.4.4", - "@babel/plugin-transform-object-super": "^7.5.5", - "@babel/plugin-transform-parameters": "^7.4.4", - "@babel/plugin-transform-property-literals": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.7.0", - "@babel/plugin-transform-reserved-words": "^7.2.0", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.6.2", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.4.4", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.7.0", - "@babel/types": "^7.7.1", + "@babel/plugin-proposal-async-generator-functions": "^7.7.4", + "@babel/plugin-proposal-dynamic-import": "^7.7.4", + "@babel/plugin-proposal-json-strings": "^7.7.4", + "@babel/plugin-proposal-object-rest-spread": "^7.7.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.7.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.7.4", + "@babel/plugin-syntax-async-generators": "^7.7.4", + "@babel/plugin-syntax-dynamic-import": "^7.7.4", + "@babel/plugin-syntax-json-strings": "^7.7.4", + "@babel/plugin-syntax-object-rest-spread": "^7.7.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4", + "@babel/plugin-syntax-top-level-await": "^7.7.4", + "@babel/plugin-transform-arrow-functions": "^7.7.4", + "@babel/plugin-transform-async-to-generator": "^7.7.4", + "@babel/plugin-transform-block-scoped-functions": "^7.7.4", + "@babel/plugin-transform-block-scoping": "^7.7.4", + "@babel/plugin-transform-classes": "^7.7.4", + "@babel/plugin-transform-computed-properties": "^7.7.4", + "@babel/plugin-transform-destructuring": "^7.7.4", + "@babel/plugin-transform-dotall-regex": "^7.7.4", + "@babel/plugin-transform-duplicate-keys": "^7.7.4", + "@babel/plugin-transform-exponentiation-operator": "^7.7.4", + "@babel/plugin-transform-for-of": "^7.7.4", + "@babel/plugin-transform-function-name": "^7.7.4", + "@babel/plugin-transform-literals": "^7.7.4", + "@babel/plugin-transform-member-expression-literals": "^7.7.4", + "@babel/plugin-transform-modules-amd": "^7.7.4", + "@babel/plugin-transform-modules-commonjs": "^7.7.4", + "@babel/plugin-transform-modules-systemjs": "^7.7.4", + "@babel/plugin-transform-modules-umd": "^7.7.4", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", + "@babel/plugin-transform-new-target": "^7.7.4", + "@babel/plugin-transform-object-super": "^7.7.4", + "@babel/plugin-transform-parameters": "^7.7.4", + "@babel/plugin-transform-property-literals": "^7.7.4", + "@babel/plugin-transform-regenerator": "^7.7.4", + "@babel/plugin-transform-reserved-words": "^7.7.4", + "@babel/plugin-transform-shorthand-properties": "^7.7.4", + "@babel/plugin-transform-spread": "^7.7.4", + "@babel/plugin-transform-sticky-regex": "^7.7.4", + "@babel/plugin-transform-template-literals": "^7.7.4", + "@babel/plugin-transform-typeof-symbol": "^7.7.4", + "@babel/plugin-transform-unicode-regex": "^7.7.4", + "@babel/types": "^7.7.4", "browserslist": "^4.6.0", "core-js-compat": "^3.1.1", "invariant": "^2.2.2", @@ -868,35 +868,35 @@ } }, "@babel/template": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.0.tgz", - "integrity": "sha512-OKcwSYOW1mhWbnTBgQY5lvg1Fxg+VyfQGjcBduZFljfc044J5iDlnDSfhQ867O17XHiSCxYHUxHg2b7ryitbUQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", "requires": { "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/types": "^7.7.0" + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/traverse": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.2.tgz", - "integrity": "sha512-TM01cXib2+rgIZrGJOLaHV/iZUAxf4A0dt5auY6KNZ+cm6aschuJGqKJM3ROTt3raPUdIDk9siAufIFEleRwtw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", "requires": { "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.2", - "@babel/helper-function-name": "^7.7.0", - "@babel/helper-split-export-declaration": "^7.7.0", - "@babel/parser": "^7.7.2", - "@babel/types": "^7.7.2", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" } }, "@babel/types": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.2.tgz", - "integrity": "sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -2639,13 +2639,13 @@ "dev": true }, "browserslist": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.2.tgz", - "integrity": "sha512-uZavT/gZXJd2UTi9Ov7/Z340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.3.tgz", + "integrity": "sha512-jWvmhqYpx+9EZm/FxcZSbUZyDEvDTLDi3nSAKbzEkyWvtI0mNSmUosey+5awDW1RUlrgXbQb5A6qY1xQH9U6MQ==", "requires": { - "caniuse-lite": "^1.0.30001004", - "electron-to-chromium": "^1.3.295", - "node-releases": "^1.1.38" + "caniuse-lite": "^1.0.30001010", + "electron-to-chromium": "^1.3.306", + "node-releases": "^1.1.40" } }, "bson": { @@ -2792,9 +2792,9 @@ "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" }, "caniuse-lite": { - "version": "1.0.30001008", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001008.tgz", - "integrity": "sha512-b8DJyb+VVXZGRgJUa30cbk8gKHZ3LOZTBLaUEEVr2P4xpmFigOCc62CO4uzquW641Ouq1Rm9N+rWLWdSYDaDIw==" + "version": "1.0.30001012", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001012.tgz", + "integrity": "sha512-7RR4Uh04t9K1uYRWzOJmzplgEOAXbfK72oVNokCdMzA67trrhPzy93ahKk1AWHiA0c58tD2P+NHqxrA8FZ+Trg==" }, "capture-stack-trace": { "version": "1.0.1", @@ -3470,11 +3470,11 @@ "dev": true }, "core-js-compat": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.4.0.tgz", - "integrity": "sha512-pgQUcgT2+v9/yxHgMynYjNj7nmxLRXv3UC39rjCjDwpe63ev2rioQTju1PKLYUBbPCQQvZNWvQC8tBJd65q11g==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.4.2.tgz", + "integrity": "sha512-W0Aj+LM3EAxxjD0Kp2o4be8UlnxIZHNupBv2znqrheR4aY2nOn91794k/xoSp+SxqqriiZpTsSwBtZr60cbkwQ==", "requires": { - "browserslist": "^4.7.2", + "browserslist": "^4.7.3", "semver": "^6.3.0" }, "dependencies": { @@ -4239,9 +4239,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.306", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.306.tgz", - "integrity": "sha512-frDqXvrIROoYvikSKTIKbHbzO6M3/qC6kCIt/1FOa9kALe++c4VAJnwjSFvf1tYLEUsP2n9XZ4XSCyqc3l7A/A==" + "version": "1.3.314", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.314.tgz", + "integrity": "sha512-IKDR/xCxKFhPts7h+VaSXS02Z1mznP3fli1BbXWXeN89i2gCzKraU8qLpEid8YzKcmZdZD3Mly3cn5/lY9xsBQ==" }, "emitter-listener": { "version": "1.1.2", @@ -9588,9 +9588,9 @@ } }, "node-releases": { - "version": "1.1.39", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.39.tgz", - "integrity": "sha512-8MRC/ErwNCHOlAFycy9OPca46fQYUjbJRDcZTHVWIGXIjYLM73k70vv3WkYutVnM4cCo4hE0MqBVVZjP6vjISA==", + "version": "1.1.41", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.41.tgz", + "integrity": "sha512-+IctMa7wIs8Cfsa8iYzeaLTFwv5Y4r5jZud+4AnfymzeEXKBCavFX0KBgzVaPVqf0ywa6PrO8/b+bPqdwjGBSg==", "requires": { "semver": "^6.3.0" }, diff --git a/package.json b/package.json index 85d99c4141..9f86afc65b 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.7.2", - "@babel/preset-env": "^7.7.1", + "@babel/preset-env": "^7.7.4", "@babel/register": "^7.7.0", "@google-cloud/trace-agent": "^4.2.3", "@slack/client": "^3.8.1", From cf75888ffe665ebca11511ae28349b12b26d496b Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:42:44 +0100 Subject: [PATCH 09/28] build(deps): bump superagent from 5.1.0 to 5.1.1 (#11586) Bumps [superagent](https://github.com/visionmedia/superagent) from 5.1.0 to 5.1.1. - [Release notes](https://github.com/visionmedia/superagent/releases) - [Changelog](https://github.com/visionmedia/superagent/blob/master/HISTORY.md) - [Commits](https://github.com/visionmedia/superagent/compare/v5.1.0...v5.1.1) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index cb77c35219..9e78771124 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12133,9 +12133,9 @@ "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=" }, "superagent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-5.1.0.tgz", - "integrity": "sha512-7V6JVx5N+eTL1MMqRBX0v0bG04UjrjAvvZJTF/VDH/SH2GjSLqlrcYepFlpTrXpm37aSY6h3GGVWGxXl/98TKA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-5.1.1.tgz", + "integrity": "sha512-bpTO/3yQsHPH5w6f7qPCWGTuhEV2w93fwFGpYODnUc5tPa3rmbHUCmwC7iuEFBQQJsyhiW1WVc/ISpfAEv6ojQ==", "requires": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.2", @@ -12161,9 +12161,9 @@ } }, "qs": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.0.tgz", - "integrity": "sha512-27RP4UotQORTpmNQDX8BHPukOnBP3p1uUJY5UnDhaJB+rMt9iMsok724XL+UHU23bEFOHRMQ2ZhI99qOWUMGFA==" + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==" }, "readable-stream": { "version": "3.4.0", diff --git a/package.json b/package.json index 9f86afc65b..19c2459267 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "rimraf": "^3.0.0", "short-uuid": "^3.0.0", "stripe": "^7.13.0", - "superagent": "^5.0.2", + "superagent": "^5.1.1", "universal-analytics": "^0.4.17", "useragent": "^2.1.9", "uuid": "^3.3.3", From 95c8302c9ad741c665072184f448b0435aa2bd53 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:43:14 +0100 Subject: [PATCH 10/28] build(deps): bump bcrypt from 3.0.6 to 3.0.7 (#11581) Bumps [bcrypt](https://github.com/kelektiv/node.bcrypt.js) from 3.0.6 to 3.0.7. - [Release notes](https://github.com/kelektiv/node.bcrypt.js/releases) - [Changelog](https://github.com/kelektiv/node.bcrypt.js/blob/master/CHANGELOG.md) - [Commits](https://github.com/kelektiv/node.bcrypt.js/compare/v3.0.6...v3.0.7) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 26 +++++++++++++++++--------- package.json | 2 +- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9e78771124..12ed4e4ebb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2187,12 +2187,19 @@ } }, "bcrypt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-3.0.6.tgz", - "integrity": "sha512-taA5bCTfXe7FUjKroKky9EXpdhkVvhE5owfxfLYodbrAR1Ul3juLmIQmIQBK4L9a5BuUcE6cqmwT+Da20lF9tg==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-3.0.7.tgz", + "integrity": "sha512-K5UglF9VQvBMHl/1elNyyFvAfOY9Bj+rpKrCSR9sFwcW8FywAYJSRwTURNej5TaAK2TEJkcJ6r6lh1YPmspx5Q==", "requires": { - "nan": "2.13.2", - "node-pre-gyp": "0.12.0" + "nan": "2.14.0", + "node-pre-gyp": "0.13.0" + }, + "dependencies": { + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + } } }, "bcrypt-pbkdf": { @@ -9242,7 +9249,8 @@ "nan": { "version": "2.13.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", + "optional": true }, "nanomatch": { "version": "1.2.13", @@ -9561,9 +9569,9 @@ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" }, "node-pre-gyp": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", - "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz", + "integrity": "sha512-Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ==", "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", diff --git a/package.json b/package.json index 19c2459267..7ed49e6415 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "apidoc": "^0.17.5", "apn": "^2.2.0", "aws-sdk": "^2.573.0", - "bcrypt": "^3.0.6", + "bcrypt": "^3.0.7", "body-parser": "^1.18.3", "compression": "^1.7.4", "cookie-session": "^1.3.3", From 62986426bad2888002d6e75b586695bfcec6ffc0 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:44:12 +0100 Subject: [PATCH 11/28] build(deps): bump mongoose from 5.7.11 to 5.7.12 (#11577) Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.7.11 to 5.7.12. - [Release notes](https://github.com/Automattic/mongoose/releases) - [Changelog](https://github.com/Automattic/mongoose/blob/master/History.md) - [Commits](https://github.com/Automattic/mongoose/compare/5.7.11...5.7.12) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 12ed4e4ebb..ab0180ba85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9079,9 +9079,9 @@ } }, "mongoose": { - "version": "5.7.11", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.7.11.tgz", - "integrity": "sha512-KpXGBTXQTKfTlePpZMY+FBsk9wiyp2gzfph9AsLPfWleK1x2GJY+6xpKx2kKIgLustgNq16OOrqwlAOGUbv3kg==", + "version": "5.7.12", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.7.12.tgz", + "integrity": "sha512-TqRiJPUeHN1u7Xs/zQmiMHcrzEb1/uKjK3uGzZhyqw25RKQiMV2vSBeBTMt5HXoYlUuDEWXE75FMjpK9X9kD0w==", "requires": { "bson": "~1.1.1", "kareem": "2.3.1", diff --git a/package.json b/package.json index 7ed49e6415..9d1994faea 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "method-override": "^3.0.0", "moment": "^2.24.0", "moment-recur": "^1.0.7", - "mongoose": "^5.7.11", + "mongoose": "^5.7.12", "morgan": "^1.7.0", "nconf": "^0.10.0", "node-gcm": "^1.0.2", From 6a6963103b7a9118d092f4181166d6a694c731bf Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:44:41 +0100 Subject: [PATCH 12/28] build(deps): bump sass from 1.23.6 to 1.23.7 in /website/client (#11572) Bumps [sass](https://github.com/sass/dart-sass) from 1.23.6 to 1.23.7. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.23.6...1.23.7) Signed-off-by: dependabot-preview[bot] --- website/client/package-lock.json | 6 +++--- website/client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/website/client/package-lock.json b/website/client/package-lock.json index d07b5f0462..beae1041f3 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -9815,9 +9815,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.23.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.6.tgz", - "integrity": "sha512-awBvj9xrAuiS2TOCcYSUGCmaBV3UW6fVSK4oJ2LHS8IRfnRLc5EJihw90C7ZJ/skcEwFGSf9/XO5NlMiKupBCg==", + "version": "1.23.7", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.7.tgz", + "integrity": "sha512-cYgc0fanwIpi0rXisGxl+/wadVQ/HX3RhpdRcjLdj2o2ye/sxUTpAxIhbmJy3PLQgRFbf6Pn8Jsrta2vdXcoOQ==", "requires": { "chokidar": ">=2.0.0 <4.0.0" } diff --git a/website/client/package.json b/website/client/package.json index 53dfa73d2d..6aea066bab 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -37,7 +37,7 @@ "lodash": "^4.17.15", "moment": "^2.24.0", "nconf": "^0.10.0", - "sass": "^1.23.6", + "sass": "^1.23.7", "sass-loader": "^8.0.0", "smartbanner.js": "^1.14.5", "svg-inline-loader": "^0.8.0", From 2dea0c0b9c0d179a36b5b59de61832851bc4440f Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 14:44:45 +0000 Subject: [PATCH 13/28] build(deps): bump @babel/register from 7.7.0 to 7.7.4 Bumps [@babel/register](https://github.com/babel/babel) from 7.7.0 to 7.7.4. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.7.0...v7.7.4) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9e78771124..49e19ee9e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -856,9 +856,9 @@ } }, "@babel/register": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.7.0.tgz", - "integrity": "sha512-HV3GJzTvSoyOMWGYn2TAh6uL6g+gqKTgEZ99Q3+X9UURT1VPT/WcU46R61XftIc5rXytcOHZ4Z0doDlsjPomIg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.7.4.tgz", + "integrity": "sha512-/fmONZqL6ZMl9KJUYajetCrID6m0xmL4odX7v+Xvoxcv0DdbP/oO0TWIeLUCHqczQ6L6njDMqmqHFy2cp3FFsA==", "requires": { "find-cache-dir": "^2.0.0", "lodash": "^4.17.13", diff --git a/package.json b/package.json index 19c2459267..3fec75d063 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "dependencies": { "@babel/core": "^7.7.2", "@babel/preset-env": "^7.7.4", - "@babel/register": "^7.7.0", + "@babel/register": "^7.7.4", "@google-cloud/trace-agent": "^4.2.3", "@slack/client": "^3.8.1", "accepts": "^1.3.5", From d3a4c3eaeaaafe13b346f722c87755f136a77b8c Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 14:44:49 +0000 Subject: [PATCH 14/28] build(deps): bump smartbanner.js in /website/client Bumps [smartbanner.js](https://github.com/ain/smartbanner.js) from 1.14.6 to 1.15.0. - [Release notes](https://github.com/ain/smartbanner.js/releases) - [Commits](https://github.com/ain/smartbanner.js/compare/v1.14.6...v1.15.0) Signed-off-by: dependabot-preview[bot] --- website/client/package-lock.json | 6 +++--- website/client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/website/client/package-lock.json b/website/client/package-lock.json index d07b5f0462..bb0d73c1f9 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -10126,9 +10126,9 @@ } }, "smartbanner.js": { - "version": "1.14.6", - "resolved": "https://registry.npmjs.org/smartbanner.js/-/smartbanner.js-1.14.6.tgz", - "integrity": "sha512-yAc7ueVIiQ3kyHrQxOZncZiEFv6ubXxWj5E01xj45njFk8XZ8zG3VpAFPl70Yvmv/H0L/qjxOmQqF3H3T0j/SQ==" + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/smartbanner.js/-/smartbanner.js-1.15.0.tgz", + "integrity": "sha512-a82o2llcEB8KLjMaqeeeZxevRiPSiKbXsUoep1wMunkwggDUStkgXI56c6Qt54Elh9qo3ZrRHJTh5HvVm68o+g==" }, "snapdragon": { "version": "0.8.2", diff --git a/website/client/package.json b/website/client/package.json index 53dfa73d2d..6c1ad67c87 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -39,7 +39,7 @@ "nconf": "^0.10.0", "sass": "^1.23.6", "sass-loader": "^8.0.0", - "smartbanner.js": "^1.14.5", + "smartbanner.js": "^1.15.0", "svg-inline-loader": "^0.8.0", "svg-url-loader": "^3.0.3", "svgo": "^1.3.2", From 49b8ec22f4a45e9ade295e348382f065f9566129 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 14:44:55 +0000 Subject: [PATCH 15/28] build(deps): bump stripe from 7.13.0 to 7.13.1 Bumps [stripe](https://github.com/stripe/stripe-node) from 7.13.0 to 7.13.1. - [Release notes](https://github.com/stripe/stripe-node/releases) - [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md) - [Commits](https://github.com/stripe/stripe-node/compare/v7.13.0...v7.13.1) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9e78771124..5be90e3ca1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12113,9 +12113,9 @@ "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=" }, "stripe": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/stripe/-/stripe-7.13.0.tgz", - "integrity": "sha512-txnnBWAcwIsQ4/P3gYp74C0O9hONDVjKBlPTSG4GheDTZ0V5rkpoFYbuv4g8LvmrPMCZmz3chZ/nunnrTli4Iw==", + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/stripe/-/stripe-7.13.1.tgz", + "integrity": "sha512-aF9F/M10MulZumSrwoDULBOZKqNUvyYA22Bg6u98VJEH/2Dck60W1FcT793WhsHHa/+z6TPR/8Ev7GNq1+SYOQ==", "requires": { "qs": "^6.6.0" }, diff --git a/package.json b/package.json index 19c2459267..ce9b83b945 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "regenerator-runtime": "^0.13.3", "rimraf": "^3.0.0", "short-uuid": "^3.0.0", - "stripe": "^7.13.0", + "stripe": "^7.13.1", "superagent": "^5.1.1", "universal-analytics": "^0.4.17", "useragent": "^2.1.9", From f9c288acdff9ac37c8ffb93a17e0f93f1e1ce309 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:45:06 +0100 Subject: [PATCH 16/28] build(deps): bump core-js from 3.4.1 to 3.4.2 in /website/client (#11575) Bumps [core-js](https://github.com/zloirock/core-js) from 3.4.1 to 3.4.2. - [Release notes](https://github.com/zloirock/core-js/releases) - [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/zloirock/core-js/compare/v3.4.1...v3.4.2) Signed-off-by: dependabot-preview[bot] --- website/client/package-lock.json | 6 +++--- website/client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/website/client/package-lock.json b/website/client/package-lock.json index beae1041f3..576206446f 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -3283,9 +3283,9 @@ } }, "core-js": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.4.1.tgz", - "integrity": "sha512-KX/dnuY/J8FtEwbnrzmAjUYgLqtk+cxM86hfG60LGiW3MmltIc2yAmDgBgEkfm0blZhUrdr1Zd84J2Y14mLxzg==" + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.4.2.tgz", + "integrity": "sha512-bUTfqFWtNKWp73oNIfRkqwYZJeNT3lstzZcAkhhiuvDraRSgOH1/+F9ZklbpR4zpdKuo4cpXN8tKP7s61yjX+g==" }, "core-js-compat": { "version": "3.3.4", diff --git a/website/client/package.json b/website/client/package.json index 6aea066bab..285c36f621 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -24,7 +24,7 @@ "bootstrap": "^4.3.1", "bootstrap-vue": "^2.1.0", "chai": "^4.1.2", - "core-js": "^3.4.1", + "core-js": "^3.4.2", "eslint": "^6.7.1", "eslint-config-habitrpg": "^6.2.0", "eslint-plugin-mocha": "^5.3.0", From e82d415d5fe004c2b844ab21f9c638d0024922a4 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:45:36 +0100 Subject: [PATCH 17/28] build(deps): bump @babel/core from 7.7.2 to 7.7.4 (#11579) Bumps [@babel/core](https://github.com/babel/babel) from 7.7.2 to 7.7.4. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.7.2...v7.7.4) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 188 ++++------------------------------------------ package.json | 2 +- 2 files changed, 16 insertions(+), 174 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8701cdb3d8..f603c1e81c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,17 +13,17 @@ } }, "@babel/core": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.2.tgz", - "integrity": "sha512-eeD7VEZKfhK1KUXGiyPFettgF3m513f8FoBSWiQ1xTvl1RAopLs42Wp9+Ze911I6H0N9lNqJMDgoZT7gHsipeQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", + "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", "requires": { "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.2", - "@babel/helpers": "^7.7.0", - "@babel/parser": "^7.7.2", - "@babel/template": "^7.7.0", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.7.2", + "@babel/generator": "^7.7.4", + "@babel/helpers": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "json5": "^2.1.0", @@ -33,84 +33,6 @@ "source-map": "^0.5.0" }, "dependencies": { - "@babel/generator": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.2.tgz", - "integrity": "sha512-WthSArvAjYLz4TcbKOi88me+KmDJdKSlfwwN8CnUYn9jBkzhq0ZEPuBfkAWIvjJ3AdEV1Cf/+eSQTnp3IDJKlQ==", - "requires": { - "@babel/types": "^7.7.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.0.tgz", - "integrity": "sha512-tDsJgMUAP00Ugv8O2aGEua5I2apkaQO7lBGUq1ocwN3G23JE5Dcq0uh3GvFTChPa4b40AWiAsLvCZOA2rdnQ7Q==", - "requires": { - "@babel/helper-get-function-arity": "^7.7.0", - "@babel/template": "^7.7.0", - "@babel/types": "^7.7.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.0.tgz", - "integrity": "sha512-tLdojOTz4vWcEnHWHCuPN5P85JLZWbm5Fx5ZsMEMPhF3Uoe3O7awrbM2nQ04bDOUToH/2tH/ezKEOR8zEYzqyw==", - "requires": { - "@babel/types": "^7.7.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.0.tgz", - "integrity": "sha512-HgYSI8rH08neWlAH3CcdkFg9qX9YsZysZI5GD8LjhQib/mM0jGOZOVkoUiiV2Hu978fRtjtsGsW6w0pKHUWtqA==", - "requires": { - "@babel/types": "^7.7.0" - } - }, - "@babel/parser": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.3.tgz", - "integrity": "sha512-bqv+iCo9i+uLVbI0ILzKkvMorqxouI+GbV13ivcARXn9NNEabi2IEz912IgNpT/60BNXac5dgcfjb94NjsF33A==" - }, - "@babel/template": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.0.tgz", - "integrity": "sha512-OKcwSYOW1mhWbnTBgQY5lvg1Fxg+VyfQGjcBduZFljfc044J5iDlnDSfhQ867O17XHiSCxYHUxHg2b7ryitbUQ==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/types": "^7.7.0" - } - }, - "@babel/traverse": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.2.tgz", - "integrity": "sha512-TM01cXib2+rgIZrGJOLaHV/iZUAxf4A0dt5auY6KNZ+cm6aschuJGqKJM3ROTt3raPUdIDk9siAufIFEleRwtw==", - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.2", - "@babel/helper-function-name": "^7.7.0", - "@babel/helper-split-export-declaration": "^7.7.0", - "@babel/parser": "^7.7.2", - "@babel/types": "^7.7.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.2.tgz", - "integrity": "sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, "convert-source-map": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", @@ -315,93 +237,13 @@ } }, "@babel/helpers": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.0.tgz", - "integrity": "sha512-VnNwL4YOhbejHb7x/b5F39Zdg5vIQpUUNzJwx0ww1EcVRt41bbGRZWhAURrfY32T5zTT3qwNOQFWpn+P0i0a2g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", + "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", "requires": { - "@babel/template": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0" - }, - "dependencies": { - "@babel/generator": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.2.tgz", - "integrity": "sha512-WthSArvAjYLz4TcbKOi88me+KmDJdKSlfwwN8CnUYn9jBkzhq0ZEPuBfkAWIvjJ3AdEV1Cf/+eSQTnp3IDJKlQ==", - "requires": { - "@babel/types": "^7.7.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.0.tgz", - "integrity": "sha512-tDsJgMUAP00Ugv8O2aGEua5I2apkaQO7lBGUq1ocwN3G23JE5Dcq0uh3GvFTChPa4b40AWiAsLvCZOA2rdnQ7Q==", - "requires": { - "@babel/helper-get-function-arity": "^7.7.0", - "@babel/template": "^7.7.0", - "@babel/types": "^7.7.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.0.tgz", - "integrity": "sha512-tLdojOTz4vWcEnHWHCuPN5P85JLZWbm5Fx5ZsMEMPhF3Uoe3O7awrbM2nQ04bDOUToH/2tH/ezKEOR8zEYzqyw==", - "requires": { - "@babel/types": "^7.7.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.0.tgz", - "integrity": "sha512-HgYSI8rH08neWlAH3CcdkFg9qX9YsZysZI5GD8LjhQib/mM0jGOZOVkoUiiV2Hu978fRtjtsGsW6w0pKHUWtqA==", - "requires": { - "@babel/types": "^7.7.0" - } - }, - "@babel/parser": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.3.tgz", - "integrity": "sha512-bqv+iCo9i+uLVbI0ILzKkvMorqxouI+GbV13ivcARXn9NNEabi2IEz912IgNpT/60BNXac5dgcfjb94NjsF33A==" - }, - "@babel/template": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.0.tgz", - "integrity": "sha512-OKcwSYOW1mhWbnTBgQY5lvg1Fxg+VyfQGjcBduZFljfc044J5iDlnDSfhQ867O17XHiSCxYHUxHg2b7ryitbUQ==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/types": "^7.7.0" - } - }, - "@babel/traverse": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.2.tgz", - "integrity": "sha512-TM01cXib2+rgIZrGJOLaHV/iZUAxf4A0dt5auY6KNZ+cm6aschuJGqKJM3ROTt3raPUdIDk9siAufIFEleRwtw==", - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.2", - "@babel/helper-function-name": "^7.7.0", - "@babel/helper-split-export-declaration": "^7.7.0", - "@babel/parser": "^7.7.2", - "@babel/types": "^7.7.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.2.tgz", - "integrity": "sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/highlight": { diff --git a/package.json b/package.json index 2d472f7099..eeea50f80c 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "version": "4.122.0", "main": "./website/server/index.js", "dependencies": { - "@babel/core": "^7.7.2", + "@babel/core": "^7.7.4", "@babel/preset-env": "^7.7.4", "@babel/register": "^7.7.4", "@google-cloud/trace-agent": "^4.2.3", From af7ce402e5f34b4519200bd42dc911e9acfa0fa5 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:45:51 +0100 Subject: [PATCH 18/28] build(deps): bump eslint from 6.6.0 to 6.7.1 (#11580) Bumps [eslint](https://github.com/eslint/eslint) from 6.6.0 to 6.7.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v6.6.0...v6.7.1) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 87 ++++++++++++++++++++++++++++++++--------------- package.json | 2 +- 2 files changed, 60 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index f603c1e81c..79cbdd59bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1260,11 +1260,11 @@ } }, "ansi-escapes": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", - "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", "requires": { - "type-fest": "^0.5.2" + "type-fest": "^0.8.1" } }, "ansi-gray": { @@ -4247,9 +4247,9 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.6.0.tgz", - "integrity": "sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.7.1.tgz", + "integrity": "sha512-UWzBS79pNcsDSxgxbdjkmzn/B6BhsXMfUaOHnNwyE8nD+Q6pyT96ow2MccVayUTV4yMid4qLhMiQaywctRkBLA==", "requires": { "@babel/code-frame": "^7.0.0", "ajv": "^6.10.0", @@ -4266,7 +4266,7 @@ "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", - "globals": "^11.7.0", + "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -4279,7 +4279,7 @@ "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.2", + "optionator": "^0.8.3", "progress": "^2.0.0", "regexpp": "^2.0.1", "semver": "^6.1.2", @@ -4295,6 +4295,14 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, + "globals": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "requires": { + "type-fest": "^0.8.1" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -7124,9 +7132,9 @@ } }, "import-fresh": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", - "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -7302,9 +7310,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -7312,13 +7320,23 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", - "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^5.2.0" + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } } }, "strip-ansi": { @@ -7327,6 +7345,13 @@ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "requires": { "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + } } } } @@ -9790,16 +9815,16 @@ } }, "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "requires": { "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", + "fast-levenshtein": "~2.0.6", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "word-wrap": "~1.2.3" } }, "options": { @@ -12441,9 +12466,9 @@ "dev": true }, "type-fest": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", - "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==" + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" }, "type-is": { "version": "1.6.18", @@ -13374,10 +13399,16 @@ "triple-beam": "^1.2.0" } }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true }, "wrap-ansi": { "version": "2.1.0", diff --git a/package.json b/package.json index eeea50f80c..05731f4ec3 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "csv-stringify": "^5.1.0", "cwait": "^1.1.1", "domain-middleware": "~0.1.0", - "eslint": "^6.6.0", + "eslint": "^6.7.1", "eslint-config-habitrpg": "^6.2.0", "eslint-plugin-mocha": "^5.0.0", "express": "^4.16.3", From ca8b232e014eb549741758e0661e6f0f530b100e Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 15:46:24 +0100 Subject: [PATCH 19/28] build(deps): bump aws-sdk from 2.573.0 to 2.578.0 (#11583) Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.573.0 to 2.578.0. - [Release notes](https://github.com/aws/aws-sdk-js/releases) - [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js/compare/v2.573.0...v2.578.0) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 79cbdd59bc..ddb5803657 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1707,9 +1707,9 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "aws-sdk": { - "version": "2.573.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.573.0.tgz", - "integrity": "sha512-NC6A0d96aowA1L1UW8idNTUnDTzjoCysiZY0rDiumMu9jhAouLp07ffc2sXgTWg9pWvXrEex2Aeps9oQWq/6OA==", + "version": "2.578.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.578.0.tgz", + "integrity": "sha512-QOot7ha8J+w+AQf1UNzpGpbcZtCaK/mqjenG177ybm2nvm00a4PKa5dz/kF/bYi2qMx9yJmiQ17kn32Q5ar8Kg==", "requires": { "buffer": "^4.9.1", "events": "^1.1.1", diff --git a/package.json b/package.json index 05731f4ec3..469db065ad 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "amplitude": "^3.5.0", "apidoc": "^0.17.5", "apn": "^2.2.0", - "aws-sdk": "^2.573.0", + "aws-sdk": "^2.578.0", "bcrypt": "^3.0.7", "body-parser": "^1.18.3", "compression": "^1.7.4", From a1d31e37a3c4a5e1003995c8ca266997825313c0 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Mon, 25 Nov 2019 09:02:23 -0600 Subject: [PATCH 20/28] fix(strings): corrections --- website/client/src/components/groups/tavern.vue | 3 --- website/common/locales/en/gear.json | 4 ++-- website/common/locales/en/npc.json | 1 - 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/website/client/src/components/groups/tavern.vue b/website/client/src/components/groups/tavern.vue index 449de7baa6..dbe0a31bd5 100644 --- a/website/client/src/components/groups/tavern.vue +++ b/website/client/src/components/groups/tavern.vue @@ -235,9 +235,6 @@
  • {{ $t('sleepBullet1') }}
  • -
  • - {{ $t('sleepBullet2') }} -
  • {{ $t('sleepBullet3') }}
  • diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index 4c70bfb3ff..ed1a146e6a 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -354,7 +354,7 @@ "weaponMystery201811Text": "Splendid Sorcerer's Staff", "weaponMystery201811Notes": "This magical stave is as powerful as it is elegant. Confers no benefit. November 2018 Subscriber Item.", "weaponMystery201911Text": "Charmed Crystal Staff", - "weaponMystery201911Notes": "The crystal ball atop this staff can show you the future, but beware! Using such dangerous knowledge can change a person in unexpected ways. Confers no benefit. December 2019 Subscriber Item.", + "weaponMystery201911Notes": "The crystal ball atop this staff can show you the future, but beware! Using such dangerous knowledge can change a person in unexpected ways. Confers no benefit. November 2019 Subscriber Item.", "weaponMystery301404Text": "Steampunk Cane", "weaponMystery301404Notes": "Excellent for taking a turn about town. March 3015 Subscriber Item. Confers no benefit.", @@ -1410,7 +1410,7 @@ "headMystery201910Text": "Cryptic Flame", "headMystery201910Notes": "These flames reveal arcane secrets before your very eyes! Confers no benefit. October 2019 Subscriber Item.", "headMystery201911Text": "Charmed Crystal Hat", - "headMystery201911Notes": "Each of the crystal points attached to this hat endows you with a special power: mystic clairvoyance, arcane wisdom, and... sorcerous plate spinning? All right then. Confers no benefit. December 2019 Subscriber Item.", + "headMystery201911Notes": "Each of the crystal points attached to this hat endows you with a special power: mystic clairvoyance, arcane wisdom, and... sorcerous plate spinning? All right then. Confers no benefit. November 2019 Subscriber Item.", "headMystery301404Text": "Fancy Top Hat", "headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.", "headMystery301405Text": "Basic Top Hat", diff --git a/website/common/locales/en/npc.json b/website/common/locales/en/npc.json index 40d7df6b6b..d668821e26 100644 --- a/website/common/locales/en/npc.json +++ b/website/common/locales/en/npc.json @@ -23,7 +23,6 @@ "welcomeToTavern": "Welcome to The Tavern!", "sleepDescription": "Need a break? Check into Daniel's Inn to pause some of Habitica's more difficult game mechanics:", "sleepBullet1": "Missed Dailies won't damage you", - "sleepBullet2": "Tasks won't lose streaks or decay in color", "sleepBullet3": "Bosses won't do damage for your own missed Dailies", "sleepBullet4": "Your boss damage or collection Quest items will stay pending until check-out", "pauseDailies": "Pause Damage", From bff88434fd8676a7b6bc82fedfd5df0afbec51a8 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Mon, 25 Nov 2019 09:03:04 -0600 Subject: [PATCH 21/28] fix(resting): correction corrections --- website/client/src/components/groups/tavern.vue | 3 +++ website/common/locales/en/npc.json | 1 + 2 files changed, 4 insertions(+) diff --git a/website/client/src/components/groups/tavern.vue b/website/client/src/components/groups/tavern.vue index dbe0a31bd5..449de7baa6 100644 --- a/website/client/src/components/groups/tavern.vue +++ b/website/client/src/components/groups/tavern.vue @@ -235,6 +235,9 @@
  • {{ $t('sleepBullet1') }}
  • +
  • + {{ $t('sleepBullet2') }} +
  • {{ $t('sleepBullet3') }}
  • diff --git a/website/common/locales/en/npc.json b/website/common/locales/en/npc.json index d668821e26..19c4a62bd3 100644 --- a/website/common/locales/en/npc.json +++ b/website/common/locales/en/npc.json @@ -23,6 +23,7 @@ "welcomeToTavern": "Welcome to The Tavern!", "sleepDescription": "Need a break? Check into Daniel's Inn to pause some of Habitica's more difficult game mechanics:", "sleepBullet1": "Missed Dailies won't damage you", + "sleepBullet2": "Tasks won't lose streaks", "sleepBullet3": "Bosses won't do damage for your own missed Dailies", "sleepBullet4": "Your boss damage or collection Quest items will stay pending until check-out", "pauseDailies": "Pause Damage", From 91d75bae29719f448dc05975ffa77909ce6bbcba Mon Sep 17 00:00:00 2001 From: negue Date: Mon, 25 Nov 2019 17:07:16 +0100 Subject: [PATCH 22/28] Avatar Edit Modal: addtional none options (#11539) * addtional none options * show gear-"none"-options as active if property has no value --- .../components/avatarModal/extra-settings.vue | 92 +++++++++++++++---- 1 file changed, 72 insertions(+), 20 deletions(-) diff --git a/website/client/src/components/avatarModal/extra-settings.vue b/website/client/src/components/avatarModal/extra-settings.vue index e7587d13ab..764c092921 100644 --- a/website/client/src/components/avatarModal/extra-settings.vue +++ b/website/client/src/components/avatarModal/extra-settings.vue @@ -151,7 +151,13 @@ export default { 'blackTopFrame', 'blueTopFrame', 'greenTopFrame', 'pinkTopFrame', 'redTopFrame', 'whiteTopFrame', 'yellowTopFrame', 'blackHalfMoon', 'blueHalfMoon', 'greenHalfMoon', 'pinkHalfMoon', 'redHalfMoon', 'whiteHalfMoon', 'yellowHalfMoon', ]; - const options = keys.map(key => { + const noneOption = this.createGearItem(0, 'eyewear', 'base'); + noneOption.none = true; + const options = [ + noneOption, + ]; + + for (const key of keys) { const newKey = `eyewear_special_${key}`; const option = {}; option.key = key; @@ -164,8 +170,9 @@ export default { return this.equip(newKey, type); }; - return option; - }); + options.push(option); + } + return options; }, freeShirts () { @@ -179,20 +186,18 @@ export default { }, headbands () { const keys = ['blackHeadband', 'blueHeadband', 'greenHeadband', 'pinkHeadband', 'redHeadband', 'whiteHeadband', 'yellowHeadband']; - const options = keys.map(key => { - const newKey = `headAccessory_special_${key}`; - const option = {}; - option.key = key; - option.active = this.user.preferences.costume - ? this.user.items.gear.costume.headAccessory === newKey - : this.user.items.gear.equipped.headAccessory === newKey; - option.class = `headAccessory_special_${option.key} headband`; - option.click = () => { - const type = this.user.preferences.costume ? 'costume' : 'equipped'; - return this.equip(newKey, type); - }; - return option; - }); + const noneOption = this.createGearItem(0, 'headAccessory', 'base', 'headband'); + noneOption.none = true; + const options = [ + noneOption, + ]; + + for (const key of keys) { + const option = this.createGearItem(key, 'headAccessory', 'special', 'headband'); + + options.push(option); + } + return options; }, chairs () { @@ -234,7 +239,14 @@ export default { // user purchases object, this is not recomputed. Hack for now let backgroundUpdate = this.backgroundUpdate; // eslint-disable-line const keys = this.animalItemKeys[category]; - const options = keys.map(key => { + + const noneOption = this.createGearItem(0, category, 'base', category); + noneOption.none = true; + const options = [ + noneOption, + ]; + + for (const key of keys) { const newKey = `${category}_special_${key}`; const userPurchased = this.user.items.gear.owned[newKey]; @@ -265,8 +277,10 @@ export default { const type = this.user.preferences.costume ? 'costume' : 'equipped'; return this.equip(newKey, type); }; - return option; - }); + + options.push(option); + } + return options; }, animalItemsUnlockString (category) { @@ -285,6 +299,44 @@ export default { }); return own; }, + createGearItem (key, gearType, subGearType, additionalClass) { + const newKey = `${gearType}_${subGearType ? `${subGearType}_` : ''}${key}`; + const option = {}; + option.key = key; + const visibleGearType = this.user.preferences.costume ? 'costume' : 'equipped'; + const currentlyEquippedValue = this.user.items.gear[visibleGearType][gearType]; + + option.active = currentlyEquippedValue === newKey; + + if (key === 0) { + // if key is the "none" option check if a property + // doesn't have a value and mark it as active + option.active = option.active || !currentlyEquippedValue; + } + + option.class = `${newKey} ${additionalClass}`; + option.click = () => { + const type = this.user.preferences.costume ? 'costume' : 'equipped'; + const currentlyEquipped = this.user.items.gear[type][gearType]; + + // no need to call api/equip-op if its already selected + if (currentlyEquipped === newKey || (key === 0 && !currentlyEquipped)) { + return; + } + + let keyToEquip = newKey; + + if (option.none) { + // you need to "equip" the current selected AGAIN in order to un-equip it + // the "none-key" isn't allowed to be sent + keyToEquip = currentlyEquipped; + } + + this.equip(keyToEquip, type); + }; + + return option; + }, }, }; From bfd960b7b6ce7b3db75461be4de4a8f19c065f28 Mon Sep 17 00:00:00 2001 From: Nik <45662151+Nikosmonaut@users.noreply.github.com> Date: Mon, 25 Nov 2019 17:11:01 +0100 Subject: [PATCH 23/28] Force reward value to 0 when empty field (#11564) --- website/client/src/components/tasks/taskModal.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/website/client/src/components/tasks/taskModal.vue b/website/client/src/components/tasks/taskModal.vue index be135b38fe..8c65d32f66 100644 --- a/website/client/src/components/tasks/taskModal.vue +++ b/website/client/src/components/tasks/taskModal.vue @@ -1437,6 +1437,10 @@ export default { this.task.group.sharedCompletion = this.sharedCompletion; } + if (this.task.type === 'reward' && this.task.value === '') { + this.task.value = 0; + } + if (this.purpose === 'create') { if (this.challengeId) { const response = await this.$store.dispatch('tasks:createChallengeTasks', { From 9a6f98b0b5c0682f5e4614206a87d1ddcc42def1 Mon Sep 17 00:00:00 2001 From: citrusella Date: Mon, 25 Nov 2019 11:14:06 -0500 Subject: [PATCH 24/28] Reference group plans in rebirthPop (#11546) --- website/common/locales/en/rebirth.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/common/locales/en/rebirth.json b/website/common/locales/en/rebirth.json index b290945f78..dbc73ba2ef 100644 --- a/website/common/locales/en/rebirth.json +++ b/website/common/locales/en/rebirth.json @@ -21,7 +21,7 @@ "rebirthOrb": "Used an Orb of Rebirth to start over after attaining Level <%= level %>.", "rebirthOrb100": "Used an Orb of Rebirth to start over after attaining Level 100 or higher.", "rebirthOrbNoLevel": "Used an Orb of Rebirth to start over.", - "rebirthPop": "Instantly restart your character as a Level 1 Warrior while retaining achievements, collectibles, and equipment. Your tasks and their history will remain but they will be reset to yellow. Your streaks will be removed except from challenge tasks. Your Gold, Experience, Mana, and the effects of all Skills will be removed. All of this will take effect immediately. For more information, see the wiki's Orb of Rebirth page.", + "rebirthPop": "Instantly restart your character as a Level 1 Warrior while retaining achievements, collectibles, and equipment. Your tasks and their history will remain but they will be reset to yellow. Your streaks will be removed except from tasks belonging to active Challenges and Group Plans. Your Gold, Experience, Mana, and the effects of all Skills will be removed. All of this will take effect immediately. For more information, see the wiki's Orb of Rebirth page.", "rebirthName": "Orb of Rebirth", "reborn": "Reborn, max level <%= reLevel %>", "confirmReborn": "Are you sure?", From f70f7b2a1c948739e4ecaab74812bcabfc90d7df Mon Sep 17 00:00:00 2001 From: Adam Fitzgibbon Date: Mon, 25 Nov 2019 10:19:52 -0600 Subject: [PATCH 25/28] update members list and count when joining or leaving challenge (#11542) * update members list and count when joining or leaving challenge * remove custom ui logic and use response/fetch data to update challenge --- .../src/components/challenges/challengeDetail.vue | 12 ++++++++++-- .../components/challenges/leaveChallengeModal.vue | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/website/client/src/components/challenges/challengeDetail.vue b/website/client/src/components/challenges/challengeDetail.vue index d2cbc7b300..94ad9df3d3 100644 --- a/website/client/src/components/challenges/challengeDetail.vue +++ b/website/client/src/components/challenges/challengeDetail.vue @@ -1,7 +1,7 @@